glob: avoid -Wattribute warnings on glibc
[gnulib.git] / ChangeLog
1 2013-09-04  Eric Blake  <eblake@redhat.com>
2
3         glob: avoid -Wattribute warnings on glibc
4         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
5         __THROWNL, not __THROW, on static functions.
6         * lib/glob.in.h (__THROW): Adjust...
7         (__THROWNL): ...accordingly.
8
9 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
10
11         headers: check that _GL_INLINE_HEADER_BEGIN is defined
12         Suggested by Bruce Korb in:
13         http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00070.html
14         * doc/extern-inline.texi (extern inline):
15         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
16         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
17         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
18         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
19         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
20         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
21         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
22         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
23         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
24         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
25         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
26         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
27         * lib/xtime.h:
28         Check that _GL_INLINE_HEADER_BEGIN is defined.
29
30 2013-08-29  Pádraig Brady  <P@draigBrady.com>
31
32         bootstrap: remove the --version requirement from ancillary tools
33         * build-aux/bootstrap (check_exists): A new refactored function to
34         determine if a command exists.
35         (find_tool): Use the new function which does not require the
36         --version option to be supported.
37         (check_versions): Use the new function.
38
39 2013-08-26  Simon Josefsson  <simon@josefsson.org>
40
41         gc: support HMAC-SHA256 and HMAC-SHA512.
42         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
43         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
44         functions.
45         (gc_hmac_md5): Use symbolic constant.
46         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
47         (gc_hmac_sha256, gc_hmac_sha512): New functions.
48         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
49         * m4/sha256.m4: Protect against empty expansion.
50         * m4/sha512.m4: Likewise.
51         * lib/hmac-sha256.c: New file.
52         * lib/hmac-sha512.c: Likewise.
53         * m4/gc-hmac-sha256.m4: Likewise.
54         * m4/gc-hmac-sha512.m4: Likewise.
55         * m4/gc-sha256.m4: Likewise.
56         * m4/gc-sha512.m4: Likewise.
57         * modules/crypto/gc-hmac-sha256: Likewise.
58         * modules/crypto/gc-hmac-sha256-tests: Likewise.
59         * modules/crypto/gc-hmac-sha512: Likewise.
60         * modules/crypto/gc-hmac-sha512-tests: Likewise.
61         * modules/crypto/hmac-sha256: Likewise.
62         * modules/crypto/hmac-sha256-tests: Likewise.
63         * modules/crypto/hmac-sha512: Likewise.
64         * modules/crypto/hmac-sha512-tests: Likewise.
65         * tests/test-gc-hmac-sha256.c: Likewise.
66         * tests/test-gc-hmac-sha512.c: Likewise
67         * tests/test-hmac-sha256.c: Likewise.
68         * tests/test-hmac-sha512.c: Likewise
69
70 2013-08-24  Daiki Ueno  <ueno@gnu.org>
71
72         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
73         of AC_CHECK_DECLS.
74
75 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
76
77         selinux-at: omit unnecessary include
78         * lib/selinux-at.c: Don't include dosname.h; not needed, since
79         this source file doesn't use its macros, and subsidiary files that
80         use the macros already include it.
81
82 2013-08-21  Eric Blake  <eblake@redhat.com>
83
84         d-ino: avoid false negative on symlink
85         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
86         Reported by Stephane Chazelas.
87
88 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
89
90         bootstrap: port to OpenBSD sed
91         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
92         does not interpret `-' as a file argument to mean stdin.
93
94 2013-08-15  Eric Blake  <eblake@redhat.com>
95
96         warnings: minor optimization
97         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
98
99         warnings: check -Wfoo rather than -Wno-foo
100         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
101         -Wno-, test if the compiler recognizes the positive form instead.
102
103 2013-08-15  Karl Berry  <karl@gnu.org>
104
105         * config/srclist-update: add option "doclicense" to placate
106         pulling *.texi files from Emacs.  Write terse usage
107         documentation at the top.
108
109 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
110
111         xvasprintf-tests: port to GCC with hardening flags
112         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
113         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
114         http://lists.gnu.org/archive/html/bug-diffutils/2013-08/msg00002.html
115
116 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
117
118         fpending: port to recent Cygwin change to stdio_ext.h
119         Reported by LRN in
120         <http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00028.html>.
121         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
122         just declare __fpending unless it's a macro.
123         A duplicate decl shouldn't hurt.
124         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
125         call compiles and links, instead of separately checking for
126         decl and lib function.
127         * modules/fpending (configure-ac):
128         Adjust to fpending.m4's renaming of shell variable.
129
130 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
131
132         sys_time: port to OpenBSD
133         * lib/sys_time.in.h: Simply delegate to the system's header
134         in the BSDish cases as well.  Problem reported by Mike Miller in
135         <http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00016.html>.
136         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
137         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
138         wider than time_t.
139
140 2013-08-09  Pádraig Brady <P@draigBrady.com>
141
142         bootstrap: support checksum utils having -c but not --status
143         * build-aux/bootstrap: Only look for sha1sum if updating po files.
144         Add sha1 to the list of supported checksum utils since it's now
145         supported through adjustments below.
146         (update_po_files): Remove the use of --status
147         in a way that will suppress all error messages, but since this is
148         only used to minimize updates, it shouldn't cause an issue.
149         Exit early if there is a problem updating the po file checksums.
150         (find_tool): Remove the check for --version support as this
151         is optional as per commit 86186b17.  Don't even check for the
152         presence of the command as if that is needed, it's supported
153         through configuring prerequisites in bootstrap.conf.
154         Prompt that when a tool isn't found, one can define an environment
155         variable to add to the hardcoded search list.
156
157 2013-08-05  Jim Meyering  <meyering@fb.com>
158
159         regex: port to non-glibc/lock-using systems
160         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
161         system with GNULIB_LOCK would fail due to absence of the
162         included "glthread/lock.h".  This would affect any package
163         for which the "lock" module is used only by the regex module,
164         and not explicitly used.
165         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
166         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
167         Add a dependency on the "lock" module.
168
169 2013-07-20  Daiki Ueno  <ueno@gnu.org>
170
171         localecharset: make locale_charset thread-safe on Mac OS X
172         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
173         instead of MB_CUR_MAX.
174
175 2013-07-20  Daiki Ueno  <ueno@gnu.org>
176
177         gettext: update to version 0.18.3
178         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
179         require AC_PROG_SED to allow user to specify custom sed command when
180         generating en@quot PO file.
181
182 2013-07-18  Werner Lemberg <wl@gnu.org>  (tiny change)
183
184         bootstrap: use correct source when copying build-aux files
185         * build-aux/bootstrap (gnulib_extra_files): This variable is
186         relative to upstream gnulib layout, not downstream.
187
188 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
189
190         tmpdir: fix bug in VMS port
191         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
192         See Steven M. Schweda in
193         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00026.html>.
194
195 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
196
197         tmpdir: port to VMS, to // != /, and to long dirs
198         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
199         __secure_getenv, so that we're more like the glibc version.
200         All uses changed.
201         (path_search): Don't put slash after directory if __VMS.
202         Problem reported by Steven M. Schweda in
203         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00019.html>.
204         Simplify code to add slash; no need for a loop.
205         Do not remove trailing slash from "//".
206         Do not assume dlen <= INT_MAX.
207
208 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
209
210         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
211         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
212         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
213         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00015.html>.
214
215         accept4, dup3, pipe2: port to Cygwin
216         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
217         * lib/accept4.c (accept4) [O_BINARY]:
218         * lib/dup3.c (dup3) [O_BINARY]:
219         * lib/pipe2.c (pipe2) [O_BINARY]:
220         Use set_binary_mode, not setmode.
221         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
222         * modules/binary-io (Depends-on): Remove module indicator.
223         These last two bits undo the previous change to pipe2 and binary-io.
224
225 2013-07-09  Pádraig Brady  <P@draigBrady.com>
226
227         mountlist: add support for deallocating returned list entries
228         * lib/mountlist.c (free_mount_entry): A new exported function
229         to deallocate a mount list entry.
230         (read_file_system_list): Refactor to use the new deallocation function.
231         Suggested by Anton Ovchinnikov.
232
233 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
234
235         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
236         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
237         * lib/stdalign.in.h (_Alignas, _Alignof):
238         Port to FreeBSD 9.1, and to C11 and C++11.
239         (_Alignas): Also support ICC.
240         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
241         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
242
243 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
244
245         fnmatch: don't goto over declaration
246         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
247         undefined behavior for goto over a declaration.
248         Problem reported by Charlie Brown in
249         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00009.html>.
250
251         pipe2: decouple from binary-io a bit
252         This is for Emacs, which needs pipe2 but not binary-io.
253         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
254         * modules/binary-io (Depends-on): Add module indicator.
255
256 2013-07-03  Eric Blake  <eblake@redhat.com>
257
258         mgetgroups: relax license to LGPLv2+
259         * modules/getugroups (License): Change from GPLv3+.
260         * modules/mgetgroups (License): Likewise.
261         * modules/getgroups (License): Change from LGPLv3+.
262
263         xalloc-oversized: relax license to LGPLv2+
264         * modules/xalloc-oversized (License): Change from GPLv3+.
265
266         nproc: relax license to LGPLv2+
267         * modules/nproc (License): Change from LGPLv3+.
268
269         bootstrap: honor --no-git
270         * build-aux/bootstrap: Don't even try to use git when user is
271         pointing to a static checkout.
272
273 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
274
275         ignore-value: port to gcc -pedantic
276         * lib/ignore-value.h (ignore_value):
277         Port to gcc -pedantic, by using __extension__.
278         Reindent as per usual gnulib style nowadays.
279         Simplify GCC version check.
280
281 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
282
283         extern-inline: port to gcc -std=c89
284         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
285         Do not use __gnu_inline__ if pedantic and pre-C99.
286
287 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
288
289         doc: document extern-inline
290         * doc/extern-inline.texi: New file.
291         * doc/gnulib.texi (alloca-opt): Include it.
292         * m4/extern-inline.m4: Move some comments to documentation,
293         and others closer to what they describe.
294
295         doc: chatter less
296         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
297         (updated-stamp): Use it.  This causes 'make' to output just
298         one file name rather than zillions.
299
300         fflush, fseeko: port to musl cross-compiles
301         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
302         on some implementation that (1) is not known to be buggy,
303         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
304         cross-compiled to so we can't easily check for lack of
305         conformance.  This is for cross-compiling to musl.
306         Reported by Rich Felker in
307         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00043.html>.
308         * m4/fclose.m4 (gl_FUNC_FCLOSE):
309         * m4/fflush.m4 (gl_FUNC_FFLUSH):
310         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
311         Adjust to above change.
312         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
313         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
314         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
315         known not to work, or unknown.
316
317 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
318
319         msvc-inval: port to mingw-w64
320         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
321         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
322         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00039.html>.
323
324 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
325
326         getcwd-lgpl: port to Tru64
327         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
328         Problem reported by Steven M. Schweda in
329         <http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00010.html>.
330
331         tests: port large-fd POSIX spawn tests to OS X
332         Problem reported by Daiki Ueno in
333         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00031.html>.
334         * tests/test-posix_spawn_file_actions_addclose.c:
335         * tests/test-posix_spawn_file_actions_adddup2.c:
336         * tests/test-posix_spawn_file_actions_addopen.c:
337         Include <limits.h>, for OPEN_MAX, if available.
338         (big_fd): New static function.
339         (main): Use it.
340
341 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
342
343         tests/nap.h: use an adaptive delay to avoid ctime update issues
344         The recent change in nap.h (5191133e) decreased the probability of lost
345         races to about a third, however such problems could still be observed
346         in virtual machines and openSUSE's OBS.
347         Before, nap() detected the needed time once empirically and then used
348         that delay (together with a small correction multiplier) in further
349         calls.  This problem has been reported and discussed several times,
350         including guesses about possible kernel issues:
351         https://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html
352         http://lists.gnu.org/archive/html/coreutils/2012-03/msg00088.html
353         https://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00226.html
354         http://bugs.gnu.org/12820
355         https://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html
356         https://lists.gnu.org/archive/html/bug-gnulib/2009-11/msg00007.html
357         Now, nap() avoids the race alltogether by verifying on a reference
358         file whether a timestamp difference has happened.
359         * tests/nap.h (nap_fd): Define file descriptor variable for the
360         witness file.
361         (nap_works): Change return value to bool.  Change passing
362         the old file's status by value instead of by reference as this function
363         does no longer update that timestamp; rename the function argument from
364         st to old_st.  Remove the local variables cdiff and mdiff because that
365         function now returns true/false instead of the precise delay.
366         (guess_delay): Remove function.
367         (clear_tmp_file): Add new function to close and unlink the witness file.
368         (nap): Instead of re-using the delay which has been calculated during
369         the first call, avoid the race by actually verifying that a timestamp
370         difference can be observed on the current file system.  Use an adaptive
371         approach for the delay to minimize execution time.  Assert that the
372         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
373         = 2^31 - 1 = 2.1s.
374         Use atexit to call clear_tmp_file when the process terminates.
375
376 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
377
378         sig2str: port to C++
379         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
380         Reported by Daniel J Sebald in
381         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00000.html>.
382
383 2013-05-30  Eric Blake  <eblake@redhat.com>
384
385         docs: mention cygwin shortcoming in <sys/un.h>
386         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
387
388         vasnprintf: silence mingw compiler warning
389         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
390
391 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
392
393         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
394         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
395         This fixes a porting bug I recently reintroduced in regex, and
396         some other instances that I discovered while testing the fix.
397         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
398         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
399         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
400         with an empty argument if this is a pedantic pre-C99 GCC.
401         * lib/verify.h: Do not use _Static_assert if this is a pedantic
402         pre-C11 GCC.
403
404         regex: adapt to locking regime instead of depending on pthread
405         Instead of depending on pthread, adapt to whatever thread
406         modules are in use.  Problem reported by Ludovic Courtès in
407         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00082.html>
408         and by Mats Erik Andersson in
409         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00100.html>.
410         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
411         Support either the 'lock' module, or the 'pthread' module, or
412         no module.
413         (lock_lock, lock_unlock): New macros.
414         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
415         * modules/lock, modules/pthread (configure.ac): Add module indicator.
416         * modules/regex (Depends-on): Remove pthread.
417
418 2013-05-22  Eric Blake  <eblake@redhat.com>
419
420         getgroups: document portability issues
421         * doc/glibc-functions/initgroups.texi (initgroups): Mention
422         multithread safety.
423         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
424         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
425         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
426         getugroups.
427         * doc/posix-functions/getgroups.texi (getgroups): Mention
428         multithread safety and mgetgroups.
429
430 2013-05-22  Bernhard Voelker <mail@bernhard-voelker.de>
431
432         test-lchown, test-chown: also skip test if chown fails with EPERM
433         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
434         skip this test, to handle FAT file systems.
435         * tests/test-chown.h (test_chown): Likewise.
436
437 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
438
439         regex: fix dfa race in multithreaded uses
440         Problem reported by Ludovic Courtès in
441         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00058.html>.
442         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
443         New macros.  All uses of __libc_lock_define, __libc_lock_init
444         changed to use the first two of these.
445         (__libc_lock_lock, __libc_lock_unlock): New macros, for
446         non-glibc platforms.
447         (struct re_dfa_t): Define the lock unconditionally.
448         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
449         '#ifdef _LIBC"s.
450         * modules/regex (Depends-on): Add pthread, if we use the
451         included regex.
452
453         * lib/regcomp.c: Do actions that are not needed for glibc,
454         but may be needed elsewhere.
455         (regfree, re_compile_internal): Destroy the lock.
456         (re_compile_internal): Check for lock-initialization failure.
457
458         malloca: port to compilers that reject size-zero arrays
459         This fixes a bug introduced in my previous patch.
460         * lib/malloca.c (struct preliminary_header): Use an int
461         rather than a character array of size int; that's simpler.
462         (struct header): Remove, replacing with ...
463         (union header): New type.  This avoids the need for declaring a
464         character array of size zero, which is not allowed on some platforms.
465         All uses changed.
466
467 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
468
469         parse-datetime, tests: don't use "string" + int
470         Recent versions of 'clang' complain about C source code that
471         uses expressions of the form '"string literal" + integer',
472         I guess on the theory that it's confusing for readers who are
473         used to C++.  On those grounds I suppose it's OK to make this
474         minor style change.
475         * lib/parse-datetime.y (parse_datetime):
476         * tests/test-fchdir.c (main):
477         * tests/test-snprintf-posix.h (test_function):
478         * tests/test-snprintf.c (main):
479         * tests/test-vasnprintf-posix.c (test_function):
480         * tests/test-vasnprintf.c (test_function):
481         * tests/test-vsnprintf.c (main):
482         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
483         Rewrite '"str" + E' to '&"str"[E]'.
484
485 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
486
487         argmatch: port to C++
488         * lib/argmatch.h [__cplusplus]: Add extern "C".
489
490         argp: typo fix
491         * lib/argp-help.c: Typo in comment.
492
493 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
494
495         manywarnings: update for GCC 4.8.0
496         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
497         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
498         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
499         -Wmissing-noreturn, as they are duplicates of other warnings.
500         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
501         was documented to be flaky in earlier versions of GCC.
502
503         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
504         * tests/test-spawn.c (main):
505         * tests/test-sys_socket.c (main):
506         * tests/test-sys_wait.c (main):
507         Don't have a switch value that isn't covered by a case.
508
509         getaddrinfo-tests: port --enable-gcc-warnings to clang
510         * tests/test-getaddrinfo.c (simple):
511         Avoid casts from looser to stricter-aligned pointers.
512
513         thread: port --enable-gcc-warnings to clang
514         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
515         Include <signal.h>, to pacify a warning about pthread_sigmask.
516
517         stdio: use __REDIRECT for fwrite, fwrite_unlocked
518         * lib/stdio.in.h (fwrite):
519         When working around bug 11959, use __REDIRECT rather than '#define
520         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
521         fix the -Wunused-value issue with clang, and it works with GCC too.
522         Problem with targeting reported by Eric Blake in
523         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00067.html>.
524         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
525         debugging the fwrite issue.
526
527         stdio: port --enable-gcc-warnings to clang
528         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
529         since the GCC workaround for fwrite does not pacify clang.
530
531         sig2str: port --enable-gcc-warnings to clang
532         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
533
534         obstack: port --enable-gcc-warnings to clang
535         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
536         Avoid casts from looser to stricter-aligned pointers.
537
538         memchr2: port --enable-gcc-warnings to clang
539         * lib/memchr2.c (memchr2):
540         Avoid casts from looser to stricter-aligned pointers.
541
542         mbsstr: port --enable-gcc-warnings to clang
543         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
544         Avoid casts from looser to stricter-aligned pointers.
545
546         malloca: port --enable-gcc-warnings to clang
547         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
548         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
549
550         inttostr: port --enable-gcc-warnings to clang
551         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
552
553         warnings: port to clang
554         Problem reported by Daniel P. Berrange via Eric Blake in
555         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00055.html>.
556         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
557         (gl_WARN_ADD): Use it.
558
559 2013-05-11  Jim Meyering  <meyering@fb.com>
560
561         quotearg: do not read beyond end of buffer
562         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
563         end of an ARG for which no length was specified.  With an N-byte
564         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
565         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
566         via coreutils' misc/sort-debug-keys.sh test and detected by running
567         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
568         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
569         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
570         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
571         characters correctly."
572
573 2013-05-11  Daiki Ueno  <ueno@gnu.org>
574
575         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
576         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
577         compilation target is Mac OS X 10.6.
578         Problem reported by parafin and Andoni Morales in
579         <http://savannah.gnu.org/bugs/?37844> and
580         <http://lists.gnu.org/archive/html/bug-gettext/2013-05/msg00007.html>.
581
582 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
583
584         mkdir-p: remove assumptions about umask and mode
585         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
586         umask is 0, or that MODE is a subset of MODE_BITS.
587
588 2013-05-10  Eric Blake  <eblake@redhat.com>
589
590         maint.mk: catch more abuse of HAVE_DECL in syntax-check
591         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
592
593 2012-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
594
595         deps: require Automake >= 1.9.6 in generated Makefile fragments
596
597         That is the same minimal version required in the DEPENDENCIES file.
598         Moreover, the old code generated a requirement of Automake >= 1.5,
599         and that is an insanely outdated version.
600
601         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
602         * tests/havelib/rpathlx/Makefile.am: Likewise.
603         * tests/havelib/rpathly/Makefile.am: Likewise.
604         * tests/havelib/rpathlyx/Makefile.am: Likewise.
605         * tests/havelib/rpathlz/Makefile.am: Likewise.
606         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
607         * tests/havelib/rpathx/Makefile.am: Likewise.
608         * tests/havelib/rpathy/Makefile.am: Likewise.
609         * tests/havelib/rpathz/Makefile.am: Likewise.
610
611 2013-05-08  Eric Blake  <eblake@redhat.com>
612
613         bootstrap: AC_INIT may have more than four parameters
614         * build-aux/bootstrap (extract_package_name): Correctly extract
615         non-empty tarname field.  Avoid range in regex.
616         Based on a report by Sami Kerola <kerolasa@iki.fi>.
617
618 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
619
620         qacl: port to MS-Windows port of GNU Emacs
621         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
622         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
623         port of GNU Emacs.  Problem reported by Eli Zaretskii in
624         <http://bugs.gnu.org/14295#14>.
625
626 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
627
628         acl: include quote.h
629         * lib/copy-acl.c: Include quote.h.
630         * lib/set-acl.c: Likewise.
631
632 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
633
634         fchownat, renameat, unlinkat: update statat dependencies
635         These modules use statat and lstatat, not fstatat; so depend on
636         the statat module, which was split out recently from fstatat.
637         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
638         * modules/renameat: Likewise.  Also delete fstat.
639         URL: http://bugs.gentoo.org/468790
640
641 2012-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
642
643         Assume gnulib is checked out from Git, not CVS
644
645         In fact, access to the gnulib repository through CVS has been
646         disabled, or more precisely, got broken and was never restored; see:
647         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>
648
649         Note that support for CVS is not removed completely and unthinkingly
650         by this change: only support for CVS checkouts of gnulib itself is
651         removed.  For example, the 'bootstrap' script still cater to .cvsingore
652         files and CVS directories, for the benefit of those poor gnulib clients
653         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
654
655         * gnulib-tool: Simplify accordingly.
656         * posix-modules: Likewise.
657         * MODULES.html.sh: Likewise.
658         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
659         repository.
660         * doc/gnulib-intro.texi: Likewise.
661         * doc/gnulib-readme.texi: Likewise.
662         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
663         sample '.gitignore' file rather than a sample '.cvsignore'.
664         * NEWS: Update.
665         * m4/extensions.m4: While at it, remove a comment mistakenly referring
666         to "CVS Autoconf" rather than "git Autoconf".
667
668 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
669
670         utimensat-tests, etc.: try to fix some races
671         Problem reported by Bernhard Voelker in
672         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html>.
673         I don't know whether this patch fixes that race condition, but it
674         fixes *some* race conditions, so it should be a win.
675         * modules/chown-tests (Depends-on):
676         * modules/fchownat-tests (Depends-on):
677         * modules/fdutimensat-tests (Depends-on):
678         * modules/futimens-tests (Depends-on):
679         * modules/lchown-tests (Depends-on):
680         * modules/stat-time-tests (Depends-on):
681         * modules/utimens-tests (Depends-on):
682         * modules/utimensat-tests (Depends-on):
683         Depend on nanosleep, not usleep.
684         * modules/chown-tests (test_chown_LDADD):
685         * modules/lchown-tests (test_lchown_LDADD):
686         * modules/stat-time-tests (test_stat_time_LDADD):
687         New macro.
688         * modules/fchownat-tests (test_fchownat_LDADD):
689         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
690         * modules/futimens-tests (test_futimens_LDADD):
691         * modules/utimens-tests (test_utimens_LDADD):
692         * modules/utimensat-tests (test_utimensat_LDADD):
693         Add $(LIB_NANOSLEEP).
694         * modules/stat-time-tests (Files): Add tests/nap.h.
695         * tests/nap.h: Include <limits.h>, for INT_MAX.
696         (lt_mtime): Remove.
697         (diff_timespec): New function.
698         (get_stat): Rename from get_mtime.  All callers changed.
699         (nap_works): Determine the needed delay by inspecting the
700         file system's timestamp jumps; this should be more reliable.
701         Look at both mtime and ctime, and take the maximum of the two jumps.
702         (nap_works, guess_delay):
703         Return a nanosecond cound, not a microsecond count.
704         All callers changed.
705         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
706         failure.
707         (nap): Multiply the guess by 1.125, to accommodate the case where
708         the file system's clock is a bit slower than nanosleep's clock.
709         * tests/test-stat-time.c (BASE): New macro.
710         Include nap.h.
711         (nap): Remove; nap.h now defines this.  This removes a duplicate
712         implementation of 'nap'.
713
714         utimens, utimensat: work around Solaris UTIME_OMIT bug
715         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
716         Linux kernel 2.6.32 does.  Work around it in the same way.
717         * doc/posix-functions/futimens.texi (futimens):
718         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
719         * lib/utimens.c (fdutimens, lutimens):
720         * lib/utimensat.c (rpl_utimensat): Work around the bug.
721
722         gettext: now it's your responsibility to add -I$(top_builddir)/intl
723         Formerly, it was your responsibility to do this for all Makefile.ams
724         other than Gnulib's.  Now it's your responsibility to do it for
725         Gnulib's Makefile.am, too.
726         * NEWS: Document this.
727         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
728
729         acl: include errno.h to get errno
730         Reported by Daiki Ueno in
731         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00073.html>.
732         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
733
734 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
735
736         tests: don't assume getdtablesize () <= 10000000
737         * modules/cloexec-tests:
738         * modules/dup2-tests:
739         * modules/dup3-tests:
740         * modules/nonblocking-tests:
741         * modules/posix_spawn_file_actions_addclose-tests:
742         * modules/posix_spawn_file_actions_adddup2-tests:
743         * modules/posix_spawn_file_actions_addopen-tests:
744         * modules/unistd-safer-tests:
745         Depend on the getdtablesize module.
746         * tests/test-cloexec.c:
747         * tests/test-dup-safer.c:
748         * tests/test-dup2.c:
749         * tests/test-dup3.c:
750         * tests/test-fcntl.c:
751         * tests/test-nonblocking.c:
752         * tests/test-posix_spawn_file_actions_addclose.c:
753         * tests/test-posix_spawn_file_actions_adddup2.c:
754         * tests/test-posix_spawn_file_actions_addopen.c:
755         Don't assume getdtablesize () <= 10000000.
756
757 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
758
759         extern-inline: work around bug in Sun c99
760         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
761         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
762
763 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
764
765         qacl: new module, broken out from the acl module
766         This is for GNU Emacs, which wants the acl functions but does
767         not want 'error' invoked when they fail.
768         * lib/acl-internal.h: Do not include error.h, quote.h.
769         (ENOSYS, ENOTSUP): Remove; no longer needed.
770         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
771         * lib/acl.h: Include <stdbool.h>.
772         (acl_errno_valid): New function.
773         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
774         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
775         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
776         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
777         (ACL_INTERNAL_INLINE): Remove; no longer needed.
778         * lib/file-has-acl.c (file_has_acl):
779         * lib/qcopy-acl.c (qcopy_acl):
780         * lib/qset-acl.c (qset_acl):
781         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
782         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
783         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
784         lib/file-has-acl.c, m4/acl.m4 to qacl module.
785         Add lib/set-acl.c.
786         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
787         Add qacl.
788         (configure.ac): Move gl_FUNC_ACL to qacl module.
789         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
790         Rename set-mode-acl.c to set-acl.c.
791         * lib/acl-errno-valid.c: New file.
792         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
793         copy_acl function remains in copy-acl.c.
794         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
795         (_): Remove; not needed.
796         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
797         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
798         * modules/qacl: New file, moved from the old modules/acl.
799         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
800         Remove set-mode-acl.c, copy-acl.c.
801         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
802
803         alignof, intprops, malloca: port better to IBM's C compiler
804         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
805         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
806         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
807
808 2013-04-25  Daiki Ueno  <ueno@gnu.org>
809
810         wctype-h: fix gettext link error on mingw
811         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
812         <https://lists.gnu.org/archive/html/bug-gettext/2013-03/msg00086.html>.
813         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
814         rpl_towupper and rpl_towupper.
815
816 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
817
818         regex-tests, regex: allow glibc re_search behavior
819         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
820         re_search input data to make the multi-character collating element
821         in it clearly visible, and treat re_search return code 0 as valid.
822         * m4/regex.m4 (gl_REGEX): Likewise.
823
824 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
825
826         stdalign: doc fix
827         * doc/posix-headers/stdalign.texi (stdalign.h):
828         Gnulib doesn't support '_Alignof expr'.
829
830 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
831
832         stdalign: port to stricter ISO C11
833         ISO C11 says that _Alignof's operand must be a parenthesized type.
834         Problem reported by Eli Zaretskii in
835         <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00960.html>.
836         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
837         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
838
839 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
840
841         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
842         Problem reported by Marco Atzeri in
843         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
844         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
845         Simply delegate to the system <sys/select.h> in this case too.
846         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
847         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
848         be needed on Solaris either.
849         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
850         Simply delegate to the system <sys/time.h> in this case.
851
852 2013-03-19  Karl Berry  <karl@gnu.org>
853
854         * build-aux/gnupload: check for erroneous (with gnupload) use of
855         ftp-upload.gnu.org, tweak help.
856
857 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
858
859         copy-file, rpmatch: fix problems found by cppcheck
860         Reported by Arno Onken in
861         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
862         * lib/rpmatch.c (try): Fix memory leak.
863         * lib/copy-file.c: Include "ignore-value.h".
864         (qcopy_file_preserving): Ignore chown value.
865         * modules/copy-file (Depends-on): Add ignore-value.
866
867 2013-01-27  Jim Meyering  <jim@meyering.net>
868
869         prefix-gnulib-mk: give better diagnostics
870         * build-aux/prefix-gnulib-mk: Don't just "die".
871         Give better diagnostics upon failure.
872
873 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
874
875         putenv: port to Solaris 10
876         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
877         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
878         is not what is wanted here.
879         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
880         declaration, not for its existence.
881
882 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
883
884         mktime: fix configure typo
885         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
886
887 2013-03-12  Eric Blake  <eblake@redhat.com>
888
889         regex-tests: skip UTF-8 test on mingw
890         * modules/regex-tests (Depends-on): Add localcharset.
891         * tests/test-regex.c (main): Use it to skip test on mingw.
892
893 2013-03-11  Eric Blake  <eblake@redhat.com>
894
895         tests: make it easier to bypass alarm time in debugger
896         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
897         * tests/test-memmem.c (main): Likewise.
898         * tests/test-passfd.c (main): Likewise.
899         * tests/test-ptsname.c (main): Likewise.
900         * tests/test-ptsname_r.c (main): Likewise.
901         * tests/test-strcasestr.c (main): Likewise.
902         * tests/test-strstr.c (main): Likewise.
903
904         regex: port to mingw's recent addition of undeclared alarm
905         * doc/posix-functions/alarm.texi (alarm): Document that alarm
906         exists but still doesn't work in newer mingw.
907         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
908         not existence.  Ensure SIGALRM is not trapped.
909         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
910         * m4/regex.m4 (gl_REGEX): Likewise.
911         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
912         * tests/test-regex.c (main): Use correct probe for alarm.
913
914         putenv: avoid compilation warning on mingw
915         * lib/putenv.c (_unsetenv): Protect variable declaration.
916         (putenv): Fix indentation.
917
918 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
919
920         unistd: don't prevent Tru64 Unix from using gnulib strtod.
921         * lib/unistd.in.h: be careful not to include un-needed system
922         stdlib.h from here, because that prevents gnulib stdlib.h from
923         defining rpl_strtod correctly.
924
925 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
926
927         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
928         changesets, but for the 'precision 0' test.
929         * tests/test-vasprintf-posix.c (test_function): Don't insist on
930         round-to-even, since POSIX says rounding is implementation-defined
931         and OS X 10.8.2 rounds 1.51 to 1 here.
932
933         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
934         changeset.
935         * tests/test-vasprintf-posix.c (test_function): Don't insist on
936         round-to-even, since POSIX says rounding is implementation-defined
937         and OS X 10.8.2 rounds 1.5 to 1 here.
938
939 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
940
941         vasnprintf-posix-tests: allow rounding 1.5 to 1
942         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
943         round-to-even, since POSIX says rounding is implementation-defined
944         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
945         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00019.html>.
946
947         bootstrap: port to FreeBSD
948         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
949         that treat '--' differently.  Reported by Mats Erik Andersson in
950         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.
951
952 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
953
954         regex: rename remaining __attribute calls to __attribute__.
955         2012-02-25 changed definition of __attribute, but left some uses
956         unchanged, preventing compilation of regex module on most non-gcc
957         environments.
958         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
959         (lookup_collation_sequence_value, build_range_exp)
960         (build_collating_symbol): Set attributes with newly renamed
961         __attribute__ decorator.
962         * lib/regex_internal.c (re_string_peek_byte_case)
963         (re_node_set_compare, re_node_set_contains): Likewise.
964         * lib/regexec.c (acquire_init_state_context): Likewise.
965
966 2013-03-06  Bruno Haible  <bruno@clisp.org>
967
968         execute: Revert last change, but use a different condition.
969         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
970         on Windows.
971
972 2013-03-05  Eric Blake  <eblake@redhat.com>
973
974         execute: drop dead code
975         * lib/execute.c (nonintr_close, nonintr_open): Delete.
976
977 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
978
979         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
980         * m4/non-recursive-gnulib-prefix-hack.m4
981         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
982         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
983         <http://bugs.gnu.org/10305#237>.
984
985 2013-03-04  Eric Blake  <eblake@redhat.com>
986
987         test-getsockopt: avoid compiler warning
988         * tests/test-getsockopt.c (includes): Ensure close is declared.
989
990 2013-03-02  Bruno Haible  <bruno@clisp.org>
991
992         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
993         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
994
995 2013-03-02  Bruno Haible  <bruno@clisp.org>
996
997         gettext: Update to version 0.18.2.
998         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
999         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
1000                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
1001
1002 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
1003
1004         regex: merge patches from libc
1005
1006         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
1007         * lib/regex_internal.h (__attribute__): Rename from __attribute.
1008         All uses changed.
1009         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
1010         (re_string_wchar_at, re_string_elem_size_at):
1011         Mark function as possibly unused.
1012
1013         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
1014         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
1015         elements compare against the byte sequence of it, not its name.
1016
1017 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
1018
1019         putenv: port better to native Windows
1020         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
1021         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
1022         (_unsetenv): Use _putenv if available.
1023         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
1024         a bit less likely to cause damage.
1025         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
1026         Fix the wrong value with SetEnvironmentVariable.
1027         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
1028         code better.
1029
1030 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
1031
1032         regex: ignore old-style-definition warnings
1033         * lib/regex.c: Add pragma to ignore these warnings.
1034         Problem reported for GNU tar by Pavel Raiskup.
1035
1036 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
1037
1038         getcwd: support coreutils better
1039         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
1040         but this might not be correct in coreutils, which disables
1041         the raw decl checks.  Problem reported by Nagendra in
1042         <http://bugs.gnu.org/10305#192>.
1043         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
1044         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
1045         Test the getcwd function, not any macro, since getcwd.c wants the
1046         function.
1047         * m4/getcwd.m4 (gl_FUNC_GETCWD):
1048         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
1049         compile, as might happen if there's a macro but no function.
1050
1051         strtod: support coreutils better
1052         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
1053         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
1054         disables the raw decl checks.  This assumes there is an underlying
1055         strtod, but that's a safe assumption these days.
1056         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
1057
1058         mountlist: port to HP NonStop
1059         Reported by Joachim Schmitz in
1060         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
1061         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
1062         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
1063
1064 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
1065
1066         extern-inline: avoid compilation error with HP-UX cc
1067         Reported by Richard Lloyd in
1068         <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
1069         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
1070         Suppress extern inline with HP-UX cc.  This should be safe,
1071         though it may hurt performance.  Perhaps someone with some HP-UX
1072         experience can come up with a higher-performance fix.
1073
1074 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
1075
1076         putenv: fix heap corruption with mixed putenv/_putenv
1077         Problem reported by Michael Goffioul in
1078         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
1079         * lib/putenv.c (putenv) [HAVE__PUTENV]:
1080         Rely on _putenv to allocate the new environment.
1081         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
1082         * modules/putenv (configure.ac): Use it.
1083
1084 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
1085
1086         unsetenv etc.: port to Solaris 11 + GNU Emacs
1087         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
1088         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
1089         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
1090         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
1091         idea but is too painful to fix right now), and without this gnulib
1092         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
1093         compiling unsetenv.c on Solaris 11.  Fix the problem for
1094         unsetenv.c, and fix other similar occurrences.
1095
1096 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
1097
1098         secure_getenv: fix C++ declaration typo
1099         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
1100         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
1101         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.
1102
1103 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
1104
1105         careadlinkat: stop exporting careadlinkatcwd
1106         Only Emacs used it directly, and Emacs no longer needs it.
1107         * NEWS: Document this simplification.
1108         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
1109         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
1110         for readlink.
1111         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
1112         Don't include stdlib.h; no longer needed.
1113         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
1114         * lib/relocwrapper.c: Adjust comment to match new dependencies.
1115         * modules/areadlink (Depends-on): Add readlink.
1116         (Maintainer): Add self.
1117         * modules/careadlinkat (Depends-on): Remove readlink.
1118
1119         extensions: port better to HP-UX
1120         This is merged from git Autoconf.
1121         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
1122         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
1123         so that it's compatible with the value used when compiling.
1124
1125         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
1126         Problem reported by Mats Erik Andersson in
1127         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
1128         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
1129         openpty function exists, not merely when we intend to replace it.
1130         This corrects the 2013-01-31 patch, which mistakenly defined
1131         HAVE_OPENPTY even on hosts that lacked it.
1132
1133 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
1134
1135         secure_getenv: fix include typo
1136         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
1137
1138         secure_getenv: port better to FreeBSD and Solaris
1139         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
1140         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
1141         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
1142         This works better on BSDish platforms.
1143         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
1144         Test for issetugid if __secure_getenv is missing.
1145
1146 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
1147
1148         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
1149         Some of these changes are merged in from git Autoconf.
1150         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
1151         When deciding whether to define _XOPEN_SOURCE, inspect the
1152         preprocessor macro __hpux instead of the more-heavyweight
1153         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
1154         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
1155         as the key for __EXTENSIONS__.
1156
1157         unistd: avoid namespace pollution on non-glibc systems
1158         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
1159         This avoids namespace pollution on non-glibc systems, by causing
1160         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
1161         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
1162         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
1163
1164 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
1165
1166         tmpdir: use secure_getenv
1167         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
1168         Define to secure_getenv, not getenv.
1169         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
1170         as that's now secure_getenv's job.
1171         * modules/tmpdir (Depends-on): Add secure_getenv.
1172
1173         tempname: use secure_getenv
1174         * lib/tempname.c (__secure_getenv) [!_LIBC]:
1175         Define to secure_getenv, not getenv.
1176         * modules/tempname (Depends-on):
1177         Add secure_getenv.
1178
1179         secure_getenv: new module
1180         * MODULES.html.sh (Extra functions based on ANSI C 89):
1181         Add secure_getenv.
1182         * doc/glibc-functions/secure_getenv.texi: New file.
1183         * doc/gnulib.texi: Include it.
1184         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
1185         New files.
1186         * lib/stdlib.in.h (secure_getenv): New decl.
1187         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
1188         * modules/stdlib (stdlib.h):
1189         Add secure_getenv checks.
1190
1191 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
1192
1193         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
1194         Reported for OS X 10.8.2 by Assaf Gordon in
1195         <http://bugs.gnu.org/13516>.
1196         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
1197         !HAVE_OPENAT && !HAVE_FDOPENDIR.
1198         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
1199         so that they can be kept in sync more easily.  Avoid PATH_MAX
1200         test on the Hurd.  Sync from test-getcwd.c for errno tests after
1201         mkdir or chdir failure.
1202         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
1203         lib/getcwd.c.
1204         (test_abort_bug): Do not test for the deep directory bug unless we
1205         have openat support.  Avoid PATH_MAX test on the Hurd.
1206
1207         regex-tests, regex: fix bug: memset undeclared
1208         * tests/test-regex.c: Don't include regex.h twice.  Include
1209         string.h, to declare memset.  Christensen's report also mentioned
1210         this issue.
1211         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
1212         test-regex.c, to avoid future problems like this.  Remove
1213         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
1214         twice.
1215
1216         regex-tests: fix link errors on older Solaris
1217         These need to link with @LIBINTL@ to get libintl_gettext.
1218         Problem reported by Tom G. Christensen in
1219         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
1220         * modules/regex-tests (test_regex_LDADD): New macro.
1221
1222 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
1223
1224         regex-tests: new module
1225         * modules/regex-tests, tests/test-regex.c: New files.
1226
1227         regex: fix off-by-one error in configure test
1228         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
1229
1230 2013-01-31  Eric Blake  <eblake@redhat.com>
1231
1232         regex: avoid infinite configure test
1233         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
1234
1235 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
1236
1237         openpty: fix bug where HAVE_OPENPTY wasn't defined
1238         See the thread starting at:
1239         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
1240         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
1241         openpty function exists, not merely when we intend to replace it.
1242
1243 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
1244
1245         sys_time: port to Solaris 2.6
1246         There is a circularity problem on Solaris 2.6, where <time.h> includes
1247         <sys/time.h> for struct timespec.  The include nesting is gnulib
1248         <time.h>, system <time.h>, gnulib <sys/time.h>, system
1249         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
1250         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
1251         <sys/siginfo.h>; the last, innermost file needs struct
1252         timestruc_t, which is defined in <sys/time.h>, which has not been
1253         fully parsed.  Problem reported by Tom G. Christensen in
1254         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
1255         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
1256         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
1257         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
1258         uses split double-inclusion guards.
1259
1260 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
1261
1262         regex: test for buffer overrun
1263         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
1264         for the just-fixed regex bug.
1265
1266 2013-01-29  Andreas Schwab  <schwab@suse.de>
1267
1268         regex: fix buffer overrun in regexp matcher [BZ #15078]
1269         * lib/regexec.c (extend_buffers): Add parameter min_len.
1270         (check_matching): Pass minimum needed length.
1271         (clean_state_log_if_needed): Likewise.
1272         (get_subexp): Likewise.
1273
1274 2013-01-28  Pádraig Brady  <P@draigBrady.com>
1275
1276         mountlist: don't consider "devtmpfs" as dummy
1277         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
1278         as there is storage associcated with it.
1279
1280 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
1281
1282         futimens-tests, utimens-tests: Depend on gettext.
1283         This works around a problem introduced in my 2013-01-12 patch,
1284         which added @LIBINTL@ to these modules.
1285         * modules/futimens-tests (Depends-on):
1286         * modules/utimens-tests (Depends-on): Add gettext.
1287
1288 2013-01-26  Eric Blake  <eblake@redhat.com>
1289
1290         test-getpeername: fix typo
1291         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
1292
1293 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
1294
1295         bootstrap: remove the need for a sorted .gitignore file
1296         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
1297         rename to insert_if_absent(), so that we don't need or generate
1298         a sorted .gitignore file.  We do require a .gitignore with no
1299         existing duplicate entries and enforce that.
1300         (sort_patterns): Remove this function as we now use the simpler
1301         technigue of inserting blacklist entries at the top of the file,
1302         assuming gnulib won't be inserting !whitelist entries.
1303
1304 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1305
1306         readlinkat: don't depend on gl_FUNC_OPENAT
1307         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
1308         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
1309         renameat.m4, symlinkat.m4; but one thing at a time.
1310
1311         statat: new module, split out from fstatat
1312         GNU Emacs needs the POSIX-specified fstatat, but not the
1313         gnulib-specified statat and lstat.  Split the latter two into a
1314         new module 'statat'.
1315         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
1316         * lib/openat.h, lib/statat.c (STATAT_INLINE):
1317         Rename from FSTATAT_INLINE. All uses changed.
1318         * modules/fstatat (Files): Remove lib/statat.c.
1319         (gl_MODULE_INDICATOR([fstatat])): Remove.
1320         (lib_SOURCES): Remove.
1321         (Maintainer): Add self.
1322         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
1323         * tests/test-fstatat.c (BASE): Don't define if already defined.
1324         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
1325
1326 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
1327
1328         tests: don't assume fd 99 is closed
1329         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
1330         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
1331         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
1332         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
1333         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
1334         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
1335         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
1336         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
1337         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
1338         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
1339         * tests/test-fwrite.c, tests/test-getpeername.c:
1340         * tests/test-getsockname.c, tests/test-getsockopt.c:
1341         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
1342         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
1343         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
1344         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
1345         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
1346         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
1347         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
1348         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
1349         * tests/test-unlinkat.c, tests/test-unlockpt.c:
1350         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
1351         Close file descriptor 99, instead of assuming it's already closed.
1352
1353 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
1354
1355         stpncpy: port to OS X 10.8
1356         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
1357         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
1358
1359 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
1360
1361         unistd: port to recent mingw
1362         * lib/unistd.in.h: Remove special invocation convention for mingw,
1363         which breaks for the latest mingw version.  See John W. Eaton in
1364         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
1365
1366         largefile: port better to Mac OS X 10.5
1367         This patch is backported from Autoconf git.
1368         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
1369         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
1370         with ino_t size being different for configuration time versus
1371         build/run time.  Problem reported by PHO in
1372         <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
1373
1374 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
1375
1376         doc: clarify -Werror
1377         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
1378         clarify that it's intended for developers, not for ordinary builds,
1379         and mention --enable-gcc-warnings as one possible use.
1380
1381 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
1382
1383         stdint: fix build with Android's Bionic fox x86
1384         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
1385         was already included as _SSIZE_T_DEFINED_ might also be defined
1386         in include/machine/_types.h, which is included by stdio.h
1387
1388 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
1389
1390         net_if-tests: port to Solaris 7 + GCC 3.4.6
1391         Problem reported by Tom G. Christensen in
1392         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
1393         * tests/test-net_if.c (ni): Move to next the code that uses it,
1394         so that it's declared only if needed.
1395
1396 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
1397
1398         net_if-tests: port to older Solaris
1399         Problem reported by Tom G. Christensen in
1400         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1401         * modules/net_if-tests (NET_IF_LIB): New substitution.
1402         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
1403         (HAVE_IF_NAMEINDEX): New C macro.
1404         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
1405
1406         system-quote-tests: port to older Solaris
1407         Problem reported by Tom G. Christensen in
1408         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1409         * tests/test-system-quote-child.c (fopen, fread): Undef.
1410
1411         c-xvasprintf etc.: fix link errors on older Solaris
1412         These need to link with @LIBINTL@ to get libintl_gettext.
1413         Problem reported by Tom G. Christensen in
1414         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1415         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
1416         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
1417         * modules/futimens-tests (test_futimens_LDADD):
1418         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
1419
1420 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
1421
1422         locale: port to Solaris 2.6 and 7 + GNU gettext
1423         * lib/locale.in.h: Just include_next <locale.h> when
1424         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
1425         when combining the localename module with GNU gettext 0.18.2.
1426         Problem reported by Tom G. Christensen in
1427         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
1428
1429 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
1430
1431         stdlib: port to Solaris 2.6
1432         Also, the code worked on Solaris 7 through 9 only by accident.
1433         Problem reported by Tom G. Christensen in
1434         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
1435         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
1436         simply include the system stdlib.h.
1437         * lib/getopt.in.h (__need_system_stdlib_h):
1438         * lib/pthread.in.h (__need_system_stdlib_h):
1439         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
1440         Define when including <stdlib.h>, to avoid problems at least for
1441         the pthread case on Solaris 2.6 and 7.  These .h files can get by
1442         with the system stdlib.h.
1443
1444 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
1445
1446         doc: update main copyright year
1447         * doc/gnulib.texi: Update copyright date.
1448
1449         doc: improve ISO 8601 discussion
1450         * doc/parse-datetime.texi (Combined date and time of day items):
1451         Specify more carefully what formats are supported and what is
1452         done with excess precision.
1453
1454 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1455
1456         doc: avoid small caps
1457         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
1458         they're more trouble than they're worth.  Suggested by Karl Berry
1459         in <http://bugs.gnu.org/13360>.
1460
1461         regex: conform to strict C
1462         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
1463         From Aharon Robbins.
1464
1465         gnulib-tool: fix incompatibility with autopoint 0.18.2
1466         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
1467         Problem reported by Tom G. Christensen in
1468         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
1469
1470 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1471
1472         fprintftime: bring back and reword fwrite comment
1473         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
1474
1475         stdio: remove now-unnecessary stdio.c
1476         Since stdio.in.h no longer uses inline functions, we no longer
1477         need to compile the extern versions.
1478         * lib/stdio.c: Remove.
1479         * modules/stdio (Files): Remove lib/stdio.c.
1480         (lib_SOURCES): Remove.
1481
1482         unicodeio: depend on stdio, not ignore-value
1483         * lib/unicodeio.c: Do not include ignore-value.h.
1484         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
1485         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
1486
1487         fprintftime: depend on stdio, not ignore-value
1488         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
1489         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
1490         since the stdio module arranges to silence that warning now.
1491         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
1492
1493 2012-10-04  Simon Josefsson  <simon@josefsson.org>
1494
1495         stdint-tests: Fix expanded-before-required-warning.
1496         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
1497
1498 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
1499
1500         fwrite: silence __wur only for older glibc versions
1501         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
1502         This will help us remove this workaround some time in the far future.
1503
1504 2013-01-03  Eric Blake  <eblake@redhat.com>
1505
1506         fwrite: silence __wur without using inline
1507         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
1508         just gcc, and in a way that avoids inline issues.
1509         * modules/stdio (Depends-on): Drop extern-inline.
1510
1511 2013-01-03  Jim Meyering  <jim@meyering.net>
1512
1513         update-copyright: avoid copyright notice date corruption
1514         Given a sequence of copyright year numbers in which the final
1515         one was a two-digit number that happened to be a substring of
1516         a preceding four-digit year number, we would mistakenly update
1517         the substring (from two- to four-digit) rather than the two-digit
1518         number at the end, which, combined with the addition of the current
1519         4-digit year number would yield two 5-digit year numbers, e.g.,
1520         here, it would convert the first "99" to "1999, 2013" rather than
1521         the final one:
1522           1991, 99
1523           11999, 20131, 1999
1524         * build-aux/update-copyright: Tighten a regexp.
1525         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
1526         Reported by Joseph Myers in
1527         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
1528
1529 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
1530
1531         regex: omit needless signed-pointer casts
1532         * lib/regcomp.c (build_charclass, build_charclass_op):
1533         Use char *, not unsigned char *, for class name and extra.
1534         The char values are always nonnegative so there's no need to
1535         insist on unsigned char * here, and using char * removes the need
1536         for casts.  Reported by Aharon Robbins in
1537         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1538
1539         regex: support Gawk, which never uses alloca
1540         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
1541         Do not include in this case.  Gawk doesn't supply a substitute
1542         alloca.h and doesn't need one.
1543
1544         regex: port __libc_lock_define usage to C89
1545         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
1546         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
1547         does not conform to C89, as it has an empty macro argument.
1548         Reported by Aharon Robbins in
1549         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1550
1551 2013-01-01  Eric Blake  <eblake@redhat.com>
1552
1553         maint: update all copyright year number ranges
1554         Run "make update-copyright".
1555
1556         version-etc: bump copyright year reported in --version
1557         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
1558
1559 2012-12-31  Eric Blake  <eblake@redhat.com>
1560
1561         sigprocmask-tests: skip test if pid is unexpectedly large
1562         * tests/test-sigprocmask.c (main): Add range check.
1563
1564         git-version-gen: avoid test -z portability glitch
1565         * build-aux/git-version-gen: Prefer portable test spelling, since
1566         git-version-gen is run on more than just developer machines.
1567
1568 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
1569
1570         git-version-gen: add --fallback option to use if git is not present
1571         * build-aux/git-version-gen: Add support for the new option --fallback,
1572         which comes into play when there is no $tarball_version_file and
1573         git is not working.
1574         (scriptversion): Update.
1575
1576         maint.mk: handle missing git with more grace
1577         * top/maint.mk (no-submodule-changes, public-submodule-commit):
1578         Quietly proceed if git is not present.
1579
1580 2012-12-31  Eric Blake  <eblake@redhat.com>
1581
1582         dup2: work around cygwin bug
1583         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
1584         * lib/dup2.c (rpl_dup2): Work around it.
1585         * doc/posix-functions/dup2.texi (dup2): Document it.
1586
1587 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
1588
1589         regex: remove unnecessary dependency on localcharset.h
1590         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
1591         hasn't been needed for years.
1592         * modules/regex (Depends-on): Remove localcharset.
1593
1594         regex: revert single-byte change
1595         * lib/regexec.c (check_node_accept_bytes): Revert previous change
1596         to this function.  This was alredy fixed in a different way, at
1597         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
1598         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
1599         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
1600
1601         regex: simplify based on Gawk version
1602         * lib/regex_internal.c (re_dfa_add_node): Simplify.
1603         Reported by Aharon Robbins in
1604         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1605
1606 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
1607
1608         regex: check that pattern char is single-byte
1609         Reported by Aharon Robbins in
1610         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1611         * lib/regexec.c (check_node_accept_bytes):
1612         Return 0 if the pattern string has a multibyte character here.
1613
1614         regex: implement rational ranges
1615         Reported by Aharon Robbins in
1616         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1617         * lib/regcomp.c (build_range_exp) [!_LIBC]:
1618         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
1619         Implement rational ranges.
1620
1621         regex: avoid redefining __wctype
1622         Reported by Aharon Robbins in
1623         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1624         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
1625         #undef before defining.
1626
1627         regex: port to hosts where malloc (0) == NULL
1628         Reported by Aharon Robbins in
1629         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1630         * lib/regex_internal.c (re_node_set_alloc):
1631         Don't assume that malloc (0) yields nonnull.
1632         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
1633         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
1634         * modules/regex (Files): Add m4/eealloc.m4.
1635
1636         regex: port to C89
1637         Reported by Aharon Robbins in
1638         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1639         * lib/regcomp.c (init_word_char): Declaration before statement.
1640
1641         regex: merge glibc changes
1642         Also, copy the license wording from glibc.  This simplifies
1643         merging changes.  gnulib-tool will change the wording to GPL as
1644         appropriate, when importing it to other packages.  The only
1645         glibc change made since the last merge, which needs merging, is:
1646         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
1647         * lib/regex_internal.h (gettext): Remove use of INTUSE.
1648
1649         * users.txt: Add Emacs.
1650
1651         doc: omit mention of version when not needed
1652         * doc/gnulib-intro.texi (Portability and Application Code):
1653         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
1654         Don't mention particular dates or versions when not necessary, so
1655         that the documentation won't go out of date so quickly.
1656
1657         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
1658
1659 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
1660
1661         bootstrap: pass --force to autoreconf.
1662         * build-aux/bootstrap (AUTORECONFFLAGS): New.
1663         Add "--force" so that Automake's ylwrap and other such tools
1664         be updated at each bootstrap invocation.
1665         Use it.
1666
1667 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1668
1669         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
1670         The earlier patch forgot to update one of the #if conditions, causing
1671         a problem on Debian testing i386 reported by Mats Erik Andersson
1672         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
1673         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
1674         (__argp_fmtstream_puts, argp_fmtstream_puts)
1675         (__argp_fmtstream_write, argp_fmtstream_write)
1676         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
1677
1678         * doc/gnulib-readme.texi: Minor fixups.
1679         (Portability guidelines): Modernize URLs.  Remove some repetition.
1680         (Indent with spaces not TABs): Reword to avoid too-long lines.
1681         Remove some '@ifset standalone' stuff that isn't used.
1682
1683         * doc/gnulib-readme.texi (Portability guidelines):
1684         ctype.h, not ctime.h.
1685
1686         Correct name of POSIX.1-2001.
1687         * doc/posix-functions/fgetc.texi (fgetc):
1688         * doc/posix-functions/fgets.texi (fgets):
1689         * doc/posix-functions/fread.texi (fread):
1690         * doc/posix-functions/fscanf.texi (fscanf):
1691         * doc/posix-functions/getc.texi (getc):
1692         * doc/posix-functions/getchar.texi (getchar):
1693         * doc/posix-functions/scanf.texi (scanf):
1694         POSIX.1-2001, not POSIX-2001.
1695
1696         doc: move README into manual
1697         * README: Move contents to new file doc/gnulib-readme.texi.
1698         Replace with a one-line summary.
1699         * doc/gnulib.texi (Brief Overview): New section,
1700         with old intro preface.  Include gnulib-readme.texi for contents.
1701         (Philosophy): Rename from "Introduction", since this
1702         section no longer introduces the rest.  Write a new preface.
1703         * doc/gnulib-readme.texi: New file, with the old contents of
1704         README texinfo-ized.  This way, the README info appears
1705         in the online and printed manual.
1706
1707 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
1708
1709         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
1710         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
1711         c_vasprintf() prototype.
1712
1713 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
1714
1715         c-vasprintf: Fix "empty declaration" warning reported by GCC.
1716         * lib/c-vasprintf.h: Remove stray semicolon.
1717
1718 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
1719
1720         gettext: avoid obsolete macro AM_PROG_MKDIR_P
1721         It is obsolete and is planned to be removed from Automake 1.14; see
1722         <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
1723         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
1724         (installdirs-data, installdirs-data-yes):
1725         Use $(MKDIR_P), not $(mkdir_p).
1726         * m4/intl.m4 (AM_INTL_SUBDIR):
1727         * m4/po.m4 (AM_PO_SUBDIRS):
1728         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
1729
1730 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
1731
1732         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
1733         On this platform, we are not optimizing but we are using
1734         the substitute for extern inlines, so compile as if
1735         C99-style extern inline, or a substitute, is available.
1736         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
1737         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
1738         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
1739         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
1740         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
1741         Declare as ARGP_FS_EI, not as extern.
1742         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
1743         (__option_is_short, _option_is_end, __option_is_end)
1744         [!_LIBC && __USE_EXTERN_INLINES]:
1745         Declare as ARGP_EI, not as extern.
1746
1747 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
1748
1749         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
1750         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
1751         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
1752         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
1753         ...), as the latter is fatal with older Autoconfs.
1754         Problem reported and fix suggested by Eric Blake in thread starting at
1755         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
1756
1757 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1758
1759         AC_PROG_MKDIR_P: don't workaround if not buggy
1760         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
1761         Define only for Autoconf versions before 2.62.
1762         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
1763         undocumented m4_PACKAGE_VERSION, for consistency with the
1764         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
1765         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
1766         was introduced in 2.62.
1767
1768 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
1769
1770         New 'c-*printf' modules for formatted output in C locale.
1771
1772         New module 'c-vasnprintf'.
1773         * modules/c-vasnprintf: New file.
1774         * lib/c-vasnprintf.c: New file.
1775         * lib/c-vasnprintf.h: New file.
1776
1777         New module 'c-snprintf'.
1778         * modules/c-snprintf: New file.
1779         * modules/c-snprintf-tests: New file.
1780         * lib/c-snprintf.c: New file.
1781         * lib/c-snprintf.h: New file.
1782         * tests/test-c-snprintf.c: New file.
1783         * tests/test-c-snprintf.sh: New file.
1784
1785         New module 'c-vsnprintf'.
1786         * modules/c-vsnprintf: New file.
1787         * modules/c-vsnprintf-tests: New file.
1788         * lib/c-vsnprintf.c: New file.
1789         * lib/c-vsnprintf.h: New file.
1790         * tests/test-c-vsnprintf.c: New file.
1791         * tests/test-c-vsnprintf.sh: New file.
1792
1793         New module 'c-vasprintf'.
1794         * modules/c-vasprintf: New file.
1795         * modules/c-vasprintf-tests: New file.
1796         * lib/c-asprintf.c: New file.
1797         * lib/c-vasprintf.c: New file.
1798         * lib/c-vasprintf.h: New file.
1799         * tests/test-c-vasprintf.c  +: New file.
1800         * tests/test-c-vasprintf.sh: New file.
1801
1802         New module 'c-xvasprintf'.
1803         * modules/c-xvasprintf: New file.
1804         * modules/c-xvasprintf-tests: New file.
1805         * lib/c-xasprintf.c: New file.
1806         * lib/c-xvasprintf.c: New file.
1807         * lib/c-xvasprintf.h: New file.
1808         * tests/test-c-xvasprintf.c: New file.
1809         * tests/test-c-xvasprintf.sh: New file.
1810
1811 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1812
1813         argp: better 'inline'
1814         Use extern-inline module to declare extern inline functions.
1815         This avoids some bogus warning diagnostics.  Problem discovered
1816         when modifying GNU tar to use the manywarnings module.
1817         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
1818         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
1819         Define based on extern-inline.
1820         * modules/argp (Depends-on): Add extern-inline.
1821
1822 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1823
1824         filemode, sys_stat: Handle MPX files a la AIX.
1825         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
1826         * lib/sys_stat.in.h (S_ISMPX): New macro.
1827         * tests/test-sys_stat.c: Add tests for MPX files.
1828
1829 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
1830
1831         x-to-1: honor $PERL
1832         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
1833         a chance to use his preferred version of Perl.  This is typically
1834         required by Darwin users whose default /usr/bin/perl does not have all
1835         the libraries required by help2man, and who need to use their MacPorts
1836         installation of Perl instead.
1837
1838 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1839
1840         gnu-web-doc-update: add all the new files, even in new directories
1841         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
1842         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
1843         Use it.
1844         (main): Don't use cvsutils to get the list of unknown files,
1845         just add all the existing files and directories.
1846
1847 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1848
1849         gnu-web-doc-update: improve --help
1850         * build-aux/gnu-web-doc-update: Move comments into --help.
1851
1852 2012-12-07  Eric Wong  <normalperson@yhbt.net>
1853
1854         mountlist: recognize more "dummy" file systems
1855         * lib/mountlist.c (ME_DUMMY_0):
1856         Add these dummy FS names to the list:
1857         - "debugfs" virtual filesystem for kernel debugging
1858         - "devpts" PTY slave filesystem
1859         - "devtmpfs" device filesystem on top of tmpfs/ramfs
1860         - "fusectl" control filesystem for FUSE
1861         - "mqueue" enumerates POSIX message queues
1862         - "rpc_pipefs" kernel <-> userspace bridge for NFS
1863         - "sysfs" is for exporting kernel objects
1864         - "devfs" device filesystem for Linux 2.4 and FreeBSD
1865
1866 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1867
1868         extern-inline: avoid incompatibility with Darwin Libc
1869         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
1870         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
1871         Problem reported by Akim Demaille in
1872         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
1873
1874 2012-12-11  Simon Josefsson  <simon@josefsson.org>
1875
1876         gnupload: Work with GnuPG using gpg-agent (for smartcards).
1877         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
1878         let it handle password prompting.
1879
1880 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
1881
1882         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
1883         * lib/canonicalize.c (canonicalize_filename_mode):
1884         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
1885         fetching the current directory.  Don't overrun the beginning of
1886         rpath if there's no slashes after the MS-Windows drive letter.
1887
1888 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1889
1890         maint.mk: avoid extra forks
1891         * top/maint.mk (_cfg_mk): The GNU make manual documents that
1892         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
1893         So use that instead of "$(shell test -f FILE && echo FILE)".
1894
1895 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
1896
1897         vasnprintf: fix ASCII_ONLY typo
1898         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1899         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1900         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1901         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
1902         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
1903
1904 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1905
1906         list, oset, xlist, xoset: fix extern inline issue with C99
1907         This was introduced by my recent changes for 'inline'.
1908         Problem reported for gettext by Daiki Ueno in
1909         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
1910         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
1911         (gl_list_nx_create, gl_list_size, gl_list_node_value)
1912         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
1913         (gl_list_previous_node, gl_list_get_at)
1914         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
1915         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
1916         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
1917         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
1918         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
1919         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
1920         (gl_list_iterator_free, gl_sortedlist_search)
1921         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
1922         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
1923         (gl_sortedlist_remove):
1924         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
1925         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
1926         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
1927         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
1928         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
1929         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
1930         (gl_list_add_at, gl_sortedlist_add):
1931         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
1932         Wrap these extern decls inside "#if 0", because they are implemented
1933         as inline functions, and extern inline is not what's wanted here.
1934         It would simplify these .h files to remove the extern decls entirely,
1935         although a downside would be less-clear separation between
1936         specification and implementation.
1937
1938 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
1939
1940         sys_stat: no 'static inline'
1941         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
1942         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
1943
1944         extern-inline: no 'static inline'
1945         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
1946         Do not require AC_C_INLINE.
1947         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
1948         'static inline', for older compilers.
1949
1950         snippet/warn-on-use: no 'static inline'
1951         * build-aux/snippet/warn-on-use.h:
1952         Remove unnecessary 'inline' in comment.
1953
1954         rbtree-list, rbtreehash-list: no 'static inline'
1955         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
1956         * lib/gl_anytree_list2.h (node_at):
1957         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
1958         (gl_oset_first, add_nodes_to_buckets):
1959         Now static, not static inline.
1960
1961         regex: no 'static inline'
1962         * lib/regex_internal.c (calc_state_hash):
1963         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
1964         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1965         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
1966         Now static, not static inline.
1967         (inline) [__GNUC__ < 3 && _LIBC]:
1968         Remove macro; no longer needed.
1969
1970         xvasprintf: no 'static inline'
1971         * lib/xvasprintf.c (xstrcat):
1972         Now static, not static inline.
1973         * m4/xvasprintf.m4 (gl_XVASPRINTF):
1974         Do not require AC_C_INLINE.
1975
1976         parse-datetime, parse-duration: no 'static inline'
1977         * lib/parse-datetime.y (to_uchar):
1978         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
1979         (scale_n_add):
1980         Now static, not static inline.
1981         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
1982         * modules/parse-duration (configure.ac):
1983         Do not require AC_C_INLINE.
1984
1985         getaddrinfo: no 'static inline'
1986         * lib/getaddrinfo.c (validate_family):
1987         Now static, not static inline.
1988         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
1989         Do not require AC_C_INLINE.
1990
1991         ftruncate, fts, lstat, openat, raise: no 'static inline'
1992         * lib/ftruncate.c (chsize_nothrow):
1993         * lib/fts.c (opendirat, diropen):
1994         * lib/lstat.c (orig_lstat):
1995         * lib/openat.c (orig_openat):
1996         * lib/raise.c (raise_nothrow):
1997         Now static, not static inline.
1998         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
1999         * m4/fts.m4 (gl_FUNC_FTS_CORE):
2000         * m4/lstat.m4 (gl_PREREQ_LSTAT):
2001         * m4/openat.m4 (gl_PREREQ_OPENAT):
2002         * m4/raise.m4 (gl_PREREQ_RAISE):
2003         Do not require AC_C_INLINE.
2004
2005         fflush, stat: no 'static inline'
2006         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
2007         (clear_ungetc_buffer, disable_seek_optimization)
2008         (restore_seek_optimization, update_fpos_cache):
2009         * lib/stat.c (orig_stat):
2010         Now static, not static inline.
2011         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
2012         (update_fpos_cache):
2013         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
2014         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
2015         * m4/stat.m4 (gl_PREREQ_STAT):
2016         Do not require AC_C_INLINE.
2017
2018         error, filevercmp: no 'static inline'
2019         * lib/error.c (is_open, flush_stdout):
2020         * lib/filevercmp.c (order):
2021         Now static, not static inline.
2022         * m4/error.m4 (gl_PREREQ_ERROR):
2023         * modules/filevercmp (configure.ac):
2024         Do not require AC_C_INLINE.
2025
2026         dup, execute, fatal-signal, etc.: no 'static inline'
2027         * lib/dup.c (dup_nothrow):
2028         * lib/execute.c (nonintr_close, nonintr_open):
2029         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
2030         * lib/fopen.c (orig_fopen):
2031         * lib/freadseek.c (freadptrinc):
2032         * lib/freopen.c (orig_freopen):
2033         * lib/fstat.c (orig_fstat, fstat_nothrow):
2034         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
2035         (get_rusage_as_via_iterator):
2036         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
2037         * lib/getdtablesize.c (_setmaxstdio_nothrow):
2038         * lib/isatty.c (_isatty_nothrow):
2039         * lib/open.c (orig_open):
2040         * lib/read.c (read_nothrow):
2041         * lib/sigprocmask.c (signal_nothrow):
2042         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
2043         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
2044         * lib/wait-process.c (unregister_slave_subprocess):
2045         * lib/write.c (write_nothrow):
2046         Now static, not static inline.
2047         * lib/spawn-pipe.c (nonintr_open): Define only if
2048         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
2049         * m4/dup.m4 (gl_PREREQ_DUP):
2050         * m4/execute.m4 (gl_EXECUTE):
2051         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
2052         * m4/fopen.m4 (gl_PREREQ_FOPEN):
2053         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
2054         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
2055         * m4/fstat.m4 (gl_PREREQ_FSTAT):
2056         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
2057         * m4/isatty.m4 (gl_PREREQ_ISATTY):
2058         * m4/open.m4 (gl_PREREQ_OPEN):
2059         * m4/read.m4 (gl_PREREQ_READ):
2060         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
2061         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
2062         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
2063         * m4/wait-process.m4 (gl_WAIT_PROCESS):
2064         * m4/write.m4 (gl_PREREQ_WRITE):
2065         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
2066         Do not require AC_C_INLINE.
2067
2068         c-strtod, memcoll, readutmp: no 'static inline'
2069         * lib/c-strtod.c (c_locale):
2070         * lib/memcoll.c (strcoll_loop):
2071         * lib/readutmp.c (desirable_utmp_entry):
2072         Now static, not static inline.
2073         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
2074         * m4/memcoll.m4 (gl_MEMCOLL):
2075         * m4/readutmp.m4 (gl_READUTMP):
2076         Do not require AC_C_INLINE.
2077
2078         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
2079         * lib/arctwo.c (to_uchar):
2080         * lib/md4.c (set_uint32):
2081         * lib/md5.c (set_uint32):
2082         * lib/sha1.c (set_uint32):
2083         * lib/sha256.c (set_uint32):
2084         * lib/sha512.c (set_uint64):
2085         Now static, not static inline.  This is a bit simpler, and doesn't
2086         affect performance with GCC and default optimization.
2087         * m4/arctwo.m4 (gl_ARCTWO):
2088         * m4/md4.m4 (gl_MD4):
2089         * m4/md5.m4 (gl_MD5):
2090         * m4/sha1.m4 (gl_SHA1):
2091         * m4/sha256.m4 (gl_SHA256):
2092         * m4/sha512.m4 (gl_SHA512):
2093         Do not require AC_C_INLINE.
2094
2095         cond, lock, thread: better 'inline'
2096         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
2097         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
2098         New macros.  Use them instead of static inline, for header functions.
2099         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
2100         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
2101         * lib/glthread/lock.c (gl_waitqueue_init)
2102         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
2103         * lib/glthread/thread.c (get_current_thread_handle):
2104         Change 'static inline' to 'inline'.
2105         * lib/glthread/cond.h, lib/glthread/thread.h:
2106         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2107         * m4/cond.m4 (gl_COND):
2108         * m4/lock.m4 (gl_PREREQ_LOCK):
2109         * m4/thread.m4 (gl_THREAD):
2110         Do not require AC_C_INLINE.
2111         * modules/cond, modules/thread (Depends-on): Add extern-inline.
2112
2113         chdir-long, cycle-check, savewd: better 'inline'
2114         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
2115         (find_non_slash):
2116         * lib/cycle-check.c (is_zero_or_power_of_two):
2117         * lib/savewd.c (savewd_delegating):
2118         Change 'static inline' to 'inline'.
2119         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
2120         Replace all remaining uses of 'static inline' with it.
2121         * lib/savewd.h:
2122         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2123         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
2124         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
2125         * m4/savewd.m4 (gl_SAVEWD):
2126         Do not require AC_C_INLINE.
2127         * modules/savewd (Depends-on): Add extern-inline.
2128
2129         base32, base64: no need for 'inline'
2130         * lib/base32.c (to_uchar, get_8, decode_8):
2131         * lib/base64.c (to_uchar, get_4, decode_4):
2132         Change 'static inline' to 'inline'.
2133         * m4/base32.m4 (gl_PREREQ_BASE32):
2134         * m4/base64.m4 (gl_PREREQ_BASE64):
2135         Do not require AC_C_INLINE.
2136
2137         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
2138         * lib/gl_array_oset.c (gl_array_nx_add_at):
2139         (gl_array_remove_at):
2140         * lib/gl_linkedhash_list.c (hash_resize_after_add)
2141         (add_to_bucket, remove_from_bucket):
2142         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
2143         Change 'static inline' to 'static', as it's simpler to omit
2144         'inline' unless there's a significant performance advantage.
2145
2146         list, oset, xlist, xoset, xsublist: simplify via extern inline
2147         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
2148         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
2149         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
2150         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
2151         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
2152         New macro.  Replace all uses of 'static inline' with it.
2153         [HAVE_INLINE]: Implement functions as *_INLINE functions,
2154         instead of as macros FOO that are defined to static inline
2155         functions FOO_inline.
2156         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
2157         * lib/gl_xsublist.c:
2158         Reimplement from scratch, by defining the corresponding *_INLINE
2159         macro and including the corresponding .h file.  This is simpler.
2160         * modules/list, modules/oset, modules/xlist, modules/xoset:
2161         (Files): Remove m4/gl_list.m4.
2162         (configure.ac): Remove gl_LIST.
2163         * m4/gl_list.m4: Remove.
2164         * modules/list, modules/oset, modules/xlist, modules/xoset:
2165         * modules/xsublist:
2166         (Depends-on): Depend on extern-inline, not inline.
2167
2168         xalloc: better 'inline'
2169         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
2170         New macro.  Replace all uses of 'static inline' with it.
2171         (static_inline): Remove.
2172         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
2173         Let 'extern inline' do the work automatically, instead of doing
2174         it by hand.
2175         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
2176         Remove.  All uses removed.
2177         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
2178
2179         gethrxtime: better 'inline'
2180         * lib/xtime.c: New file.
2181         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
2182         * lib/xtime.h (XTIME_INCLUDE):
2183         New macros.  Replace all uses of 'static inline' with them.
2184         * lib/gethrxtime.c (gethrxtime): Define only if
2185         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
2186         this source file is now always compiled, because of the extern inline.
2187         * lib/gethrxtime.h, lib/xtime.h:
2188         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2189         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
2190         if gethrtime works, as they're not needed in that case.
2191         (gl_XTIME): Do not require AC_C_INLINE.
2192         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
2193         compiled now.  Move the check into gl_GETHRXTIME.
2194         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
2195         (Depends-on): Add extern-inline.
2196         (configure.ac): gethrxtime is always compiled now.
2197         (lib_SOURCES): Add gethrxtime.c.
2198
2199         wctype-h: better 'inline'
2200         * lib/wctype-h.c: New file.
2201         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
2202         New macro.  Replace all uses of 'static inline' with it.
2203         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2204         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
2205         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
2206         (Depends-on): Add extern-inline.
2207
2208         unistd: better 'inline'
2209         * lib/unistd.c: New file.
2210         * lib/unistd.in.h (_GL_UNISTD_INLINE):
2211         New macro.  Replace all uses of 'static inline' with it.
2212         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2213         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
2214         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
2215         (Depends-on): Add extern-inline.
2216
2217         sys_socket: better 'inline'
2218         * lib/sys_socket.c: New file.
2219         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
2220         New macro.  Replace all uses of 'static inline' with it.
2221         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2222         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
2223         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
2224         (Depends-on): Add extern-inline.
2225
2226         stdio: better 'inline'
2227         * lib/stdio.c: New file.
2228         * lib/stdio.in.h (_GL_STDIO_INLINE):
2229         New macro.  Replace all uses of 'static inline' with it.
2230         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2231         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
2232         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
2233         (Depends-on): Add extern-inline.
2234
2235         sigaction: better 'inline'
2236         * lib/sig-handler.c: New file.
2237         * lib/sig-handler.h (SIG_HANDLER_INLINE):
2238         New macro.  Replace all uses of 'static inline' with it.
2239         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2240         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
2241         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
2242         (Depends-on): Add extern-inline.
2243
2244         selinux-h: better 'inline'
2245         * lib/se-context.c, lib/se-selinux.c: New files.
2246         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
2247         * lib/se-context.in.h (SE_CONTEXT_INLINE):
2248         New macro.  Replace all uses of 'static inline' with it.
2249         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2250         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
2251         New macro.  Replace all uses of 'static inline' with it.
2252         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2253         * modules/selinux-h (Files, lib_SOURCES):
2254         Add lib/se-context.c, lib/se-selinux.c.
2255         (Depends-on): Add extern-inline.
2256         (configure.ac): Do not require AC_C_INLINE.
2257
2258         pthread: better 'inline'
2259         * lib/pthread.c: New file.
2260         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
2261         New macro.  Replace all uses of 'static inline' with it.
2262         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2263         * m4/pthread.m4 (gl_PTHREAD_CHECK):
2264         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
2265         * modules/pthread (Files): Add lib/pthread.c.
2266         (Depends-on): Add extern-inline.
2267
2268         math: better 'inline'
2269         * lib/math.c: New file.
2270         * lib/math.in.h (_GL_MATH_INLINE):
2271         New macro.  Replace all uses of 'static inline' with it.
2272         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2273         * m4/math_h.m4 (gl_MATH_H):
2274         Do not require AC_C_INLINE.
2275         * modules/math (Files, lib_SOURCES):
2276         Add lib/math.c.
2277         (Depends-on): Add extern-inline.
2278
2279         count-one-bits: better 'inline'
2280         * lib/count-one-bits.c: New file.
2281         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
2282         New macro.  Replace all uses of 'static inline' with it.
2283         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2284         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
2285         Do not require AC_C_INLINE.
2286         * modules/count-one-bits (Files, lib_SOURCES):
2287         Add lib/count-one-bits.c.
2288         (Depends-on): Add extern-inline.
2289
2290         count-leading-zeros: better 'inline'
2291         * lib/count-leading-zeros.c: New file.
2292         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
2293         New macro.  Replace all uses of 'static inline' with it.
2294         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2295         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
2296         Do not require AC_C_INLINE.
2297         * modules/count-leading-zeros (Files, lib_SOURCES):
2298         Add lib/count-leading-zeros.c.
2299         (Depends-on): Add extern-inline.
2300
2301         bitrotate: better 'inline'
2302         * lib/bitrotate.c: New file.
2303         * lib/bitrotate.h (BITROTATE_INLINE):
2304         New macros.
2305         Replace all uses of 'static inline' with them.
2306         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2307         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
2308         (Depends-on): Add extern-inline.
2309         (configure.ac): Do not require AC_C_INLINE.
2310
2311 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
2312
2313         maint.mk: avoid gratuitous failure
2314         Reported by Stefano Lattarini in
2315         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
2316         * top/maint.mk (public-submodule-commit): Quote more safely.
2317
2318 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
2319
2320         canonicalize, canonicalize-lgpl: support MS-Windows file names
2321         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
2322         for test cases, which it'd be nice to add at some point.
2323         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
2324         * lib/canonicalize.c (canonicalize_filename_mode):
2325         * lib/canonicalize-lgpl.c (__realpath):
2326         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
2327         slash is at the beginning of the file name.  Use ISSLASH, instead
2328         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
2329         the first character with '/'.  Test for
2330         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
2331         with a drive letter.
2332         * lib/canonicalize.c (SLASHES): New macro.
2333         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
2334
2335 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
2336
2337         fts: introduce FTS_VERBATIM
2338         * lib/fts_.h (FTS_VERBATIM): New bit flag.
2339         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
2340         * lib/fts.c (fts_open): Honor it.
2341
2342 2012-11-09  Pádraig Brady  <P@draigBrady.com>
2343
2344         getlogin-tests: allow errno == ENXIO
2345         * tests/test-getlogin.c (main): Skip tests if getlogin fails
2346         with errno == ENXIO (No controlling tty).
2347         getlogin_r-tests: Likewise. Also allow errno == ENOENT
2348         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
2349         with errno == ENOENT.  This was reported to happen in various
2350         situations on GNU/Linux.
2351
2352 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2353
2354         getlogin-tests: allow errno == ENOENT
2355         * tests/test-getlogin.c (main): Skip tests if getlogin fails
2356         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
2357         when running a test in an Emacs shell buffer.
2358
2359 2012-11-08  Jim Meyering  <jim@meyering.net>
2360
2361         tests/nap.h: avoid warning about unused variable
2362         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
2363
2364         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
2365         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
2366         white space before each of the special-cased file names, to avoid
2367         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
2368         in http://bugs.gnu.org/12830.
2369
2370 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
2371
2372         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
2373         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
2374         fails with errno == EBADF when fd is opened with O_PATH.
2375         Reported by Jim Meyering in
2376         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
2377         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
2378         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
2379
2380 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
2381
2382         test-utimens: speed up by taking shorter naps
2383         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
2384         New functions.
2385         (nap): Use them, to do a better job of guessing the delay.
2386         On Fedora 17 with ext4 atop md atop hard disks, this made
2387         test-utimens run 10x faster, because the test napped for
2388         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
2389         <http://bugs.gnu.org/12820#11>.
2390
2391 2012-11-07  Jim Meyering  <jim@meyering.net>
2392
2393         mountlist.c: fix a compilation failure
2394         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
2395         I introduced while transforming commit v0.0-7683-g613bcb6
2396
2397 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
2398
2399         errno: port to LynxOS 178 2.2.2
2400         Problem reported by Joel Brobecker in
2401         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
2402         * doc/posix-headers/errno.texi (errno.h): Document this.
2403         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
2404         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
2405         Supply a string for EILSEQ.
2406         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
2407
2408 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
2409
2410         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
2411         Linux kernel 2.6.39 introduced O_PATH (see
2412         <http://lwn.net/Articles/433854/>) and this is a better fallback
2413         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
2414         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
2415         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
2416         * lib/fcntl.in.h (O_ACCMODE):
2417         * tests/test-fcntl-h.c (main):
2418         Do not reject O_ACCMODE merely because it has more than the
2419         minimal number of bits, as POSIX allows extensions here.
2420
2421 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
2422
2423         mountlist: do not classify a bind-mounted dir entry as "dummy"
2424         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
2425         the "none"-testing clause.
2426         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
2427         exception for bind-mounted directories.
2428
2429 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
2430
2431         quote: provide a means to escape strings with nul characters
2432         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
2433         (quote, quote_n): Rename formal arguments for consistency with
2434         quotearg.
2435
2436 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
2437
2438         test-raise: don't assume 199 is an invalid signal
2439         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
2440
2441         sh-quote-tests: port to Solaris 9
2442         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
2443         Problem reported by Dagobert Michelsen in
2444         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
2445
2446 2012-10-28  Jim Meyering  <jim@meyering.net>
2447
2448         maint.mk: rename a new configurable variable
2449         * top/maint.mk (_gl_translatable_string_re): Rename from
2450         translation-markers: _gl_ prefix to insulate from user Makefile code,
2451         and the _re suffix to inform that it's a regular expression.
2452
2453 2012-10-26  Eric Blake  <eblake@redhat.com>
2454
2455         maint.mk: let packages tweak sc_po_check pattern
2456         * top/maint.mk (sc_po_check): Add translation-markers, to allow
2457         finding files with other translation markers.
2458
2459 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
2460
2461         euidaccess: speed up 'configure' on GNU hosts
2462         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
2463         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
2464         it's needed only in this case.  Use AC_CHECK_DECLS, not
2465         AC_CHECK_DECLS_ONCE.
2466         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
2467         or AC_REQUIRE for AC_FUNC_GETGROUPS.
2468
2469         * lib/regexec.c (re_search_internal): Fix grammar in comment.
2470
2471 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
2472
2473         fchmodat, fchownat, fstatat: port to non-inlining compilers
2474         Problem reported for FreeBSD 9 by Jim Meyering in
2475         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
2476         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
2477         New files, which define FCHMODAT_INLINE etc.
2478         * lib/fchmodat.c (FCHMODAT_INLINE):
2479         * lib/fchownat.c (FCHOWNAT_INLINE):
2480         * lib/fstatat.c (FSTATAT_INLINE):
2481         Remove, as chmodat.c etc. now do this.
2482         * modules/fchmodat (Files): Add lib/chmodat.c.
2483         * modules/fchownat (Files): Add lib/chownat.c.
2484         * modules/fstatat (Files): Add lib/statat.c.
2485
2486 2012-10-15  Jim Meyering  <jim@meyering.net>
2487
2488         fchmodat.c, fchownat.c: compile-impeding typos
2489         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
2490         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
2491         Introduced in commit v0.0-7636-gd202279.
2492
2493 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
2494
2495         fcntl-h: support GNU flags like O_IGNORE_CTTY
2496         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
2497         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
2498         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
2499         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
2500         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
2501         Define to 0 if not already defined.
2502         * tests/test-fcntl-h.c: Test these new flags.
2503
2504 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
2505
2506         faccessat, etc.: support AT_FDCWD-only use
2507         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
2508         this function only if its first argument is AT_FDCWD.
2509         Emacs wants faccessat for AT_EACCESS but not for any first-arg
2510         values other than AT_FDCWD, so it doesn't want all the openat
2511         machinery with fchdir etc.
2512         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
2513         * modules/fstatat, modules/mkdirat, modules/openat (Files):
2514         * modules/unlinkat (Files):
2515         Remove lib/openat-priv.h, as at-internal supplies this file.
2516         Removing this file here allows us to support programs like Emacs
2517         that avoid at-internal.
2518
2519         faccessat: speed up 'configure' on mainstream hosts
2520         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
2521         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
2522         since it's only on unusual platforms that we need to check for
2523         'access', and it's better not to slow 'configure' down on all
2524         platforms.
2525
2526         faccessat: port to Solaris 10
2527         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
2528         Needed on Solaris 10, which doesn't have AT_EACCESS,
2529         so we need the Gnulib fcntl.h, which defines it.
2530
2531 2012-10-14  Pádraig Brady  <P@draigBrady.com>
2532         canonicalize: fix C89 compilation
2533         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
2534         declarations so C89 is supported.  Also remove the comment
2535         referencing memorty allocation as the suggested feature could
2536         not be implemented as suggested.
2537         Reported by Michael Goffioul.
2538
2539 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
2540
2541         group-member: omit unnecessary dependencies
2542         This is for Emacs, which has its own allocator and where we
2543         don't want to use xalloc.
2544         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
2545         since we no longer use xmalloc.  Do not include stdbool.h, since
2546         the changes below happen to remove the only use of bool.
2547         (GROUPBUF_SIZE): New constant.
2548         (struct group_info): Remove n_groups member.  Add groupbuf member.
2549         This lets us get the groups without using malloc, usually.
2550         (free_group_info, get_group_info): Adjust to this.
2551         (get_group_info): Return the number of groups found, or -1 on error.
2552         Use plain malloc not xmalloc, and treat its failure as if there
2553         are no groups, as the user already loses in case of error.
2554         (group_member): Simplify, based on changes to get_group_info.
2555         * modules/group-member (Depends-on): Remove dependencies on
2556         xalloc and stdbool.  Add dependency on xalloc-oversized.
2557
2558 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
2559
2560         gethrxtime: port to C++
2561         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
2562
2563 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
2564
2565         ptsname: fix macro-name typo
2566         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
2567
2568 2012-10-03  Simon Josefsson  <simon@josefsson.org>
2569
2570         inttostr: Relax license.
2571         * modules/inttostr (License): Change from LGPL to LGPLv2+.
2572
2573 2012-10-03  Eric Blake  <eblake@redhat.com>
2574
2575         ptsname_r: support ptys returned by FreeBSD posix_openpt
2576         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
2577         lives in /dev/pts/.
2578
2579 2012-10-02  Eric Blake  <eblake@redhat.com>
2580
2581         pselect: reject invalid file descriptors
2582         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
2583         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
2584         * modules/pselect (Depends-on): Add dup2.
2585         * doc/posix-functions/pselect.texi (pselect): Document this.
2586
2587         select: reject invalid file descriptors
2588         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
2589         * lib/select.c (rpl_select) [!win32]: Work around it.
2590         * modules/select (Depends-on): Add dup2.
2591         * doc/posix-functions/select.texi (select): Document this.
2592
2593         select: enhance test
2594         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
2595         New functions.
2596         (test_function): Enhance test.
2597         (do_select_bad_fd): Avoid any stale errno values.
2598
2599         ptsname: reject invalid file descriptors
2600         http://www.austingroupbugs.net/view.php?id=503
2601         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
2602         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
2603         * modules/stdlib (Makefile.am): Replace witness.
2604         * lib/stdlib.in.h (ptsname): Allow for replacement.
2605         * modules/ptsname (configure.ac): Trigger replacement.
2606         * doc/posix-functions/ptsname.texi (ptsname): Document this.
2607
2608 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
2609
2610         hash-pjw-bare: new module
2611         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
2612         * lib/hash-pjw-bare.h: Likewise.
2613         * modules/hash-pjw-bare: New file.
2614         * MODULES.html.sh (Misc): Add it.
2615
2616 2012-10-02  Eric Blake  <eblake@redhat.com>
2617
2618         manywarnings: cater to more gcc infelicities
2619         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
2620         -Wuninitialized without -O.
2621
2622 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
2623
2624         select, poll tests: Make setsockopt invocation effective.
2625         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
2626         the bind() call.
2627         * tests/test-select.h (open_server_socket): Likewise.
2628
2629 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
2630
2631         sockets, sys_stat: restore AC_C_INLINE
2632         This undoes the 2012-09-22 patch.
2633         * m4/sockets.m4 (gl_SOCKETS):
2634         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2635         Restore AC_C_INLINE, since MSVC requires __inline or _inline
2636         and does not support plain 'inline'.  Reported by Bruno Haible in
2637         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
2638
2639 2012-09-30  Bruno Haible  <bruno@clisp.org>
2640
2641         localeconv tests: Avoid test failure on OpenIndiana.
2642         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
2643         skip the 'grouping' and 'mon_grouping' tests.
2644         Reported by Jim Meyering.
2645
2646 2012-09-30  Bruno Haible  <bruno@clisp.org>
2647
2648         havelib: Follow libtool developments.
2649         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
2650         Suggested by Simon Josefsson.
2651
2652 2012-09-29  Jim Meyering  <meyering@redhat.com>
2653
2654         fstatat.c: fix a compile-impeding typo
2655         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
2656         Introduced in commit v0.0-7636-gd202279.
2657         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
2658
2659 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
2660
2661         extern-inline: provide a -Wundef safe config.h
2662         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
2663         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
2664         to produce a -Wundef warning free config.h.
2665
2666 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2667
2668         hash-pjw: relax license to LGPLv2+
2669         * modules/hash-pjw (License): Relax, with consent of author.
2670
2671 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2672
2673         maint.mk: fix strict vs. lazy variable issues with RELEASE
2674         * top/maint.mk (_equal): New function.
2675         (member_check): Strip the result to avoid spurious spaces.
2676         (url_dir_list): Do not use ifeq, which is strict, as it will
2677         require RELEASE_TYPE to be defined.
2678         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
2679         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
2680         (announcement_Cc_alpha,announcement_mail_headers_alpha)
2681         (announcement_Cc_beta,announcement_mail_headers_beta)
2682         (announcement_Cc_stable,announcement_mail_headers_stable): these.
2683         (release): Do not depend on $(release-type), as it forces its
2684         evaluation.  Bounce to it.
2685
2686 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2687
2688         maint.mk: formatting changes
2689         * top/maint.mk: Indent bodies of if's.
2690
2691 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
2692
2693         maint.mk: factor the validation of RELEASE_TYPE
2694         With help from Jim Meyering.
2695         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
2696         * top/maint.mk (_empty, _sp): Move their definition earlier.
2697         (member-check, release-type): New.
2698         Use the latter instead of $(RELEASE_TYPE).
2699         Remove now useless local checks.
2700
2701 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2702
2703         maint.mk: provide "make upload" to ease uploading
2704         See
2705         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
2706         Do not depend simply on the current $(VERSION), as there may have been
2707         new commits since the tarball generation.  Rather, rely on $(RELEASE),
2708         as "make release-commit" already does.
2709
2710         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
2711         "make TYPE".
2712
2713         * top/maint.mk (upload_command, upload, release): New.
2714         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
2715         (VERSION): first word of $(RELEASE) is always right.
2716         (emit_upload_commands): Adjust.
2717         * top/README-release: Update.
2718
2719 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2720
2721         maint.mk: silent rules
2722         With help from Stefano Lattarini.
2723         * top/maint.mk (writable-files): Use $(AM_V_GEN).
2724         (announcement): Use $(AM_V_at).
2725
2726 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2727
2728         localename: port gl_locale_name_thread_unsafe to FreeBSD
2729         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
2730         and use the simpler FreeBSD implementation on Mac OS X as well.
2731         Original idea suggested by Ed Maste in
2732         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
2733
2734 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
2735
2736         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
2737         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
2738         * lib/mbuiter.c, lib/xsize.c: New files.
2739         * lib/binary-io.h (BINARY_IO_INLINE):
2740         * lib/eealloc.h (EEALLOC_INLINE):
2741         * lib/mbfile.h (MBFILE_INLINE):
2742         * lib/mbiter.h (MBITER_INLINE):
2743         * lib/mbuiter.h (MBUITER_INLINE):
2744         * lib/xsize.h (XSIZE_INLINE):
2745         New macros.
2746         Replace all uses of 'static inline' with them.
2747         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2748         * m4/eealloc.m4 (gl_EEALLOC):
2749         * m4/mbfile.m4 (gl_MBFILE):
2750         * m4/mbiter.m4 (gl_MBITER):
2751         * m4/xsize.m4 (gl_XSIZE):
2752         Do not require AC_C_INLINE.
2753         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
2754         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
2755         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
2756         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
2757         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
2758         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
2759         * modules/binary-io, modules/eealloc, modules/mbfile:
2760         * modules/mbiter, modules/mbuiter:
2761         (Depends-on): Add extern-inline.
2762
2763         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
2764         * lib/pipe-filter-aux.c: New file.
2765         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
2766         Replace all uses of 'static inline' with it.
2767         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2768         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
2769         (filter_retcode): No real need for inline here.
2770         * modules/pipe-filter-gi, modules/pipe-filter-ii:
2771         (Files): Add lib/pipe-filter-aux.c.
2772         (Depends-on): Add extern-inline.
2773         (configure.ac): Do not require AC_C_INLINE.
2774         (lib_SOURCES): Add pipe-filter-aux.c.
2775
2776         fdutimensat: omit unnecessary AC_C_INLINE
2777         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
2778
2779         fchmodat, fchownat, fstatat: use extern-inline
2780         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
2781         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
2782         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
2783         New macros.
2784         * lib/openat.h:
2785         Replace all uses of 'static inline' with them.
2786         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2787         * modules/fchmodat, modules/fchownat, modules/fstatat:
2788         * modules/openat-h:
2789         (Depends-on):
2790         Add extern-inline.
2791         (configure.ac): Remove AC_C_INLINE.
2792
2793         acl, mbchar, priv-set: use extern-inline
2794         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
2795         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
2796         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
2797         New macros.
2798         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
2799         Replace all uses of 'static inline' with it.
2800         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2801         * m4/acl.m4 (gl_FUNC_ACL):
2802         * m4/mbchar.m4 (gl_MBCHAR):
2803         * m4/priv-set.m4 (gl_PRIV_SET):
2804         Remove AC_C_INLINE, since 'inline' is no longer used directly.
2805         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
2806         Add extern-inline.
2807
2808         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
2809         * m4/sockets.m4 (gl_SOCKETS):
2810         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2811         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
2812         environments where it's already guaranteed to work, so we needn't
2813         check for it at 'configure'-time.
2814
2815         tls-tests: omit unnecessary 'inline'
2816         * tests/test-tls.c (perhaps_yield): No longer inline.
2817         Simplicity and portability trump efficiency in test cases.
2818
2819         utimens-tests: avoid unnecessary 'inline'
2820         * modules/fdutimensat-tests (configure.ac):
2821         * modules/futimens-tests (configure.ac):
2822         * modules/utimens-tests (configure.ac):
2823         * modules/utimensat-tests (configure.ac):
2824         Remove AC_C_INLINE.
2825         * tests/test-utimens-common.h (ctime_compare):
2826         No longer inline.  Simplicity and portability trump efficiency here.
2827
2828         misc: don't limit commentary to inline functions
2829         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
2830         * lib/xalloc-oversized.h, lib/xsize.h:
2831         Contrast macros to functions in general, not just to inline functions,
2832         when the commentary does not apply only to inline functions.
2833
2834 2012-09-20  Jim Meyering  <meyering@redhat.com>
2835
2836         non-recursive-gnulib-prefix-hack: new module
2837         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
2838         the file that originated in Bison.
2839         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
2840         largely copied from a snippet that resided in bison's configure.ac.
2841         * modules/non-recursive-gnulib-prefix-hack: New file.
2842         * MODULES.html.sh (Support for maintaining and releasing projects):
2843         Add it.
2844
2845 2012-09-18  Jim Meyering  <meyering@redhat.com>
2846
2847         maint.mk: generalize _gl_tight_scope for non-recursive make
2848         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
2849         that *.h would describe additional .h files in the directory
2850         specified by $(_gl_TS_dir).  I.e., add this...
2851         (_gl_TS_other_headers): New variable.
2852
2853         maint.mk: exempt trailing blanks found in "binary" files
2854         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
2855         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
2856         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2857
2858 2012-09-17  Jim Meyering  <meyering@redhat.com>
2859
2860         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
2861         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
2862         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
2863         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2864
2865 2012-09-17  Jim Meyering  <meyering@redhat.com>
2866
2867         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
2868         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
2869         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
2870         It is not in the same category as "exit (0)" or "exit (1)", and
2871         besides, I know of no symbolic name for that 77.  Reported by
2872         Richard W.M. Jones in
2873         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2874
2875 2012-09-17  Jim Meyering  <meyering@redhat.com>
2876
2877         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
2878         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
2879         all uses of #define, not just those that start in column 1.
2880         Richard W.M. Jones reported a false positive in
2881         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2882
2883 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
2884
2885         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
2886         * lib/localcharset.c (locale_charset) [DARWIN7]:
2887         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
2888         as these two values are incompatible.  Problem reported by Max Horn.
2889         For more discussion, please see
2890         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
2891
2892         doc: document sticky-EOF issue
2893         * doc/posix-functions/fgetc.texi (fgetc):
2894         * doc/posix-functions/fgets.texi (fgets):
2895         * doc/posix-functions/fread.texi (fread):
2896         * doc/posix-functions/fscanf.texi (fscanf):
2897         * doc/posix-functions/getc.texi (getc):
2898         * doc/posix-functions/getchar.texi (getchar):
2899         * doc/posix-functions/scanf.texi (scanf):
2900         Mention that glibc and default Solaris do not conform to
2901         C99 and POSIX-2001 or later, with respect to how getchar
2902         etc. behave when feof reports nonzero.
2903
2904 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2905
2906         poll: fix poll(0, NULL, msec)
2907         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
2908         but nfd is 0.  In that case poll should behave like select.
2909
2910 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2911             Paolo Bonzini <bonzini@gnu.org>
2912
2913         poll: fix for systems that can't recv() on a non-socket
2914         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
2915         is readable.  In this case POLLHUP will not be supported.
2916         * doc/posix-functions/poll.texi: Document this.
2917
2918 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
2919
2920         poll/select: document portability problems not fixed by Gnulib.
2921         * doc/posix-functions/poll.texi: poll does not work well on
2922         pipes under Windows.  It has the same limitations as select on
2923         BeOS.
2924         * doc/posix-functions/select.texi: select does not work well
2925         on pipes under Windows.
2926
2927 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
2928
2929         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
2930         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
2931         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
2932         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
2933
2934 2012-09-06  Eric Blake  <eblake@redhat.com>
2935
2936         net_if: give more details about the bug being fixed
2937         * doc/posix-headers/net_if.texi: Add clarification.
2938
2939 2012-09-05  Eric Blake  <eblake@redhat.com>
2940
2941         net_if: new module
2942         * modules/net_if: New module, borrowing ideas from netinet_in.
2943         * m4/net_if_h.m4: New file.
2944         * lib/net_if.in.h: Likewise.
2945         * doc/posix-headers/net_if.texi (net/if.h): Document it.
2946         * MODULES.html.sh (lacking POSIX:2008): Likewise.
2947         * tests/test-net_if.c: Make function checks conditional.
2948         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
2949
2950 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
2951
2952         readutmp: fix non-portable UT_PID use
2953         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
2954         Use `UT_PID (u) > 0' as absolute condition.
2955
2956 2012-09-04  Jim Meyering  <meyering@redhat.com>
2957
2958         fts: reduce two or more trailing spaces to just one, usually
2959         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
2960         or more slashes, trim all but the final one.  But if a name consists
2961         solely of two slashes, don't modify it.  If it consists solely of
2962         three or more slashes, strip all but one.
2963
2964         This is part of the solution to a minor problem with rm:
2965         it would print a bogus ELOOP diagnostic when failing to remove
2966         the slash-decorated name of a symlink-to-directory:
2967
2968             $ mkdir d && ln -s d s && env rm -r s/
2969             rm: cannot remove 's': Too many levels of symbolic links
2970
2971         With the change below and a trivial don't-trim-trailing-slashes
2972         adjustment to remove.c, it does this:
2973
2974             $ env rm -r s/
2975             rm: cannot remove 's/': Not a directory
2976
2977         Improved by: Eric Blake
2978
2979         fts: when there is no risk of overlap, use memcpy, not memmove
2980         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
2981
2982 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2983
2984         stdbool: be more compatible with mixed C/C++ compiles
2985         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
2986         Define to bool, true, false, respectively, as GCC's builtin
2987         stdbool.h does.  Problem reported by Michael Goffioul in
2988         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
2989
2990 2012-08-28  Jim Meyering  <meyering@redhat.com>
2991
2992         revert last change: it was not needed
2993         * tests/test-vc-list-files-git.sh: There's already a test for
2994         a working git, just below.
2995
2996 2012-08-28  Jim Meyering  <meyering@redhat.com>
2997
2998         tests: test-vc-list-files-git.sh: skip if git is not available
2999         * tests/test-vc-list-files-git.sh: Skip this test when git is
3000         not available.
3001
3002 2012-08-26  Bruno Haible  <bruno@clisp.org>
3003
3004         gnulib-tool: Remove no-op option --no-changelog.
3005         * gnulib-tool (func_usage): Don't mention --no-changelog.
3006         (do_changelog): Remove variable.
3007         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
3008
3009 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3010
3011         doc: remove fdl-1.2.texi
3012         It is no longer used or maintained, and its use of @acronym
3013         is problematic.  See the thread containing
3014         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
3015         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
3016         * doc/old-licenses/fdl-1.2.texi: Remove.
3017
3018         execinfo: port to FreeBSD
3019         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
3020         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
3021         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
3022         * modules/execinfo (Link): Add $(LIB_EXECINFO).
3023
3024 2012-08-23  Jim Meyering  <meyering@redhat.com>
3025
3026         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
3027         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
3028         to placate gcc's -Wold-style-declaration.
3029
3030 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3031
3032         doc: do not use @acronym
3033         * doc/inet_ntoa.texi (inet_ntoa):
3034         * doc/parse-datetime.texi (Seconds since the Epoch)
3035         (Specifying time zone rules):
3036         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
3037         Don't use @acronym.  Problem reported by John Darlington in
3038         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
3039
3040 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
3041
3042         stdnoreturn: port to newer GCCs
3043         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
3044         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
3045         Problem reported by Jim Meyering in
3046         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
3047         Also, rename the 'test' function to a void a clash with the
3048         already-supplied 'main' function; this fixes a bug that incorrectly
3049         rejected GCC 4.7.1's <stdnoreturn.h>.
3050         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
3051         Document GCC problem.
3052
3053 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
3054
3055         pipe-filter: fix comment typo
3056         * lib/pipe-filter.h: Mention correct function.
3057
3058 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
3059
3060         execinfo: new module
3061         This is for Emacs.  Currently, it provides a no-effect stub
3062         on all platforms where it does not already work.
3063         It already works on glibc-based systems, and on Solaris 11.
3064         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
3065         New files.
3066         * doc/glibc-headers/execinfo.texi (execinfo.h):
3067         * MODULES.html.sh (Misc): Document it.
3068
3069 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
3070
3071         extern-inline: support old GCC 'inline'
3072         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
3073         if available.  This applies to GCC versions 2.7 through 4.2, or
3074         when newer GCC is using -fgnu89-inline.  The goal is to address
3075         some of the performance issues mentioned by Bruno Haible in
3076         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
3077
3078 2012-08-20  Eric Blake  <eblake@redhat.com>
3079
3080         maint.mk: avoid redundant file name in message
3081         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
3082         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
3083         (sc_makefile_path_separator_check): Remove bogus $(ME).
3084
3085 2012-08-20  Mike Frysinger <vapier@gentoo.org>
3086
3087         timer-time: fix link order when static linking on glibc
3088         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
3089         _after_ -lrt so that it's significant.
3090
3091 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
3092
3093         timespec: omit unnecessary AC_C_INLINE
3094         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
3095
3096         stat-time: omit unnecessary AC_C_INLINE
3097         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
3098         Do not require AC_C_INLINE.
3099
3100         ignore-value: omit unnecessary AC_C_INLINE
3101         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
3102
3103         sys_select: avoid 'static inline'
3104         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
3105
3106         mktime: avoid 'static inline'
3107         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
3108         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
3109
3110 2012-08-19  Bruno Haible  <bruno@clisp.org>
3111
3112         gnulib-tool: Improve coding style.
3113         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
3114         func_emit_lib_Makefile_am.
3115         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
3116
3117 2012-08-19  Bruno Haible  <bruno@clisp.org>
3118
3119         gnulib-tool: Fix indentation.
3120         * gnulib-tool (func_import): Fix indentation.
3121
3122 2012-08-19  Bruno Haible  <bruno@clisp.org>
3123
3124         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
3125         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
3126         on the list of removed files.
3127
3128 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
3129
3130         test-parse-datetime: avoid glibc leap-second glitch
3131         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
3132         with the 2012 rules.  Problem reported by Bruce Dubbs in
3133         <http://bugs.gnu.org/12206>.
3134
3135 2012-08-14  Bruno Haible  <bruno@clisp.org>
3136
3137         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
3138         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
3139         from argument.
3140         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
3141
3142 2012-08-14  Eric Blake  <eblake@redhat.com>
3143
3144         ldexp: relax license
3145         * modules/ldexp (License): Trivial relax, since the module only
3146         provides a permissively licensed m4 file.
3147
3148 2012-08-13  Bruno Haible  <bruno@clisp.org>
3149
3150         gnulib-tool: Fix persistence of --witness-c-macro option.
3151         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
3152         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
3153
3154 2012-08-11  Eric Blake  <eblake@redhat.com>
3155
3156         count-leading-zeros: use a lookup table on non-gcc compilers
3157         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
3158         alternate implementation, suggested by Jim Meyering.
3159
3160 2012-08-10  Eric Blake  <eblake@redhat.com>
3161
3162         count-leading-zeros: new module
3163         * modules/count-leading-zeros: New module.
3164         * m4/count-leading-zeros.m4: New file.
3165         * lib/count-leading-zeros.h: Likewise.
3166         * modules/count-leading-zeros-tests: New test.
3167         * tests/test-count-leading-zeros.c: New file.
3168         * MODULES.html.sh (Integer arithmetic functions): Document it.
3169
3170 2012-08-07  Simon Josefsson  <simon@josefsson.org>
3171             Jim Meyering  <meyering@redhat.com>
3172
3173         maintainer-makefile: Fix syntax error with dash.
3174         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
3175         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
3176
3177 2012-08-05  Jim Meyering  <meyering@redhat.com>
3178
3179         extern-inline: also ignore -Wmissing-declarations
3180         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
3181         required with gcc-4.8.0-to-be.
3182
3183         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
3184         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
3185         for /error ?([^,]*)/.  This avoids false-positives for strings like
3186         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
3187
3188 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
3189
3190         gnumakefile: better interaction with Automake-NG
3191         * modules/gnumakefile [Makefile.am]: The makefiles generated by
3192         Automake-NG always contain a definition of VPATH, even in non-VPATH
3193         builds (its value being simply '.' in that case).  So, in the
3194         'clean-GNUmakefile' rule, to determine whether running under a
3195         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
3196         '$(VPATH)' expands to the empty string.
3197
3198 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
3199
3200         base64: Use extern C scope in header file, for C++.
3201         * lib/base64.h: Add C++ namespace protection.
3202
3203 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
3204
3205         stat-time, timespec, u64: support naive out-of-dir builds
3206         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
3207         Use '#include "foo.h"', not '#include <foo.h>', when including
3208         one's own interface.  This works better when configuring with
3209         out-of-directory builds, since packages need not add an
3210         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
3211
3212 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
3213
3214         utimens: use extern-inline
3215         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
3216         * lib/utimens.h: Add copyright notice, since this is now large enough
3217         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3218         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
3219         * modules/utimens (Depends-on): Add extern-inline.
3220
3221         u64: use extern-inline
3222         * lib/u64.c: New file.
3223         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3224         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
3225         * modules/u64 (Files): Add lib/u64.c.
3226         (Depends-on): Add extern-inline.
3227         (configure.ac): No need to require AC_C_INLINE, since extern-inline
3228         does that now.
3229         (lib_SOURCES): Add u64.c.
3230
3231         timespec: use extern-inline
3232         * lib/timespec.c: New file.
3233         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3234         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
3235         * modules/timespec (Files): Add lib/timespec.c.
3236         (Depends-on): Add extern-inline.
3237         (lib_SOURCES): Add timespec.c.
3238
3239         stat-time: use extern-inline
3240         * lib/stat-time.c: New file.
3241         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3242         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
3243         * modules/stat-time (Files): Add lib/stat-time.c.
3244         (Depends-on): Add extern-inline.
3245         (lib_SOURCES): Add stat-time.c.
3246
3247         extern-inline: new module
3248         * modules/extern-inline, m4/extern-inline.m4: New files.
3249         This is for better support of 'extern inline' a la ISO C99,
3250         with a portable alternative on compilers that do not support
3251         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
3252         of the Emacs executable, when compiled with debugging disabled,
3253         which is a typical way that Emacs is built while developing.
3254
3255 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
3256
3257         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
3258         * build-aux/do-release-commit-and-tag: Move variable definitions
3259         together.
3260         ($branch): Instead of defaulting to "master", default to the current
3261         branch (as gnu-web-doc-update does).
3262         (help): Display the current values of the option arguments.
3263         * top/maint.mk (release-commit): New.
3264         * top/README-release: Simplify the corresponding step.
3265
3266 2012-07-30  Eric Blake  <eblake@redhat.com>
3267
3268         passfd: fix comment on recvfd
3269         * lib/passfd.c (recvfd): Fix comment.
3270         Reported by Jann Horn <jannhorn@googlemail.com>.
3271
3272 2012-07-30  Jim Meyering  <meyering@redhat.com>
3273
3274         maint.mk: avoid a sub-shell
3275         * top/maint.mk (release-prep): Remove unneeded sub-shell.
3276
3277 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3278
3279         maint.mk: use silent-rules support from Automake
3280         * top/maint.mk (news-check, vc-diff-check, announcement)
3281         (no-submodule-changes, alpha beta stable, release-prep)
3282         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
3283
3284 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3285
3286         maint.mk: provide a web-manual-update target
3287         * top/maint.mk: here.
3288         * top/README-release: Use it to simplify the web manual update step.
3289
3290 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3291
3292         README-release: shorten the circuit to post a news
3293         * top/README-release: Point directly to the news submission form.
3294
3295 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3296
3297         gnu-web-doc-update: fix --help
3298         * build-aux/gnu-web-doc-update: The information "top level" was written
3299         twice.
3300
3301 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3302
3303         maint.mk: absolute VPATH issue
3304         * top/maint.mk (release-prep): Help Git find .git/.
3305         From Jim Meyering.
3306
3307 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3308
3309         gitlog-to-changelog: fix previous change
3310         * build-aux/gitlog-to-changelog: Fix condition.
3311         Add missing ";".
3312
3313 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3314
3315         gitlog-to-changelog: don't expect .git to be in $srcdir
3316         Reported by Bruno Haible.
3317         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
3318         * build-aux/gitlog-to-changelog (&git_dir_option): New.
3319         Use it.
3320
3321 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3322
3323         maint.mk: absolute VPATH build fix
3324         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
3325         $(srcdir) is not a parent of $(builddir).
3326
3327 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
3328
3329         clean-temp: Fix memory leak.
3330         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
3331         'files' members of tmpdir.
3332
3333 2012-07-27  Jim Meyering  <meyering@redhat.com>
3334
3335         maint.mk: new rule: refresh-gnulib-patches
3336         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
3337         Use this rule to refresh them.
3338         * top/maint.mk (refresh-gnulib-patches): New rule.
3339
3340 2012-07-24  Bruno Haible  <bruno@clisp.org>
3341
3342         gnulib-tool: Fix handling of inctests variable.
3343         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
3344         Reported by Nick Bowler <nbowler@elliptictech.com>.
3345
3346 2012-07-22  Bruno Haible  <bruno@clisp.org>
3347
3348         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
3349         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
3350         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
3351         Remove exemption for getpass.h.
3352         Suggested by Eric Blake.
3353
3354 2012-07-20  Eric Blake  <eblake@redhat.com>
3355
3356         verify: document conflict with -Wnested-externs
3357         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
3358
3359         maint.mk: forbid exit(-1)
3360         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
3361
3362 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
3363
3364         fsusage: port back to Solaris
3365         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
3366         error (fsd not declared) on Solaris 10.  Reported privately by
3367         Andrew Borodin.
3368
3369 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
3370
3371         gnu-web-doc-update: fix error messages
3372         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
3373
3374         gnu-web-doc-update: check the requirements.
3375         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
3376         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
3377         * build-aux/bootstrap (find_tool): Comment change.
3378
3379 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
3380
3381         maint.mk: minor simplication.
3382         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
3383         for default values.
3384
3385 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
3386
3387         gitlog-to-changelog: VPATH build issues
3388         If builddir is not a subdirectory of srcdir, running git from it will
3389         fail.
3390         * build-aux/gitlog-to-changelog (--srcdir): New option.
3391
3392 2012-07-15  Bruno Haible  <bruno@clisp.org>
3393
3394         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
3395         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
3396         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
3397         Remove exemption for fpending.h.
3398         Suggested by Eric Blake.
3399
3400 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
3401
3402         pthread_sigmask: fix bug on FreeBSD 9
3403         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
3404         Include string.h.
3405         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
3406         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
3407         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
3408         but pthread_sigmask (1729, NULL, NULL) returns zero.
3409         See <http://bugs.gnu.org/11884>.
3410         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
3411         by inspecting whether the main call changed the old mask.
3412
3413 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
3414
3415         README-release: make it more legible
3416         * top/README-release: Improve typography slightly.
3417
3418 2012-07-15  Jim Meyering  <meyering@redhat.com>
3419
3420         maint: require that each sc_... command start with "@"
3421         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
3422         "make sc_maint" helps us avoid this nit.
3423
3424 2012-07-15  Jim Meyering  <meyering@redhat.com>
3425
3426         maint.mk: add leading "@" to quiet new "make syntax-check" rule
3427         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
3428
3429 2012-07-13  Eric Blake  <eblake@redhat.com>
3430
3431         maint.mk: new syntax check for HAVE_DECL checks
3432         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
3433         * cfg.mk
3434         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
3435         Exempt some false positives.
3436         Based on a report by Karel Zak.
3437
3438         argp: make HAVE_DECL usage consistent
3439         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
3440         macros, not whether they are defined.
3441         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
3442         convention with other declaration checks.
3443         Reported by Karel Zak, with suggestions from Paul Eggert.
3444
3445         stat-time: relax license to LGPLv2+
3446         * modules/stat-time (License): Relax, with consent of all authors.
3447
3448         strndup: fix m4 usage error
3449         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
3450         defined, to either 0 or 1.
3451         Reported by Karel Zak.
3452
3453 2012-07-11  Jim Meyering  <meyering@redhat.com>
3454
3455         maint: enable the sc_avoid_if_before_free syntax-check rule
3456         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
3457         (if_before_free_offenders_): Define.
3458         (if_before_free_basename_re_): Define.
3459         Exempt current files with useless if-before-free.
3460
3461 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
3462
3463         gettext: do not assume '#define ... defined ...' behavior
3464         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
3465         Do not use '#define FOO ... defined BAR ...', as the C standard says
3466         it's not portable to expect that this works after macro expansion.
3467         Problem reported for gzip by Steven M. Schweda in
3468         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
3469
3470 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
3471
3472         getloadavg: clean out old Emacs and Autoconf cruft
3473         See Glenn Morris in <http://bugs.gnu.org/11905>.
3474         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
3475         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
3476         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
3477         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
3478
3479 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
3480
3481         bootstrap: let warn be like tests/init.sh's warn_
3482         Reported by Jim Meyering.
3483         * build-aux/bootstrap (warn): Remove, replaced by...
3484         (warnf_, warn_): these.
3485         Adjust callers.
3486         Shorten messages that no longer fit in 80 columns.
3487
3488 2012-07-09  Bruno Haible  <bruno@clisp.org>
3489
3490         getopt: Simplify after Emacs changed.
3491         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
3492         (gl_GETOPT_IFELSE): Remove macro.
3493
3494 2012-07-09  Jim Meyering  <meyering@redhat.com>
3495
3496         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
3497         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
3498
3499         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
3500         Bugs in both of those conspired to make the
3501         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
3502         _sc_search_regexp's handling of non-empty $in_files would filter
3503         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
3504         choice of in_files value meant there would be no match in most
3505         projects, due to the presence of two or more Makefile.in files.
3506         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
3507         Fix a bug in how a non-empty $$in_files was processed:
3508         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
3509         in spite of the name, it's a regexp, not a list of file names.
3510
3511 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
3512
3513         getloadavg, getopt: fix commentary re configure.in
3514         Autoconf is deprecating the name 'configure.in', so change it to
3515         to the new name 'configure.ac' in a couple of places.
3516         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
3517         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
3518         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
3519         Emacs has renamed it to configure.ac, and it no longer refers
3520         to these macros anyway.
3521
3522         timespec: mark functions with const attributes
3523         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
3524         Mark with _GL_ATTRIBUTE_CONST.
3525
3526 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
3527
3528         canonicalize[-lgpl]: handle "guessing" values when cross-building
3529         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
3530         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
3531         matches "*yes" instead of just "yes".  Regression introduced in commit
3532         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
3533
3534 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
3535             Bruno Haible  <bruno@clisp.org>
3536
3537         canonicalize: make the right guess when cross-compiling to GNU
3538         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
3539         determine whether cross-compiling to glibc systems, so as to
3540         include GNU/Hurd.
3541
3542 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3543
3544         timespec-sub: avoid duplicate include
3545         * lib/timespec-sub.c: Do not include <config.h> twice.
3546         Reported by Juanma Barranquero.
3547
3548 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
3549
3550         bootstrap: use a more consistent error reporting scheme
3551         * build-aux/bootstrap (warn, die): New.
3552         Use them.
3553
3554 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
3555
3556         sys_time: allow too-wide tv_sec
3557         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
3558         timeval even if tv_sec is wider than time_t.  This allows
3559         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
3560         as without this patch gnulib replaces struct timeval
3561         and OpenBSD futimes therefore has a type mismatch.
3562         * doc/posix-headers/sys_time.texi: Mention this.
3563
3564         pthread: check for both pthread_create and pthread_join
3565         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
3566         alter the check so that it tests for both pthread_create and
3567         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
3568         Suggested by Bruno Haible and Richard Yao in
3569         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
3570
3571         parse-datetime: doc tuneup
3572         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
3573         spacing issues.
3574
3575 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
3576
3577         do-release-commit-and-tag: fix the previous commit
3578         * build-aux/do-release-commit-and-tag: Actually the test was right,
3579         but the comment and the error message were misleading.
3580         Fix comment, and improve error message.
3581         Perform check first, so that NEWS is not modified uselessly.
3582
3583         do-release-commit-and-tag: fix typo
3584         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
3585         _not_ start with a stub.
3586
3587 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
3588
3589         pthread: check for pthread_create, not pthread_join
3590         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
3591         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
3592         pthread_join in libc.  I hope this removes the need for all the
3593         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
3594         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
3595
3596 2012-07-04  Jim Meyering  <meyering@redhat.com>
3597
3598         parse-datetime: fix failure to diagnose invalid input
3599         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
3600         rather than diagnosing the invalid input.  Now it reports this:
3601         date: invalid date '\260'
3602         * lib/parse-datetime.y (to_uchar): Define.
3603         (yylex): Don't sign-extend "other" bytes.
3604         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
3605         Thanks to Bruno Haible for the patch to this file.
3606         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
3607         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
3608
3609 2012-07-03  Jim Meyering  <meyering@redhat.com>
3610
3611         bootstrap: do not require now-removed build-aux/missing
3612         Now that build-aux/missing is, er, missing, bootstrap would
3613         silently fail.
3614         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
3615         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
3616         no longer part of gnulib.
3617         Diagnose the failure.
3618
3619 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
3620
3621         alloca: add support for HP NonStop TNS/E native
3622         * lib/alloca.in.h (alloca): Support the new host.
3623         From a suggestion by Joachim Schmitz in
3624         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
3625
3626 2012-07-02  Pádraig Brady  <P@draigBrady.com>
3627
3628         fsusage: remove code not needed on non GNU/Linux systems.
3629
3630         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3631         Don't include headers no longer needed in this case.
3632         * lib/fsusage.c [STAT_STATVFS &&
3633         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
3634         STAT_STATFS2_FRSIZE to exclude code not used in this case.
3635
3636 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3637
3638         fsusage: include files needed for glibc 2.6 fallback
3639         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3640         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
3641         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
3642         Problem reported by Ludovic Courtès in
3643         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
3644
3645         fsusage: avoid needless check on GNU/Linux
3646         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
3647         on GNU/Linux systems, since it can't possibly work.
3648
3649 2012-07-01  Bruno Haible  <bruno@clisp.org>
3650
3651         log: Fix an autoconf >= 2.64 warning.
3652         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
3653         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3654
3655 2012-06-28  Bruno Haible  <bruno@clisp.org>
3656
3657         log10f: Fix possible configuration problem.
3658         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
3659         $LOGF_LIBM.
3660         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3661
3662 2012-06-28  Bruno Haible  <bruno@clisp.org>
3663
3664         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
3665         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
3666         not gl_cv_func_unlink_works.
3667         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3668
3669 2012-06-27  Eric Blake  <eblake@redhat.com>
3670
3671         config: drop scripts that automake says are not independent
3672         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
3673         * build-aux/elisp-comp: Delete.
3674         * build-aux/missing: Likewise.
3675         * build-aux/ylwrap: Likewise.
3676         * modules/elisp-comp: Likewise.
3677         * MODULES.html.sh: Drop mention of elisp-comp.
3678         * NEWS: Mention this.
3679
3680 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
3681
3682         root-uid: new module
3683         This is for portability to Tandem's NonStop Kernel.
3684         * lib/root-uid.h, modules/root-uid: New files.
3685         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
3686         * lib/write-any-file.c, tests/test-sethostname2.c:
3687         Include "root-uid.h".
3688         * lib/euidaccess.c (euidaccess):
3689         * lib/pt_chown.c (main):
3690         * lib/unlinkdir.c (cannot_unlink_dir):
3691         * lib/write-any-file.c (can_write_any_file):
3692         * m4/mknod.m4 (gl_FUNC_MKNOD):
3693         * tests/test-sethostname2.c (geteuid, main):
3694         Don't assume ROOT_UID == 0.
3695         * modules/euidaccess (Depends-on):
3696         * modules/pt_chown (Depends-on):
3697         * modules/sethostname-tests (Depends-on):
3698         * modules/unlinkdir (Depends-on):
3699         * modules/write-any-file (Depends-on):
3700         Add root-uid.
3701
3702         regex: use locale-independent comparison for codeset name
3703         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
3704         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
3705         for codeset name.
3706         * lib/regex_internal.h: Do not include <strings.h>, since we
3707         no longer use strcasecmp.
3708         * modules/regex (Depends-on): Remove strcase.
3709
3710 2012-06-23  Bruno Haible  <bruno@clisp.org>
3711
3712         getopt-posix: No longer guarantee that option processing is resettable.
3713         * doc/posix-functions/getopt.texi: Drop description of problem with
3714         internal state. Fix info about mingw and msvc9.
3715         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
3716         option processing by getopt(). Run three test programs instead of one.
3717         Simplify cross-compilation guess.
3718         * NEWS: Mention the change.
3719         Reported by Rich Felker <dalias@aerifal.cx>.
3720
3721 2012-06-26  Bruno Haible  <bruno@clisp.org>
3722
3723         argp, regex: Ensure strcasecmp gets declared.
3724         * lib/argp-help.c: Include <strings.h>.
3725         * lib/regex_internal.h: Likewise.
3726         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
3727
3728 2012-06-24  Bruno Haible  <bruno@clisp.org>
3729
3730         ptsname_r: Make it consistent with ptsname on AIX.
3731         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
3732         implementation as for OSF/1.
3733         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
3734         a pty master.
3735
3736         ptsname_r: Make it consistent with ptsname on OSF/1.
3737         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3738         OSF/1.
3739
3740 2012-06-24  Bruno Haible  <bruno@clisp.org>
3741
3742         ttyname_r: Fix result on OSF/1, Solaris.
3743         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
3744
3745 2012-06-24  Bruno Haible  <bruno@clisp.org>
3746
3747         ptsname_r: Add support for Solaris.
3748         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3749         Solaris.
3750
3751         ptsname_r: Fix test failure on native Windows.
3752         * modules/ptsname_r (Depends-on): Add isatty.
3753
3754         ptsname_r: Fix test failures on IRIX, Solaris.
3755         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
3756         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
3757         accordingly.
3758         * lib/ptsname_r.c: Include <fcntl.h>.
3759         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
3760         set errno if fd is invalid.
3761         * tests/test-isatty.c (main): Update comments.
3762
3763 2012-06-24  Bruno Haible  <bruno@clisp.org>
3764
3765         ptsname test: Extend test.
3766         * tests/test-ptsname.c: Include <errno.h>.
3767         (main): Test behaviour with invalid file descriptor.
3768
3769 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
3770
3771         time: fix obsolete comment
3772         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
3773         reference to HAVE_STRUCT_TIMESPEC in comment.
3774
3775 2012-06-23  Bruno Haible  <bruno@clisp.org>
3776
3777         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
3778         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
3779         does not handle abbreviated long options with equivalent
3780         disambiguations, set gl_replace_getopt to yes.
3781         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
3782
3783 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
3784
3785         time_r: fix typo that always overrode localtime_r decl
3786         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
3787         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
3788         not in a standard include.
3789
3790 2012-06-22  Bruno Haible  <bruno@clisp.org>
3791
3792         Write "Mac OS X" instead of "MacOS X".
3793         * README: Write "Mac OS X" instead of "MacOS X".
3794         * build-aux/bootstrap: Likewise.
3795         * build-aux/install-reloc: Likewise.
3796         * lib/acl-internal.h: Likewise.
3797         * lib/acl_entries.c: Likewise.
3798         * lib/argp-ba.c: Likewise.
3799         * lib/argp-pv.c: Likewise.
3800         * lib/config.charset: Likewise.
3801         * lib/copy-acl.c: Likewise.
3802         * lib/csharpexec.c: Likewise.
3803         * lib/euidaccess.c: Likewise.
3804         * lib/fbufmode.c: Likewise.
3805         * lib/fflush.c: Likewise.
3806         * lib/file-has-acl.c: Likewise.
3807         * lib/filemode.h: Likewise.
3808         * lib/fpurge.c: Likewise.
3809         * lib/freadable.c: Likewise.
3810         * lib/freadahead.c: Likewise.
3811         * lib/freading.c: Likewise.
3812         * lib/freadptr.c: Likewise.
3813         * lib/freadseek.c: Likewise.
3814         * lib/fseeko.c: Likewise.
3815         * lib/fseterr.c: Likewise.
3816         * lib/fsusage.c: Likewise.
3817         * lib/fwritable.c: Likewise.
3818         * lib/fwriting.c: Likewise.
3819         * lib/get-rusage-as.c: Likewise.
3820         * lib/get-rusage-data.c: Likewise.
3821         * lib/getdomainname.c: Likewise.
3822         * lib/idpriv-drop.c: Likewise.
3823         * lib/idpriv-droptemp.c: Likewise.
3824         * lib/localcharset.c: Likewise.
3825         * lib/locale.in.h: Likewise.
3826         * lib/localename.c: Likewise.
3827         * lib/mbsrtowcs-state.c: Likewise.
3828         * lib/nproc.c: Likewise.
3829         * lib/passfd.c: Likewise.
3830         * lib/posix_openpt.c: Likewise.
3831         * lib/printf-parse.c: Likewise.
3832         * lib/progreloc.c: Likewise.
3833         * lib/safe-read.h: Likewise.
3834         * lib/safe-write.h: Likewise.
3835         * lib/sched.in.h: Likewise.
3836         * lib/set-mode-acl.c: Likewise.
3837         * lib/signal.in.h: Likewise.
3838         * lib/stdint.in.h: Likewise.
3839         * lib/stdio-impl.h: Likewise.
3840         * lib/stdlib.in.h: Likewise.
3841         * lib/strtod.c: Likewise.
3842         * lib/sys_select.in.h: Likewise.
3843         * lib/tcgetsid.c: Likewise.
3844         * lib/unistd.in.h: Likewise.
3845         * lib/unlockpt.c: Likewise.
3846         * lib/vasnprintf.c: Likewise.
3847         * lib/vma-iter.c: Likewise.
3848         * lib/wcsrtombs-state.c: Likewise.
3849         * m4/acl.m4: Likewise.
3850         * m4/acosl.m4: Likewise.
3851         * m4/asinl.m4: Likewise.
3852         * m4/atanl.m4: Likewise.
3853         * m4/c-stack.m4: Likewise.
3854         * m4/cosl.m4: Likewise.
3855         * m4/expl.m4: Likewise.
3856         * m4/extensions.m4: Likewise.
3857         * m4/fdatasync.m4: Likewise.
3858         * m4/fmal.m4: Likewise.
3859         * m4/frexp.m4: Likewise.
3860         * m4/frexpf.m4: Likewise.
3861         * m4/frexpl.m4: Likewise.
3862         * m4/fsusage.m4: Likewise.
3863         * m4/getdomainname.m4: Likewise.
3864         * m4/getloadavg.m4: Likewise.
3865         * m4/getopt.m4: Likewise.
3866         * m4/gettext.m4: Likewise.
3867         * m4/gnulib-common.m4: Likewise.
3868         * m4/intdiv0.m4: Likewise.
3869         * m4/intlmacosx.m4: Likewise.
3870         * m4/largefile.m4: Likewise.
3871         * m4/ldexpl.m4: Likewise.
3872         * m4/link-follow.m4: Likewise.
3873         * m4/locale-ar.m4: Likewise.
3874         * m4/locale-fr.m4: Likewise.
3875         * m4/locale-ja.m4: Likewise.
3876         * m4/locale-tr.m4: Likewise.
3877         * m4/locale-zh.m4: Likewise.
3878         * m4/locale_h.m4: Likewise.
3879         * m4/lock.m4: Likewise.
3880         * m4/logl.m4: Likewise.
3881         * m4/mathfunc.m4: Likewise.
3882         * m4/minus-zero.m4: Likewise.
3883         * m4/mktime.m4: Likewise.
3884         * m4/mmap-anon.m4: Likewise.
3885         * m4/multiarch.m4: Likewise.
3886         * m4/nanosleep.m4: Likewise.
3887         * m4/nocrash.m4: Likewise.
3888         * m4/poll.m4: Likewise.
3889         * m4/printf-frexpl.m4: Likewise.
3890         * m4/printf.m4: Likewise.
3891         * m4/signbit.m4: Likewise.
3892         * m4/sinl.m4: Likewise.
3893         * m4/sqrtl.m4: Likewise.
3894         * m4/strerror_r.m4: Likewise.
3895         * m4/tanl.m4: Likewise.
3896         * m4/threadlib.m4: Likewise.
3897         * m4/ttyname_r.m4: Likewise.
3898         * m4/unlink.m4: Likewise.
3899         * m4/visibility.m4: Likewise.
3900         * m4/wcwidth.m4: Likewise.
3901         * tests/minus-zero.h: Likewise.
3902         * tests/test-alloca-opt.c: Likewise.
3903         * tests/test-copy-acl.sh: Likewise.
3904         * tests/test-copy-file.sh: Likewise.
3905         * tests/test-fdatasync.c: Likewise.
3906         * tests/test-file-has-acl.sh: Likewise.
3907         * tests/test-flock.c: Likewise.
3908         * tests/test-fsync.c: Likewise.
3909         * tests/test-localename.c: Likewise.
3910         * tests/test-malloca.c: Likewise.
3911         * tests/test-nonblocking-pipe.h: Likewise.
3912         * tests/test-nonblocking-socket.h: Likewise.
3913         * tests/test-openpty.c: Likewise.
3914         * tests/test-posix_openpt.c: Likewise.
3915         * tests/test-ptsname.c: Likewise.
3916         * tests/test-ptsname_r.c: Likewise.
3917         * tests/test-sameacls.c: Likewise.
3918         * tests/test-select.h: Likewise.
3919         * tests/test-set-mode-acl.sh: Likewise.
3920         * tests/test-snprintf-posix.h: Likewise.
3921         * tests/test-sprintf-posix.h: Likewise.
3922         * tests/test-strtod.c: Likewise.
3923         * tests/test-time.c: Likewise.
3924         * tests/test-vasnprintf-posix.c: Likewise.
3925         * tests/test-vasprintf-posix.c: Likewise.
3926         * doc/acl-resources.txt: Likewise.
3927         * doc/**/*.texi: Likewise.
3928         Reported by Max Horn <max@quendi.de>.
3929
3930 2012-06-22  Bruno Haible  <bruno@clisp.org>
3931
3932         grantpt: Relax requirement regarding invalid file descriptors.
3933         * lib/grantpt.c: Don't include <fcntl.h>.
3934         (grantpt): Don't verify the validity of the file descriptor.
3935         * modules/grantpt (Depends-on): Remove fcntl-h.
3936         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
3937         file descriptors.
3938         * doc/posix-functions/grantpt.texi: Document more platforms on which
3939         grantpt succeeds for invalid file descriptors.
3940         Reported by Rich Felker <dalias@aerifal.cx>.
3941
3942 2012-06-22  Bruno Haible  <bruno@clisp.org>
3943
3944         fbufmode test: Don't test unportable behaviour.
3945         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
3946         (main): Invoke it three times.
3947         Reported by Szabolcs Nagy <nsz@port70.net>
3948         and Rich Felker <dalias@aerifal.cx>.
3949
3950 2012-06-21  Bruno Haible  <bruno@clisp.org>
3951
3952         gnulib-tool: Refactor inctests variable.
3953         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
3954         (func_modules_transitive_closure,
3955         func_modules_transitive_closure_separately,
3956         func_import, func_create_testdir): Update.
3957
3958         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
3959         * gnulib-tool: Accept option --without-tests.
3960         (func_usage): Document --without-tests option. Rearrange.
3961         (inctests): Normalize according to the mode.
3962         * NEWS: Mention the change.
3963         Suggested by Simon Josefsson.
3964
3965 2012-06-21  Bruce Korb  <bkorb@gnu.org>
3966
3967         parse-duration test: Avoid spurious output.
3968         * tests/test-parse-duration.sh: Reindent with leading tabs.
3969
3970 2012-06-21  Jim Meyering  <meyering@redhat.com>
3971
3972         maint: disable the strncpy prohibition
3973         * cfg.mk: Do not prohibit strncpy here.
3974
3975 2012-06-21  Bruno Haible  <bruno@clisp.org>
3976
3977         nonblocking: Avoid compilation error on mingw64.
3978         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
3979         fscanf.
3980         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
3981         * modules/vfscanf (configure.ac): Likewise.
3982         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
3983         definition only if stdio.h has prepared it.
3984         Reported by Daniel P. Berrange <berrange@redhat.com>.
3985
3986 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
3987
3988         gnulib-tool: Use readlink if it is available.
3989         * gnulib-tool (func_readlink): Choose function more appropriately.
3990
3991 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
3992
3993         posixtm-tests: port to buggy compiler
3994         Problem reported by Simon Josefsson in
3995         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
3996         * modules/posixtm-tests (Depends-on): Add stdint.
3997         * tests/test-posixtm.c (struct posixtm_test.t_expected):
3998         Now of type int_least64_t, not int64_t, both because that's
3999         what INT64_C returns and because int_least64_t works even
4000         on 72-bit hosts.
4001         (T): Use INT64_C on constants outside the traditional int range,
4002         to work around compiler bug noted by Simon.
4003
4004         mktime: fix integer overflow in 'configure'-time test
4005         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
4006         after integer overflow.  Problem reported by Rich Felker in
4007         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
4008         Also, don't look for further instances of a bug if we've already
4009         found one instance; this helps 'configure' run faster.
4010
4011 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
4012
4013         tmpfile, clean-temp: Fix invocation of GetVersionEx.
4014         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
4015         GetVersionEx correctly.
4016         * lib/clean-temp.c (supports_delete_on_close): Likewise.
4017
4018 2012-06-20  Bruno Haible  <bruno@clisp.org>
4019
4020         fdopen: Allow implementations that don't reject invalid fd arguments.
4021         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
4022         succeeds.
4023         Reported by Rich Felker <dalias@aerifal.cx>.
4024
4025 2012-06-20  Simon Josefsson  <simon@josefsson.org>
4026
4027         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
4028         bring in LIBINTL.
4029
4030 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
4031
4032         init.sh: do not rely on autoupated PWD
4033         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
4034         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
4035         Although Nelson's bug was not necessarily fixed by this patch,
4036         it seems wise to make the change for safety.
4037         * tests/init.sh (path_prepend_): Do not rely on PWD updating
4038         automagically after 'cd'; this is not reliable on older shells.
4039         (setup_): Fail if we cannot cd to temporary directory.
4040
4041 2012-06-19  Bruno Haible  <bruno@clisp.org>
4042
4043         stat, fstat: Avoid warnings on mingw64.
4044         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
4045         redefining.
4046         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
4047         Reported by Daniel P. Berrange <berrange@redhat.com>.
4048
4049 2012-06-19  Bruno Haible  <bruno@clisp.org>
4050
4051         stdioext: Add support for musl libc.
4052
4053         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
4054         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
4055
4056         * m4/fseterr.m4: New file.
4057         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
4058         function exists.
4059         * modules/fseterr (Files): Add m4/fseterr.m4.
4060         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
4061         __fseterr does not exist.
4062         (Makefile.am): Remove fseterr.c from lib_SOURCES.
4063
4064         * lib/freadable.h: Update comment.
4065
4066         * lib/fwritable.h: Update comment.
4067
4068         * lib/freading.h: Update comment.
4069
4070         * lib/fwriting.h: Update comment.
4071
4072         * m4/freadahead.m4: New file.
4073         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
4074         that function exists.
4075         * modules/freadahead (Files): Add m4/freadahead.m4.
4076         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
4077         __freadahead does not exist.
4078         (Makefile.am): Remove freadahead.c from lib_SOURCES.
4079
4080         * m4/freadptr.m4: New file.
4081         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
4082         function exists.
4083         * modules/freadptr (Files): Add m4/freadptr.m4.
4084         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
4085         __freadptr does not exist.
4086         (Makefile.am): Remove freadptr.c from lib_SOURCES.
4087
4088         * m4/freadseek.m4: New file.
4089         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
4090         exists.
4091         * modules/freadseek (Files): Add m4/freadseek.m4.
4092         (configure.ac): Invoke gl_FUNC_FREADSEEK.
4093
4094         * lib/fpurge.c (fpurge): Update comment.
4095
4096         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
4097
4098 2012-06-19  Bruno Haible  <bruno@clisp.org>
4099
4100         *printf-posix: Put more info into config.log.
4101         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
4102         exit code into config.log.
4103
4104 2012-06-19  Bruno Haible  <bruno@clisp.org>
4105
4106         getopt-gnu: Fix exit code overflow in autoconf test.
4107         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
4108         to keep them below < 128.
4109
4110 2012-06-17  Jim Meyering  <meyering@redhat.com>
4111
4112         maint.mk: fix typo in code to derive GPG key at release time
4113         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
4114
4115 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
4116
4117         regex: avoid warning when pointers are not long
4118         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
4119         and uintptr_t, not long, for portability to hosts where pointers and
4120         long have different sizes.  Issue noted by Daniel P. Berrange in
4121         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
4122         and fix suggested by Bruno Haible in
4123         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
4124
4125 2012-06-17  Bruno Haible  <bruno@clisp.org>
4126
4127         dummy: Relicense into the public domain.
4128         * modules/dummy (License): Set to "public domain".
4129         Suggested by Reuben Thomas.
4130
4131 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
4132
4133         announce-gen: VPATH issues
4134         * build-aux/announce-gen (--srcdir): New option, used to trim the
4135         $srcdir part of the path from $builddir to NEWS.
4136         * top/maint.mk (announcement): Adjust.
4137
4138 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
4139
4140         gnu-web-doc-update: VPATH builds
4141         * build-aux/gnu-web-doc-update (--builddir): New option.
4142         Revamp the handling of options.
4143         Prefer $(...) to `...`.
4144         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
4145         the template, and it is GNU mktemp specific.
4146         Prefer set -e to long series of &&.
4147         Restore the initial git branch, not "master".
4148         Properly initialize submodules (don't rely only on bootstrap).
4149         Do not reconfigure blindly, use config.status.
4150         * top/README-release: Update instructions for gnu-web-doc-update.
4151
4152 2012-06-11  Jim Meyering  <meyering@redhat.com>
4153
4154         maint.mk: revert most of the previous change re "all these"
4155         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
4156         For rationale, see the discussion at
4157         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
4158
4159 2012-06-10  Karl Berry  <karl@gnu.org>
4160
4161         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
4162
4163         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
4164
4165 2012-06-10  Bruce Korb  <bkorb@gnu.org>
4166
4167         parse-duration: Relicense under LGPLv2+.
4168         * modules/parse-duration (License): Change to LGPLv2+.
4169
4170 2012-06-10  Jim Meyering  <meyering@redhat.com>
4171
4172         maint.mk: prohibit common grammar error: "all these"
4173         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
4174         the list of prohibited word sequences.  It should be "all of these".
4175         * lib/tempname.c (__gen_tempname): Fix one of them.
4176
4177 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
4178
4179         do-release-commit-and-tag: support VPATH builds
4180         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
4181         (noteworthy): Defined earlier to factor its value.
4182         (noteworthy_stub): New.
4183         Use it to factor.
4184         (help_version): Split into...
4185         (help, version): these.
4186         Adjust the option processing part.
4187         Support "--option=value" in addition to "--option value".
4188         (builddir): New.
4189         (--builddir): New option.
4190         * top/README-release: Document this.
4191         Reword slightly so that the reader cannot understand that he
4192         has to do these steps before calling do-release-commit-and-tag.
4193
4194 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
4195
4196         readme-release: also require announce-gen and maintainer-makefile
4197         * modules/readme-release (Depends-on): here.
4198         * modules/announce-gen, modules/do-release-commit-and-tag,
4199         modules/gnu-web-doc-update, modules/maintainer-makefile
4200         (Description): Point to readme-release.
4201
4202 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
4203
4204         maint.mk: fix VPATH issues.
4205         * top/maint.mk (news-check): GNU Make understand $< very well.
4206         (release-prep): NEWS is in $(srcdir).
4207
4208 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
4209
4210         readme-release: require the promoted modules.
4211         * modules/readme-release (Depends-on): Add
4212         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
4213         in this text.
4214
4215 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
4216             Bruno Haible  <bruno@clisp.org>
4217
4218         error, strerror-override: Support mingw64 from Fedora 17.
4219         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
4220         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
4221         EINPROGRESS.
4222         * lib/strerror-override.h (strerror_override): Test it.
4223         * lib/strerror-override.c (strerror_override): Likewise.
4224         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
4225
4226 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
4227             Bruno Haible  <bruno@clisp.org>
4228
4229         error, strerror-override: Support mingw64 from Fedora 17.
4230         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
4231         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
4232         * lib/strerror-override.h (strerror_override): Test it.
4233         * lib/strerror-override.c (strerror_override): Likewise.
4234
4235 2012-06-03  Bruno Haible  <bruno@clisp.org>
4236
4237         error, strerror-override: Support new errno values from POSIX:2008.
4238         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
4239         ENOTRECOVERABLE.
4240         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
4241         platforms.
4242         * lib/strerror-override.c (strerror_override): Conditionalize the
4243         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
4244         * lib/strerror-override.h (strerror_override): Declare also if
4245         GNULIB_defined_EOWNERDEAD is defined.
4246         * tests/test-errno.c (e130, e131): New variables.
4247         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
4248         ENOTRECOVERABLE.
4249         Reported by Paolo Bonzini.
4250
4251 2012-05-31  Jim Meyering  <meyering@redhat.com>
4252
4253         savewd: add missing dependency on sys_wait module
4254         * modules/savewd (Depends-on): Add sys_wait, needed at least
4255         for MSVC.  Report and suggested change by Michael Goffioul.
4256
4257 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4258
4259         system-quote-tests: port to CentOS 5
4260         Problem reported by Tom G. Christensen in
4261         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
4262         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
4263
4264 2012-05-29  Jim Meyering  <meyering@redhat.com>
4265
4266         maint: fix typos in comments and ChangeLog
4267         Culprits identified and fixed mostly automatically using these commands:
4268         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
4269         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
4270         using http://github.com/lyda/misspell-check
4271         * ChangeLog: Fix typos.
4272         * doc/solaris-versions: Likewise.
4273         * lib/regexec.c (re_search_stub): Likewise.
4274         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
4275
4276 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
4277
4278         manywarnings: remove duplicate -Wmultichar entry
4279         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
4280         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
4281         so keep the entry marked as documented.
4282
4283 2012-05-27  Karl Berry  <karl@gnu.org>
4284
4285         * config/srclist.txt (mktime.c): remove last libc sync,
4286         perhaps just temporarily.
4287
4288 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
4289
4290         regex: don't assume uint64_t or uint32_t
4291         * lib/regcomp.c (init_word_char): Don't assume that the types
4292         uint64_t and uint32_t exist.  The C standard doesn't guarantee
4293         them, and on some 32-bit compilers there is no uint64_t.
4294         Problem reported by Gianluigi Tiesi in
4295         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
4296
4297 2012-05-25  Jim Meyering  <meyering@redhat.com>
4298
4299         maint.mk: add strncpy-prohibiting syntax-check rule
4300         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
4301
4302 2012-05-24  Jim Meyering  <meyering@redhat.com>
4303
4304         maint.mk: compute $(gpg_key_ID) more portably
4305         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
4306         That use of sed is not portable to some fringe systems.
4307         Reported by Paul Eggert in
4308         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
4309
4310 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
4311
4312         mktime: sync from glibc
4313         * config/srclist.txt: Uncomment mktime.c.
4314         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
4315         First, indent with tabs, since glibc uses tabs and doesn't want to
4316         change and we'd rather be identical to glibc.  Also, two small
4317         coding changes:
4318         (isdst_differ): Use &&, not &, as && is the usual style.
4319         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
4320         for clarity.
4321
4322 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4323
4324         announce-gen: du -h is more portable than du --human
4325         * build-aux/announce-gen (sizes): Invoke du with -h instead
4326         of --human.  Accept leading white space in its output.
4327
4328 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4329
4330         announce-gen: Improve diagnostics.
4331         * build-aux/announce-gen: When parsing command line options,
4332         prefer "announce-gen: option --release-type requires an argument"
4333         to "Option release-type requires an argument".
4334
4335 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4336
4337         maint.mk: gpg_key_ID: use sed more portably
4338         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
4339         the closing brace.
4340         (refresh-po): Fuse two sed invocations into one.
4341
4342 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
4343
4344         gitlog-to-changelog: support the log message format used in Bison.
4345         * build-aux/gitlog-to-changelog: Support --strip-tab and
4346         --strip-cherry-picked.
4347
4348 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
4349
4350         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
4351         the rest of the current time slice to another thread in the current
4352         process. So if the thread that feeds the file decscriptor we're
4353         polling is not in the current process, we get busy-waiting.
4354         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
4355         Patch from Theodore Leblond.
4356         * lib/select.c: Split polling out of the loop that sets the output
4357         fd_sets.  Check for zero result and loop if the wait timeout is
4358         infinite.
4359
4360 2012-05-21  Simon Josefsson  <simon@josefsson.org>
4361
4362         select: Fix build error on IRIX 6.5.
4363         * lib/select.c: Include stddef.h for NULL.
4364
4365 2012-05-21  Simon Josefsson  <simon@josefsson.org>
4366
4367         gc: fix libgcrypt detection on older machines.
4368         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
4369         copyright years because the file has been distributed every year
4370         since it was created.
4371
4372 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
4373
4374         crypto: fix bug in large buffer handling
4375         Problem reported by Serge Belyshev for glibc in
4376         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
4377         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
4378         * lib/md4.c (md4_process_block):
4379         * lib/md5.c (md5_process_block):
4380         * lib/sha1.c (sha1_process_block):
4381         * lib/sha256.c (sha256_process_block):
4382         Don't assume the buffer length is less than 2**32.
4383         * lib/sha512.c (sha512_process_block): Likewise.
4384         Here, the bug is present only in the rare case where the host does
4385         not support uint64_t or where size_t is wider than 64 bits.
4386         Use u64size to work around the problems.
4387         * lib/u64.h (u64size): New macro.
4388
4389 2012-05-15  Pádraig Brady  <P@draigBrady.com>
4390
4391         fsusage: fix block size returned on older Linux 2.6
4392
4393         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
4394         which is available since Linux 2.6.
4395         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
4396         when the member is available so it can be used as a fallback.
4397         * doc/posix-functions/statvfs.texi: Mention the hang issue
4398         on Linux < 2.6.36.
4399
4400 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
4401
4402         bootstrap: suppress stderr chatter
4403         * build-aux/bootstrap (insert_sorted_if_absent, main program):
4404         Omit unnecessary chatter to stderr.  The main program chatter
4405         was there only inadvertantly.
4406
4407         bootstrap: .gitignore files created by autopoint, libtool
4408         I ran into this problem when bootstrapping the latest diffutils.
4409         After './bootstrap', 'git status' reported lots of untracked files
4410         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
4411         autopoint and do not need to be version-controlled.
4412         * build-aux/bootstrap: Put into .gitignore the files that
4413         autopoint and libtool create, by keeping track of files that exist
4414         after but not before these programs are run.
4415         (version_controlled_file): Move up.  2nd arg is now full file
4416         name, not base name; this is more convenient.  Put CVS at the end,
4417         as it's now somewhat deprecated.
4418
4419 2012-05-14  Jim Meyering  <meyering@redhat.com>
4420
4421         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
4422         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
4423         definition.  Reported by Bruno Haible.
4424
4425 2012-05-13  Bruno Haible  <bruno@clisp.org>
4426             Paul Eggert  <eggert@cs.ucla.edu>
4427
4428         binary-io: Define set_binary_mode function.
4429         * lib/binary-io.h (set_binary_mode): New function.
4430         (SET_BINARY): Define in terms of set_binary_mode.
4431         * modules/binary-io (configure.ac): Require AC_C_INLINE.
4432         * tests/test-binary-io.c (main): Accept an argument, and test either
4433         set_binary_mode or SET_BINARY depending on the argument.
4434         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
4435         argument. Clean up also t-bin-out0.tmp.
4436
4437 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
4438
4439         bootstrap: take advantage of POSIX shell features
4440
4441         The 'bootstrap' script offered by Gnulib script already uses POSIX
4442         shell features (like $((...)) arithmetic expansions) that are not
4443         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
4444         means that bootstrap must already be run using a proper POSIX shell,
4445         which will thus provide more features, like ${var#pattern} parameter
4446         expansion or inversion of a command exit status with '!'.  We can
4447         thus use these features to improve the clarity and the performances
4448         of the bootstrap script.
4449
4450         Suggested by Eric Blake.
4451
4452         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
4453         of sed/expr plus command substitutions, to save some forks.  While
4454         we are at it, prefer the POSIX $(...) form of command substitution,
4455         rather than the legacy form `...` (since the former is visually
4456         clearer and interacts better with quoting), and prefer the idiom:
4457           "if ! CMD; then ACTION ..."
4458         over the idiom:
4459           "if CMD; then :; else ACTION ..."
4460         which was required by legacy Bourne shells not supporting '!'.
4461
4462 2012-05-12  Bruno Haible  <bruno@clisp.org>
4463
4464         system-quote: Add more comments.
4465         * lib/system-quote.h: Add more comments about wilcards and limitations.
4466         Suggested by Eli Zaretskii <eliz@gnu.org>.
4467
4468         sh-quote, system-quote: Add comments about wildcards.
4469         * lib/sh-quote.h: Clarify what happens with wildcard characters.
4470         * lib/system-quote.h: Likewise.
4471         Reported by Eli Zaretskii <eliz@gnu.org>.
4472
4473 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
4474
4475         fsusage: check for GNU/Linux statvfs problem dynamically
4476         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
4477         Define STAT_STATFS2_BSIZE too, since in this case the code now
4478         checks dynamically whether statvfs is reliable, falling back on
4479         Linux-style statfs otherwise.
4480         (statvfs_works): New function, for dynamically testing statvfs.
4481         (get_fs_usage) [STAT_STATVFS]: Use it.
4482         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
4483         statvfs on GNU/Linux hosts, since it's now done dynamically.
4484
4485 2012-05-10  Bruno Haible  <bruno@clisp.org>
4486
4487         system-quote, execute, spawn-pipe: Escape '?' on Windows.
4488         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
4489         '?' character.
4490         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
4491         * tests/test-system-quote-main.c (check_all): Check also strings like
4492         "??????????".
4493         Reported by Eli Zaretskii <eliz@gnu.org>.
4494
4495 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
4496
4497         _Noreturn: port config.h to gcc -Wundef
4498         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
4499         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
4500         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
4501
4502 2012-05-10  Bruno Haible  <bruno@clisp.org>
4503
4504         system-quote: Refactor.
4505         * lib/system-quote.h (system_quote_copy): Fix comment.
4506         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
4507         New functions, extracted from system_quote_copy.
4508         (system_quote_length, system_quote_copy): Use these functions.
4509         Reported by Paul Eggert.
4510
4511 2012-05-08  Bruno Haible  <bruno@clisp.org>
4512
4513         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
4514         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
4515
4516 2012-05-08  Bruno Haible  <bruno@clisp.org>
4517
4518         Tests for module 'system-quote'.
4519         * modules/system-quote-tests: New file.
4520         * tests/test-system-quote.sh: New file.
4521         * tests/test-system-quote-main.c: New file.
4522         * tests/test-system-quote-child.c: New file.
4523
4524         New module 'system-quote'.
4525         * lib/system-quote.h: New file.
4526         * lib/system-quote.c: New file.
4527         * modules/system-quote: New file.
4528
4529 2012-05-08  Bruno Haible  <bruno@clisp.org>
4530
4531         sh-quote: Make C++ safe and allow multiple inclusion.
4532         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
4533         declarations in extern "C".
4534
4535 2012-05-08  Bruno Haible  <bruno@clisp.org>
4536
4537         sh-quote tests: Make tests stricter.
4538         * tests/test-sh-quote.c (check_one): Check the return value of
4539         shell_quote_copy.
4540         (main): Check a string with a CR character. Check a string that
4541         contains UCHAR_MAX.
4542
4543 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
4544
4545         warnings.m4: provide a means to specify the program to compile.
4546         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
4547         (gl_WARN_ADD): here.
4548         Use gl_AS_VAR_APPEND.
4549         Support an argument to specify the program to compile.
4550         (gl_WARN_ADD): Accept an argument to specify the program to compile.
4551         AC_SUBST the WARN_CFLAGS when they are used.
4552         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
4553         leave this to gl_WARN_ADD.
4554
4555 2012-05-08  Eric Blake  <eblake@redhat.com>
4556
4557         doc: recommendations on gettext version
4558         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
4559         choice between versions.
4560         * DEPENDENCIES (gettext): Cover both approaches.
4561
4562 2012-05-08  Jim Meyering  <meyering@redhat.com>
4563
4564         init.sh: explain why EXEEXT support uses aliases rather than functions
4565         * tests/init.sh: Add a comment.
4566
4567         init.sh: don't let bash aliases interfere with tests
4568         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
4569         is bash.  This avoids problems for those who alias standard commands to
4570         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
4571         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
4572
4573 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
4574
4575         stdint: be more consistent with glibc, SunOS libc
4576         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
4577         (gl_int_fast16_t, gl_uint_fast16_t)
4578         (gl_int_fast32_t, gl_uint_fast32_t)
4579         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
4580         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
4581         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
4582         Be consistent with glibc by default, and with SunOS 5.10 and later
4583         if __sun is defined.  This lessens the likelihood of clashes if
4584         code compiled for older hosts is combined with code compiled for
4585         newer ones.  Problem reported by Niels Möller in
4586         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
4587
4588 2012-05-07  Eric Blake  <eblake@redhat.com>
4589
4590         isatty: relax license to LGPLv2+
4591         * modules/isatty (License): Relax license.
4592
4593 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4594
4595         stat-size: comment fix
4596         * lib/stat-size.h: Remove obsolete comment about indenting.
4597
4598 2012-05-06  Bruno Haible  <bruno@clisp.org>
4599
4600         Tests for module 'sh-quote'.
4601         * modules/sh-quote-tests: New file.
4602         * tests/test-sh-quote.c: New file.
4603
4604 2012-05-06  Bruno Haible  <bruno@clisp.org>
4605
4606         sh-quote: Improve shell_quote_argv's signature.
4607         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
4608         * lib/sh-quote.c (shell_quote_argv): Likewise.
4609
4610 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4611
4612         stdint: document issues with int_fast8_t etc.
4613         * doc/posix-headers/stdint.texi (stdint.h): Say that other
4614         stdint.h substitutes may define these types differently.  See
4615         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
4616
4617 2012-05-05  Bruno Haible  <bruno@clisp.org>
4618
4619         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
4620         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
4621         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
4622         or 'guessing no (mishandles large arguments)'.
4623
4624 2012-05-05  Bruno Haible  <bruno@clisp.org>
4625
4626         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
4627         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
4628         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4629         set gl_cv_func_link_follows_symlink to "guessing no".
4630
4631 2012-05-05  Bruno Haible  <bruno@clisp.org>
4632
4633         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
4634         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
4635         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
4636         "guessing no".
4637         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
4638
4639 2012-05-05  Bruno Haible  <bruno@clisp.org>
4640
4641         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
4642         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
4643         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4644         set gl_cv_struct_dirent_d_ino to "guessing yes".
4645
4646 2012-05-05  Bruno Haible  <bruno@clisp.org>
4647
4648         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
4649         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
4650         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
4651         "guessing yes".
4652
4653 2012-05-05  Bruno Haible  <bruno@clisp.org>
4654
4655         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
4656         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
4657         compiling to a glibc system, set gl_cv_func_signbit and
4658         gl_cv_func_signbit_gcc to "guessing yes".
4659
4660 2012-05-05  Bruno Haible  <bruno@clisp.org>
4661
4662         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
4663         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
4664         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
4665         to "guessing yes".
4666         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
4667         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
4668
4669 2012-05-05  Bruno Haible  <bruno@clisp.org>
4670
4671         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
4672         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
4673         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
4674         gl_cv_func_realpath_works to "guessing yes".
4675
4676 2012-05-05  Bruno Haible  <bruno@clisp.org>
4677
4678         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
4679         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
4680         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
4681
4682 2012-05-04  Bruno Haible  <bruno@clisp.org>
4683
4684         Tweak last commit.
4685         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
4686         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4687
4688 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
4689
4690         unistd_h: make it easier to avoid sys_types_h
4691         This is useful for Emacs, which has its own method of porting to
4692         Windows, and which therefore does not need the sys_types_h module.
4693         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
4694         code moved here from gl_SYS_TYPES_H.
4695         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
4696         using the code directly.
4697         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
4698         gl_SYS_TYPES_H.
4699         * modules/sys_types (Files):
4700         * modules/unistd (Files): Add m4/off_t.m4.
4701
4702 2012-05-03  Bruno Haible  <bruno@clisp.org>
4703
4704         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
4705         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
4706         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
4707         "guessing yes" or "guessing no".
4708         (gl_FUNC_LSTAT): Update.
4709         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
4710         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
4711         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
4712
4713 2012-05-03  Bruno Haible  <bruno@clisp.org>
4714
4715         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
4716         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
4717         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
4718         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
4719         cross-compiling, choose the first alternative on glibc systems.
4720         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
4721
4722 2012-05-03  Bruno Haible  <bruno@clisp.org>
4723
4724         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
4725         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
4726         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
4727
4728 2012-05-03  Bruno Haible  <bruno@clisp.org>
4729
4730         chown: Avoid "guessing no" when cross-compiling to glibc systems.
4731         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
4732
4733 2012-05-03  Bruno Haible  <bruno@clisp.org>
4734
4735         Avoid "guessing no" guesses when cross-compiling to glibc systems.
4736         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
4737         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
4738         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
4739         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
4740         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
4741         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
4742         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
4743         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
4744         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
4745         compiling to glibc systems, set gl_cv_func_chown_slash_works,
4746         gl_cv_func_chown_ctime_works to "guessing yes".
4747         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
4748         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
4749         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
4750         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
4751         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
4752         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
4753         compiling to glibc systems, set gl_cv_func_open_directory_works to
4754         "guessing yes".
4755         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
4756         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
4757         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
4758         "guessing yes".
4759         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
4760         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
4761         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
4762         compiling to glibc systems, set gl_cv_func_floorf_ieee to
4763         "guessing yes".
4764         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
4765         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
4766         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
4767         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
4768         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
4769         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
4770         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
4771         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
4772         "guessing yes".
4773         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
4774         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
4775         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
4776         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
4777         "guessing yes".
4778         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
4779         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
4780         "guessing yes".
4781         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
4782         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
4783         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
4784         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
4785         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
4786         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
4787         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
4788         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
4789         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
4790         compiling to glibc systems, set gl_cv_func_log10f_ieee to
4791         "guessing yes".
4792         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
4793         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
4794         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
4795         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
4796         "guessing yes".
4797         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
4798         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
4799         "guessing yes".
4800         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
4801         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
4802         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
4803         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
4804         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
4805         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
4806         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
4807         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
4808         compiling to glibc systems, set gl_cv_func_mkfifo_works to
4809         "guessing yes".
4810         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
4811         compiling to glibc systems, set gl_cv_func_mknod_works to
4812         "guessing yes".
4813         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
4814         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
4815         "guessing yes".
4816         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
4817         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
4818         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
4819         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
4820         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
4821         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
4822         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
4823         compiling to glibc systems, set gl_cv_func_svid_putenv to
4824         "guessing yes".
4825         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
4826         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
4827         "guessing yes".
4828         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
4829         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
4830         "guessing yes".
4831         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
4832         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
4833         to "guessing yes".
4834         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
4835         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
4836         to "guessing yes".
4837         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
4838         compiling to glibc systems, set gl_cv_func_rmdir_works to
4839         "guessing yes".
4840         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
4841         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
4842         gl_cv_func_unlink_parent_fails to "guessing yes".
4843         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
4844         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
4845         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
4846         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
4847         gl_cv_func_rename_dest_works to "guessing yes".
4848         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
4849         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
4850         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
4851         compiling to glibc systems, set gl_cv_func_roundf_ieee to
4852         "guessing yes".
4853         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
4854         compiling to glibc systems, set gl_cv_func_roundl_ieee to
4855         "guessing yes".
4856         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
4857         compiling to glibc systems, set gl_cv_func_setenv_works to
4858         "guessing yes".
4859         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
4860         compiling to glibc systems, set gl_cv_func_unsetenv_works to
4861         "guessing yes".
4862         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
4863         compiling to glibc systems, set gl_cv_func_sleep_works to
4864         "guessing yes".
4865         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
4866         compiling to glibc systems, set gl_cv_func_stat_file_slash to
4867         "guessing yes".
4868         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
4869         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
4870         "guessing yes".
4871         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
4872         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
4873         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
4874         compiling to glibc systems, set gl_cv_func_truncf_ieee to
4875         "guessing yes".
4876         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
4877         compiling to glibc systems, set gl_cv_func_truncl_ieee to
4878         "guessing yes".
4879         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
4880         compiling to glibc systems, set gl_cv_func_usleep_works to
4881         "guessing yes".
4882         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
4883         compiling to glibc systems, set gl_cv_func_futimesat_works to
4884         "guessing yes".
4885
4886 2012-05-03  Bruno Haible  <bruno@clisp.org>
4887
4888         Say "guessing yes" or "guessing no" when cross-compiling.
4889         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
4890         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
4891         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
4892         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
4893         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
4894         am_cv_func_working_getline to "guessing yes" or "guessing no".
4895         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
4896         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
4897         (gl_FUNC_MEMMEM): When cross-compiling, set
4898         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
4899         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
4900         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
4901         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
4902         set gl_cv_func_strcasestr_works_always to "guessing yes" or
4903         "guessing no".
4904         (gl_FUNC_STRCASESTR): When cross-compiling, set
4905         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
4906         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
4907         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
4908         (gl_FUNC_STRSTR): When cross-compiling, set
4909         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
4910         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
4911         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
4912         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
4913         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
4914
4915 2012-05-01  Bruno Haible  <bruno@clisp.org>
4916
4917         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
4918         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
4919         * build-aux/reloc-ldflags: Likewise.
4920         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
4921
4922 2012-05-01  Bruno Haible  <bruno@clisp.org>
4923
4924         gnulib-tool: Remove transitional code.
4925         * gnulib-tool: Don't warn about --import with 0 arguments any more.
4926         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
4927
4928 2012-05-01  Bruno Haible  <bruno@clisp.org>
4929
4930         getcwd: Fix misindentation.
4931         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
4932
4933 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
4934
4935         exclude: process exclude and include directives in order
4936         This restores the pre-2009 behavior, and is part of a fix of a
4937         grep bug reported by Quentin Arce in
4938         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
4939         * lib/exclude.c (struct exclude): Remove 'tail' member.
4940         (new_exclude_segment): Prepend the new segment instead of appending.
4941         Return void, since that's now more convenient.
4942         (file_pattern_matches): Renamed from excluded_file_pattern_p.
4943         (file_name_matches): Renamed from excluded_file_name_p.
4944         (file_pattern_matches, file_name_matches):
4945         Return true if the pattern matches, not if it excludes.
4946         All callers changed.
4947         (excluded_file_name): Process the list in reverse order;
4948         since the list is now reversed this restores the pre-2009 behavior.
4949         (add_exclude): Adjust to new reversed-order list.  Use local var
4950         rather than macro, for clarity.
4951         * tests/test-exclude7.sh: Adjust to corrected behavior.
4952
4953         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
4954         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
4955         it's not possible here.  Handle the case of \ at end of pattern
4956         without dumping core.
4957         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
4958
4959         _Noreturn: future-proof non-GNU and non-MSVC compilers
4960         * build-aux/snippet/_Noreturn.h (_Noreturn):
4961         * m4/gnulib-common.m4 (gl_COMMON_BODY):
4962         Do not define _Noreturn if __STDC_VERSION__ indicates this is
4963         C11 or later.  This is more likely to work with random future C
4964         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
4965         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
4966
4967         exclude: handle wildcards with FNM_EXTMATCH
4968         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
4969         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
4970         comment that "has wildcards" really means "has or may have
4971         wildcards".  Simplify by avoiding the need to call strcspn.
4972
4973 2012-04-29  Bruno Haible  <bruno@clisp.org>
4974
4975         gnulib-tool: Fix list of authors.
4976         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
4977
4978 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
4979
4980         bootstrap: support Automake-NG in $buildreq
4981         * bootstrap (check_versions): Handle automake and aclocal from
4982         Automake-NG specially.  They can be specified as respectively
4983         the "automake-ng" and "aclocal-ng" requirements.
4984
4985 2012-04-25  Eric Blake  <eblake@redhat.com>
4986
4987         bootstrap: only force latest Makefile.in.in for gettext module
4988         * build-aux/bootstrap (with_gettext): Only install latest
4989         Makefile.in.in for projects requesting bleeding edge gettext.
4990
4991 2012-04-22  Bruno Haible  <bruno@clisp.org>
4992
4993         doc: Mention reason for replacement on glibc/Linux systems.
4994         * doc/posix-functions/dprintf.texi: Mention the problem with special
4995         'long double' values.
4996         * doc/posix-functions/fprintf.texi: Likewise.
4997         * doc/posix-functions/printf.texi: Likewise.
4998         * doc/posix-functions/snprintf.texi: Likewise.
4999         * doc/posix-functions/sprintf.texi: Likewise.
5000         * doc/posix-functions/vdprintf.texi: Likewise.
5001         * doc/posix-functions/vfprintf.texi: Likewise.
5002         * doc/posix-functions/vprintf.texi: Likewise.
5003         * doc/posix-functions/vsnprintf.texi: Likewise.
5004         * doc/posix-functions/vsprintf.texi: Likewise.
5005         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
5006         platforms with F_DUPFD_CLOEXEC problems.
5007         * doc/posix-functions/glob.texi: Mention which platforms are affected
5008         by the problem with symbolic links.
5009         * doc/posix-functions/linkat.texi: Mention the problem with
5010         AT_SYMLINK_FOLLOW on Linux.
5011
5012 2012-04-22  Bruno Haible  <bruno@clisp.org>
5013
5014         pwrite: Don't replace on all platforms.
5015         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
5016
5017 2012-04-22  Bruno Haible  <bruno@clisp.org>
5018
5019         rint* tests: Avoid gcc warnings.
5020         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
5021         * tests/test-rintf.c (INFINITY, NAN): Likewise.
5022         * tests/test-rintl.c (INFINITY, NAN): Likewise.
5023
5024 2012-04-21  Bruno Haible  <bruno@clisp.org>
5025
5026         users.txt: Update.
5027         * users.txt: Add freedink, wdiff. Update URLs for projects that have
5028         switched from CVS to git, bzr, or svn.
5029
5030 2012-04-21  Bruno Haible  <bruno@clisp.org>
5031
5032         Large File Support for native Windows platforms.
5033
5034         * m4/largefile.m4 (gl_LARGEFILE): New macro.
5035         * modules/largefile (configure.ac): Require gl_LARGEFILE.
5036
5037         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
5038         type.
5039         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
5040         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
5041         * doc/posix-headers/sys_types.texi: Mention the effect of the
5042         'largefile' module.
5043
5044         * lib/fcntl.in.h: Add comments about off_t.
5045         * modules/fcntl-h (Depends-on): Add sys_types.
5046
5047         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
5048         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
5049         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
5050         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
5051         * modules/unistd (Depends-on): Add sys_types.
5052         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
5053
5054         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
5055         instead of lseek.
5056         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
5057         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
5058         * modules/lseek (Depends-on): Add sys_types.
5059
5060         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
5061         msvc-nothrow.h.
5062         (SetFileSize): New function.
5063         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
5064         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
5065         if Large File Support is requested.
5066         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
5067         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
5068
5069         * lib/stdio.in.h: Add comments about off_t.
5070         * modules/stdio (Depends-on): Add sys_types.
5071
5072         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
5073         instead of ftello.
5074         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
5075         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
5076         (gl_PREREQ_FTELLO): New macro.
5077         * modules/ftello (Depends-on): Add sys_types.
5078         (configure.ac): Incoke gl_PREREQ_FTELLO.
5079
5080         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
5081         instead of fseeko.
5082         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
5083         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
5084         (gl_PREREQ_FSEEKO): New macro.
5085         * modules/fseeko (Depends-on): Add sys_types.
5086         (configure.ac): Invoke gl_PREREQ_FSEEKO.
5087
5088         * lib/sys_stat.in.h: Add comments about off_t.
5089         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
5090         64-bit integer for st_size in 'struct stat'.
5091         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
5092         Define _GL_WINDOWS_64_BIT_ST_SIZE.
5093         * modules/sys_stat (Depends-on): Add sys_types.
5094         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
5095
5096         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
5097         instead of stat or _stat.
5098
5099         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
5100         'struct _stati64' instead of fstat and 'struct stat'.
5101         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
5102         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
5103
5104         Reported by Ray Satiro <raysatiro@yahoo.com>.
5105
5106 2012-04-19  Eric Blake  <eblake@redhat.com>
5107
5108         bootstrap: accommodate older libtool
5109         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
5110         Reported by Daniel P. Berrange.
5111
5112 2012-04-19  Jim Meyering  <meyering@redhat.com>
5113
5114         announce-gen: avoid failure due to lack of Digest::SHA1
5115         Even with the preferred Digest::SHA available, this script
5116         would fail when the backup module, Digest::SHA1, was not installed.
5117         * build-aux/announce-gen: Quote the conditional use of "use".
5118         Reported by Reuben Thomas in:
5119         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
5120
5121         bootstrap: don't let a user's CDPATH setting affect this script
5122         When CDPATH is set, cd will sometimes generate output.
5123         When "cd" is run in a subshell whose output matters, that
5124         surprising-to-some output can cause malfunction.
5125         Unsetting CDPATH turns off this shell "feature."
5126         * build-aux/bootstrap (CDPATH): Unset.
5127         Reported by Reuben Thomas in:
5128         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
5129         and inspired by his patch here:
5130         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
5131
5132 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
5133         and Jim Meyering  <meyering@redhat.com>
5134
5135         maint.mk: catch "see @xref{}" and similar
5136         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
5137         prohibit "See also @xref{", "Also see @pxref{", and similar.
5138
5139 2012-04-16  Jim Meyering  <meyering@redhat.com>
5140
5141         bootstrap: really use gnulib's po/Makefile.in.in
5142         * build-aux/bootstrap: Correct the source file name in previous change.
5143         Reported by Akim Demaille.
5144
5145         configmake: correct minor inconsistency in Makefile rule
5146         * modules/configmake (Makefile.am): All other rules like this one
5147         run the final "mv -f ..." in the same backslash-continued command
5148         as the one that does everything else.  This one put the mv -f ...
5149         command on a separate, non-backslash-continued line.
5150         Make it like the others.
5151
5152         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
5153         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
5154         the one from gettext.  Reported by Akim Demaille.
5155
5156 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
5157
5158         Fix recursion of install-* into po directories.
5159         Bison's install-pdf bug reported by Hans Aberg at
5160         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
5161         * build-aux/po/Makefile.in.in (install-dvi, install-html)
5162         (install-info, install-pdf, install-ps): New targets.
5163
5164 2012-04-16  Jim Meyering  <meyering@redhat.com>
5165
5166         maint: avoid spurious "make sc_maint" failure
5167         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
5168         exempt all *.class file names, for lib/javaversion.class.
5169
5170 2012-04-15  Bruno Haible  <bruno@clisp.org>
5171
5172         lseek: Make configure test independent of environment.
5173         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
5174         Windows, we know that lseek() on pipes is broken; skip the runtime
5175         test.
5176
5177 2012-04-14  Bruno Haible  <bruno@clisp.org>
5178
5179         stat: Bypass buggy override in mingw64.
5180         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
5181         * lib/stat.c (stat) [mingw64]: Define to _stat.
5182         * doc/posix-functions/stat.texi: Mention mingw64 bug.
5183
5184 2012-04-14  Bruno Haible  <bruno@clisp.org>
5185
5186         pathmax: Fix compilation error on MSVC 9.
5187         * modules/pathmax (Depends-on): Add unistd.
5188
5189 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
5190
5191         README: document pointer comparison assumption
5192         * README (Portability guidelines): Document assumption about
5193         pointer comparisons, in response to a recent bug-gnulib comment by
5194         Jeffrey Kegler.
5195
5196 2012-04-12  Bruno Haible  <bruno@clisp.org>
5197
5198         Tests for module 'getrusage'.
5199         * modules/getrusage-tests: New file.
5200         * tests/test-getrusage.c: New file.
5201
5202         New module 'getrusage'.
5203         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
5204         warn-on-use.h.
5205         (getrusage): New declaration.
5206         * lib/getrusage.c: New file.
5207         * m4/getrusage.m4: New file.
5208         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
5209         is declared.
5210         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
5211         HAVE_GETRUSAGE.
5212         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
5213         snippet/c++defs, snippet/warn-on-use.
5214         (Makefile.am): Update generation of sys/resource.h. Substitute
5215         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
5216         * modules/getrusage: New file.
5217         * doc/posix-functions/getrusage.texi: Mention the new module.
5218
5219 2012-04-12  Bruno Haible  <bruno@clisp.org>
5220
5221         Tests for module 'sys_resource'.
5222         * modules/sys_resource-tests: New file.
5223         * tests/test-sys_resource.c: New file.
5224
5225         New module 'sys_resource'.
5226         * lib/sys_resource.in.h: New file.
5227         * m4/sys_resource_h.m4: New file.
5228         * modules/sys_resource: New file.
5229         * doc/posix-headers/sys_resource.texi: Mention the new module.
5230
5231 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
5232
5233         ioctl: Fix compilation error on mingw.
5234         * lib/ioctl.c: Include <windows.h>.
5235         Also reported by Ray Satiro <raysatiro@yahoo.com>.
5236
5237 2012-04-04  Jim Meyering  <meyering@redhat.com>
5238
5239         regex: correct #pragma guard expression
5240         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
5241         not 4.3.  Correct its cpp guard expression.
5242
5243 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
5244
5245         regex: remove unnecessary type punning
5246         Problem reported by Vladimir Serbinenko in
5247         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
5248         * lib/regex.h (struct re_pattern_buffer): Change the type of
5249         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
5250         Fix comment to match code.
5251         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
5252         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
5253         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
5254         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
5255         (set_regs):
5256         Omit no-longer-necessary casts.
5257
5258 2012-04-03  Bruno Haible  <bruno@clisp.org>
5259
5260         Tests for module 'ilogbl'.
5261         * modules/ilogbl-tests: New file.
5262         * tests/test-ilogbl.c: New file.
5263
5264         New module 'ilogbl'.
5265         * lib/math.in.h (ilogbl): New declaration.
5266         * lib/ilogbl.c: New file.
5267         * m4/ilogbl.m4: New file.
5268         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
5269         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
5270         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
5271         Split sed invocation, to avoid the limit of 100 substitutions of
5272         HP-UX 'sed'.
5273         * modules/ilogbl: New file.
5274         * tests/test-math-c++.cc: Check the declaration of ilogbl.
5275         * doc/posix-functions/ilogbl.texi: Mention the new module.
5276
5277 2012-04-03  Bruno Haible  <bruno@clisp.org>
5278
5279         Tests for module 'ilogbf'.
5280         * modules/ilogbf-tests: New file.
5281         * tests/test-ilogbf.c: New file.
5282
5283         New module 'ilogbf'.
5284         * lib/math.in.h (ilogbf): New declaration.
5285         * lib/ilogbf.c: New file.
5286         * m4/ilogbf.m4: New file.
5287         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
5288         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
5289         REPLACE_ILOGBF.
5290         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
5291         REPLACE_ILOGBF.
5292         * modules/ilogbf: New file.
5293         * tests/test-math-c++.cc: Check the declaration of ilogbf.
5294         * doc/posix-functions/ilogbf.texi: Mention the new module.
5295
5296 2012-04-03  Bruno Haible  <bruno@clisp.org>
5297
5298         Tests for module 'ilogb'.
5299         * modules/ilogb-tests: New file.
5300         * tests/test-ilogb.c: New file.
5301         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
5302         tests/test-logb-ieee.h.
5303
5304         New module 'ilogb'.
5305         * lib/math.in.h (ilogb): New declaration.
5306         * lib/ilogb.c: New file.
5307         * m4/ilogb.m4: New file.
5308         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
5309         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
5310         REPLACE_ILOGB.
5311         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
5312         REPLACE_ILOGB.
5313         * modules/ilogb: New file.
5314         * tests/test-math-c++.cc: Check the declaration of ilogb.
5315         * doc/posix-functions/ilogb.texi: Mention the new module.
5316
5317 2012-04-03  Bruno Haible  <bruno@clisp.org>
5318
5319         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
5320         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
5321         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
5322         (main): Check their values.
5323         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
5324         problem.
5325
5326 2012-04-03  Bruno Haible  <bruno@clisp.org>
5327
5328         Tests for module 'logbl-ieee'.
5329         * modules/logbl-ieee-tests: New file.
5330         * tests/test-logbl-ieee.c: New file.
5331
5332         New module 'logbl-ieee'.
5333         * modules/logbl-ieee: New file.
5334
5335         Tests for module 'logb-ieee'.
5336         * modules/logb-ieee-tests: New file.
5337         * tests/test-logb-ieee.c: New file.
5338
5339         New module 'logb-ieee'.
5340         * modules/logb-ieee: New file.
5341
5342         Tests for module 'logbf-ieee'.
5343         * modules/logbf-ieee-tests: New file.
5344         * tests/test-logbf-ieee.c: New file.
5345         * tests/test-logb-ieee.h: New file.
5346
5347         New module 'logbf-ieee'.
5348         * modules/logbf-ieee: New file.
5349
5350 2012-04-03  Bruno Haible  <bruno@clisp.org>
5351
5352         Tests for module 'logbl'.
5353         * modules/logbl-tests: New file.
5354         * tests/test-logbl.c: New file.
5355
5356         New module 'logbl'.
5357         * lib/math.in.h (logbl): New declaration.
5358         * lib/logbl.c: New file.
5359         * m4/logbl.m4: New file.
5360         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
5361         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
5362         REPLACE_LOGBL.
5363         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
5364         REPLACE_LOGBL.
5365         * modules/logbl: New file.
5366         * tests/test-math-c++.cc: Check the declaration of logbl.
5367         * doc/posix-functions/logbl.texi: Mention the new module.
5368
5369 2012-04-02  Bruno Haible  <bruno@clisp.org>
5370
5371         Tests for module 'logbf'.
5372         * modules/logbf-tests: New file.
5373         * tests/test-logbf.c: New file.
5374
5375         New module 'logbf'.
5376         * lib/math.in.h (logbf): New declaration.
5377         * lib/logbf.c: New file.
5378         * m4/logbf.m4: New file.
5379         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
5380         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
5381         REPLACE_LOGBF.
5382         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
5383         REPLACE_LOGBF.
5384         * modules/logbf: New file.
5385         * tests/test-math-c++.cc: Check the declaration of logbf.
5386         * doc/posix-functions/logbf.texi: Mention the new module.
5387
5388 2012-04-02  Bruno Haible  <bruno@clisp.org>
5389
5390         logb tests: More tests.
5391         * tests/test-logb.h: New file, based on tests/test-logb.c and
5392         tests/test-frexp.h.
5393         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
5394         (main): Just invoke test_function.
5395         * modules/logb-tests (Files): Add tests/test-logb.h,
5396         tests/minus-zero.h, tests/randomd.c.
5397         (Makefile.am): Add randomd.c to test_logb_SOURCES.
5398
5399         logb: Provide replacement and workarounds.
5400         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
5401         is 1.
5402         * lib/logb.c: New file.
5403         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
5404         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
5405         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
5406         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
5407         * modules/logb (Files): Add lib/logb.c.
5408         (Depends-on): Add isfinite, frexp, isnand.
5409         (configure.ac): Compile the replacement code logb.c if needed.
5410         * tests/test-math-c++.cc: Check the declaration of logb.
5411         * doc/posix-functions/logb.texi: Mention the replacement and the bug
5412         with subnormal numbers.
5413
5414 2012-04-02  Bruno Haible  <bruno@clisp.org>
5415
5416         log10* tests: Speed up.
5417         * tests/test-log10.h (test_function): Reduce amount of random numbers
5418         to test.
5419
5420 2012-04-01  Bruno Haible  <bruno@clisp.org>
5421
5422         logf-ieee: Fix test whether logf works.
5423         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
5424
5425 2012-04-01  Bruno Haible  <bruno@clisp.org>
5426
5427         log10l: Work around log10l-ieee test failure on IRIX 6.5.
5428         * lib/log10l.c: Include <float.h>
5429         (log10l): On IRIX, normalize the +Infinity value.
5430         * modules/log10l (Depends-on): Add 'float'.
5431         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
5432         +Infinity.
5433
5434         log10f-ieee: Work around test failure on NetBSD 5.1.
5435         * m4/log10f-ieee.m4: New file.
5436         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
5437         test whether log10f works with a negative argument. Replace it if not.
5438         * lib/log10f.c (log10f): For negative arguments, return NaN.
5439         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
5440         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
5441         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
5442
5443         log10f-ieee: Work around test failure on Solaris 9.
5444         * modules/log10f-ieee (Depends-on): Add log10-ieee.
5445         (configure.ac): Require gl_FUNC_LOG10F.
5446
5447         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5448         * m4/log10-ieee.m4: New file.
5449         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
5450         whether log10 works with a negative argument. Replace it if not.
5451         * lib/log10.c (log10): For negative arguments, return NaN.
5452         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
5453         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
5454         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
5455
5456         Tests for module 'log10l-ieee'.
5457         * modules/log10l-ieee-tests: New file.
5458         * tests/test-log10l-ieee.c: New file.
5459
5460         New module 'log10l-ieee'.
5461         * modules/log10l-ieee: New file.
5462
5463         Tests for module 'log10-ieee'.
5464         * modules/log10-ieee-tests: New file.
5465         * tests/test-log10-ieee.c: New file.
5466
5467         New module 'log10-ieee'.
5468         * modules/log10-ieee: New file.
5469
5470         Tests for module 'log10f-ieee'.
5471         * modules/log10f-ieee-tests: New file.
5472         * tests/test-log10f-ieee.c: New file.
5473         * tests/test-log10-ieee.h: New file.
5474
5475         New module 'log10f-ieee'.
5476         * modules/log10f-ieee: New file.
5477
5478 2012-04-01  Bruno Haible  <bruno@clisp.org>
5479
5480         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
5481         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
5482         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
5483         workaround.
5484         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
5485         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
5486         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
5487         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
5488         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
5489         (Depends-on): Update conditions.
5490         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
5491         IRIX 6.5, OSF/1 5.1 problems.
5492
5493 2012-04-01  Bruno Haible  <bruno@clisp.org>
5494
5495         log10f: Work around OSF/1 5.1 bug.
5496         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
5497         * lib/log10f.c (log10f): If logf exists, use it and provide just the
5498         workaround.
5499         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
5500         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
5501         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
5502         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
5503         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
5504         (Depends-on): Update conditions.
5505         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
5506
5507 2012-04-01  Bruno Haible  <bruno@clisp.org>
5508
5509         log10: Work around OSF/1 5.1 bug.
5510         * lib/math.in.h (log10): New declaration.
5511         * lib/log10.c: New file.
5512         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
5513         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
5514         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
5515         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
5516         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
5517         * modules/log10 (Files): Add lib/log10.c.
5518         (Depends-on): Add math.
5519         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
5520         * tests/test-math-c++.cc: Check the declaration of log10.
5521         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
5522
5523 2012-03-31  Bruno Haible  <bruno@clisp.org>
5524
5525         log10l tests: More tests.
5526         * modules/log10l-tests (Files): Add tests/test-log10l.h,
5527         tests/minus-zero.h, tests/randoml.c.
5528         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
5529         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
5530         (main): Invoke test_function.
5531
5532         log10f tests: More tests.
5533         * modules/log10f-tests (Files): Add tests/test-log10.h,
5534         tests/minus-zero.h, tests/randomf.c.
5535         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
5536         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
5537         (main): Invoke test_function.
5538
5539         log10 tests: More tests.
5540         * tests/test-log10.h: New file.
5541         * modules/log10-tests (Files): Add tests/test-log10.h,
5542         tests/minus-zero.h, tests/randomd.c.
5543         (Makefile.am): Add randomd.c to test_log10_SOURCES.
5544         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
5545         (main): Invoke test_function.
5546
5547 2012-03-31  Simon Josefsson  <simon@josefsson.org>
5548
5549         fflush: Fix syntax error.
5550         * lib/fflush.c: Include unused-parameter.h, needed for
5551         _GL_UNUSED_PARAMETER.
5552         * modules/fflush (Depends-on): Add snippet/unused-parameter.
5553
5554 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
5555
5556         regex: pacify GCC when compiling GRUB
5557         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
5558         a diagnostic.  Reported by Vladimir Serbinenko in
5559         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
5560
5561 2012-03-29  Eric Blake  <eblake@redhat.com>
5562
5563         stdio: don't assume gets any more
5564         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
5565         support.
5566         * modules/stdio (Makefile.am): Likewise.
5567         * lib/stdio-read.c (gets): Likewise.
5568         * tests/test-stdio-c++.cc: Likewise.
5569         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
5570         * lib/stdio.in.h (gets): Make warning occur in more places.
5571         * doc/posix-functions/gets.texi (gets): Update documentation.
5572         Reported by Christer Solskogen.
5573
5574         maint.mk: fix syntax checks without exclusions
5575         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
5576         Reported by Daniel P. Berrange.
5577
5578         strerror_r: avoid compiler warning
5579         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
5580         level.
5581
5582         fflush: avoid compiler warning
5583         * lib/fflush.c (update_fpos_cache): Mark variables that are
5584         potentially unused.
5585
5586 2012-03-25  Bruno Haible  <bruno@clisp.org>
5587
5588         Tests for module 'localeconv'.
5589         * modules/localeconv-tests: New file.
5590         * tests/test-localeconv.c: New file.
5591
5592         New module 'localeconv'.
5593         * lib/locale.in.h (localeconv): New declaration.
5594         * lib/localeconv.c: New file.
5595         * m4/localeconv.m4: New file.
5596         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
5597         REPLACE_LOCALECONV.
5598         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
5599         REPLACE_LOCALECONV.
5600         * modules/localeconv: New file.
5601         * modules/nl_langinfo (Depends-on): Add localeconv.
5602         * modules/human (Depends-on): Likewise.
5603         * doc/posix-functions/localeconv.texi: Mention the new module.
5604
5605 2012-03-25  Bruno Haible  <bruno@clisp.org>
5606
5607         locale: Provide a complete 'struct lconv'.
5608         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5609         'struct lconv' does not contain int_p_cs_precedes.
5610         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5611         * doc/posix-headers/locale.texi: Update.
5612
5613         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
5614         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
5615         * doc/posix-headers/locale.texi: Update.
5616
5617         locale: Provide a working 'struct lconv'.
5618         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
5619         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5620         'struct lconv' does not even contain decimal_point.
5621         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
5622         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
5623         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5624         * doc/posix-headers/locale.texi: Mention the problems with
5625         'struct lconv'.
5626         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
5627
5628 2012-03-24  Bruno Haible  <bruno@clisp.org>
5629
5630         Enable common subexpression optimization in GCC.
5631         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
5632         macros.
5633         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
5634         GCC attribute 'const'.
5635         (uc_locale_language): Declare with GCC attribute 'pure'.
5636         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
5637         with GCC attribute 'const'.
5638         * lib/unictype.in.h (uc_is_general_category_withtable,
5639         uc_combining_class, uc_combining_class_name,
5640         uc_combining_class_long_name, uc_bidi_class_name,
5641         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
5642         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
5643         uc_decimal_value, uc_digit_value, uc_numeric_value,
5644         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
5645         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
5646         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
5647         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
5648         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
5649         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
5650         Declare with GCC attribute 'const'.
5651         (uc_general_category_name, uc_general_category_long_name,
5652         uc_general_category_byname, uc_general_category,
5653         uc_is_general_category, uc_combining_class_byname,
5654         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
5655         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
5656         Declare with GCC attribute 'pure'.
5657         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
5658         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
5659         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
5660         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
5661         with GCC attribute 'pure'.
5662         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
5663         'const'.
5664         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
5665         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
5666         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
5667         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
5668         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
5669         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
5670         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
5671         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
5672         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
5673         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
5674         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
5675         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
5676         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
5677         GCC attribute 'pure'.
5678         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
5679         'const'.
5680         * lib/uniwidth.in.h (uc_width): Simplify declaration.
5681         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
5682         u32_strwidth): Declare with GCC attribute 'pure'.
5683
5684         Enable common subexpression optimization in GCC.
5685         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5686         (alphasort): Declare with GCC attribute 'pure'.
5687         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5688         (atoll): Declare with GCC attribute 'pure'.
5689         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
5690         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
5691         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
5692         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5693         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
5694         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
5695         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
5696
5697 2012-03-24  Bruno Haible  <bruno@clisp.org>
5698
5699         gnulib-tool: Avoid unintended error output from 'cmp'.
5700         * gnulib-tool (func_add_file, func_update_file, func_import): Use
5701         "cmp -s", not "cmp > /dev/null".
5702
5703 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5704
5705         gnulib-tool: fix imprecise comments w.r.t. an automake bug
5706
5707         It's not just Automake versions < 1.9b that creates an empty
5708         pkgdatadir at installation time if pkgdata_DATA is specified
5709         to empty; modern automake versions do this as well, at least
5710         until automake 1.11.4 (not yet released at the moment of writing,
5711         but soon to appear).  That behaviour was generally considered a
5712         feature rather than a bug, at least until this discussion:
5713         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
5714
5715         See also automake bugs #10997 and #11030.
5716
5717         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
5718         reference to relevant automake bug numbers.
5719         (func_emit_tests_Makefile_am): Likewise.
5720
5721 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5722
5723         announce-gen: use Digest::SHA when possible
5724         * build-aux/announce-gen: Use Digest::SHA when possible, falling
5725         back to Digest::SHA1 if necessary.
5726
5727 2012-03-20  Jim Meyering  <meyering@redhat.com>
5728
5729         tests: avoid gcc warnings about argv vs. const initializers
5730         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
5731         warnings about discarding 'const' qualifier from pointer target type.
5732         * tests/test-posix_spawn2.c (main): Likewise.
5733
5734 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5735
5736         README-release: simplify slightly
5737         * top/README-release: Run "git checkout master" only once.
5738
5739 2012-03-15  Mark Wielaard  <mark@klomp.org>
5740
5741         git-merge-changelog: add specific example on how to use with hg.
5742         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
5743
5744 2012-03-18  Mark Wielaard  <mark@klomp.org>
5745
5746         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
5747
5748 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
5749
5750         git-version-gen: don't let "prefix" envvar cause trouble
5751         * build-aux/git-version-gen (prefix): Initialize properly,
5752         so as not to use a value specified via the environment.
5753         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
5754
5755 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5756
5757         regex: diagnose too-large repeat counts in EREs
5758         Previously, the code did not diagnose the too-large repeat count
5759         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
5760         as if it were 'b\{1000000000}', which is unexpected.
5761         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
5762         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
5763         is a reasonable one for this problem.  Another option would be to
5764         create a new REG_OVERFLOW error for repeat counts that are too large.
5765         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
5766         count is too large, so that the caller can distinguish the two cases.
5767         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
5768         "Too large" return code, and that repeat counts are one example of this.
5769
5770 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5771
5772         doc: some glibc x32 integer width issues
5773         * doc/posix-headers/sys_types.texi (sys/types.h):
5774         * doc/posix-headers/time.texi (time.h):
5775         Mention that glibc x32 does not conform to POSIX in a couple of
5776         areas related to integer widths.
5777
5778 2012-03-15  Bruno Haible  <bruno@clisp.org>
5779
5780         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
5781         * lib/fma.c (VOLATILE): New macro.
5782         (FUNC): Use it to work around a GCC compiler bug.
5783
5784 2012-03-13  Bruno Haible  <bruno@clisp.org>
5785
5786         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5787         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
5788         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
5789         REPLACE_HYPOTL to 1.
5790         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
5791
5792 2012-03-13  Bruno Haible  <bruno@clisp.org>
5793
5794         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5795         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
5796         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
5797         REPLACE_REMAINDERL to 1.
5798         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
5799         bug.
5800
5801 2012-03-13  Bruno Haible  <bruno@clisp.org>
5802
5803         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5804         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
5805         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
5806         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
5807         too big rounding errors.
5808         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
5809         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
5810         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
5811         (Depends-on): Update conditions.
5812         * tests/test-sqrtl.c (my_ldexpl): New function.
5813         (main): Add test of a particular value.
5814         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5815
5816 2012-03-13  Pádraig Brady  <P@draigBrady.com>
5817
5818         doc: Update timer_* platform portability notes.
5819         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
5820         that always return ENOSYS.
5821         * doc/posix-functions/timer_delete.texi: Likewise.
5822         * doc/posix-functions/timer_gettime.texi: Likewise.
5823         * doc/posix-functions/timer_settime.texi: Likewise.
5824
5825 2012-03-13  Bruno Haible  <bruno@clisp.org>
5826
5827         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5828         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
5829         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
5830         REPLACE_CBRTL to 1.
5831         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5832
5833 2012-03-13  Bruno Haible  <bruno@clisp.org>
5834
5835         remainderl: Avoid compilation error on AIX >= 5.2.
5836         * lib/math.in.h (remainderl): Undefine macro from the system header.
5837
5838 2012-03-13  Bruno Haible  <bruno@clisp.org>
5839
5840         Avoid compilation errors with MSVC option -fp:strict.
5841         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
5842         * lib/cbrtf.c: Likewise.
5843         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5844
5845 2012-03-12  Bruno Haible  <bruno@clisp.org>
5846
5847         uninorm: Don't crash in out-of-memory conditions.
5848         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
5849         gracefully.
5850         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
5851         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
5852
5853 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
5854
5855         quote: fix syntax-check
5856         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
5857         also exports quote_quoting_options.
5858
5859 2012-03-12  Simon Josefsson  <simon@josefsson.org>
5860
5861         Collapse list of copyright years to ranges.  See
5862         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
5863         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
5864         build-aux/csharpexec.sh.in, build-aux/gnupload,
5865         build-aux/install-reloc, build-aux/javacomp.sh.in,
5866         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
5867         build-aux/move-if-change, build-aux/reloc-ldflags,
5868         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
5869
5870 2012-03-11  Bruno Haible  <bruno@clisp.org>
5871
5872         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5873         * m4/log2f-ieee.m4: New file.
5874         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
5875         whether log2f works with a minus zero argument. Replace it if not.
5876         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
5877         (Depends-on): Add log2-ieee.
5878         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
5879         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
5880
5881         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5882         * m4/log2-ieee.m4: New file.
5883         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
5884         whether log2 works with a minus zero argument. Replace it if not.
5885         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
5886         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
5887         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
5888
5889         Tests for module 'log2l-ieee'.
5890         * modules/log2l-ieee-tests: New file.
5891         * tests/test-log2l-ieee.c: New file.
5892
5893         New module 'log2l-ieee'.
5894         * modules/log2l-ieee: New file.
5895
5896         Tests for module 'log2-ieee'.
5897         * modules/log2-ieee-tests: New file.
5898         * tests/test-log2-ieee.c: New file.
5899
5900         New module 'log2-ieee'.
5901         * modules/log2-ieee: New file.
5902
5903         Tests for module 'log2f-ieee'.
5904         * modules/log2f-ieee-tests: New file.
5905         * tests/test-log2f-ieee.c: New file.
5906         * tests/test-log2-ieee.h: New file.
5907
5908         New module 'log2f-ieee'.
5909         * modules/log2f-ieee: New file.
5910
5911 2012-03-11  Bruno Haible  <bruno@clisp.org>
5912
5913         Tests for module 'log2l'.
5914         * modules/log2l-tests: New file.
5915         * tests/test-log2l.c: New file.
5916
5917         New module 'log2l'.
5918         * lib/math.in.h (log2l): New declaration.
5919         * lib/log2l.c: New file.
5920         * m4/log2l.m4: New file.
5921         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
5922         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
5923         REPLACE_LOG2L.
5924         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
5925         REPLACE_LOG2L.
5926         * modules/log2l: New file.
5927         * tests/test-math-c++.cc: Check the declaration of log2l.
5928         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
5929         and OSF/1 problems.
5930
5931 2012-03-11  Bruno Haible  <bruno@clisp.org>
5932
5933         Tests for module 'log2f'.
5934         * modules/log2f-tests: New file.
5935         * tests/test-log2f.c: New file.
5936
5937         New module 'log2f'.
5938         * lib/math.in.h (log2f): New declaration.
5939         * lib/log2f.c: New file.
5940         * m4/log2f.m4: New file.
5941         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
5942         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
5943         REPLACE_LOG2F.
5944         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
5945         REPLACE_LOG2F.
5946         * modules/log2f: New file.
5947         * tests/test-math-c++.cc: Check the declaration of log2f.
5948         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
5949         and OSF/1 and Cygwin problems.
5950
5951 2012-03-11  Bruno Haible  <bruno@clisp.org>
5952
5953         Tests for module 'log2'.
5954         * modules/log2-tests: New file.
5955         * tests/test-log2.c: New file.
5956         * tests/test-log2.h: New file.
5957
5958         New module 'log2'.
5959         * lib/math.in.h (log2): New declaration.
5960         * lib/log2.c: New file.
5961         * m4/log2.m4: New file.
5962         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
5963         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
5964         REPLACE_LOG2.
5965         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
5966         REPLACE_LOG2.
5967         * modules/log2: New file.
5968         * tests/test-math-c++.cc: Check the declaration of log2.
5969         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
5970         and OSF/1 and Cygwin problems.
5971
5972 2012-03-11  Bruno Haible  <bruno@clisp.org>
5973
5974         exp2* tests: More tests.
5975         * tests/test-exp2.h (test_function): Test all integral arguments that
5976         don't need to overflow or denormalized numbers.
5977         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
5978         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
5979         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
5980
5981 2012-03-10  Bruno Haible  <bruno@clisp.org>
5982
5983         log1pl-ieee: Work around test failure on AIX 7.1.
5984         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
5985
5986         log1pl-ieee: Work around test failure on IRIX 6.5.
5987         * m4/log1pl-ieee.m4: New file.
5988         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
5989         test whether log1pl works with a minus zero argument. Replace it if
5990         not.
5991         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
5992         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
5993         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
5994         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
5995         (Depends-on): Update conditions.
5996         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5997         m4/signbit.m4.
5998         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
5999         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
6000
6001         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
6002         * m4/log1pf-ieee.m4: New file.
6003         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
6004         test whether log1pf works with a minus zero argument. Replace it if
6005         not.
6006         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
6007         m4/signbit.m4.
6008         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
6009         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
6010
6011         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
6012         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
6013         (configure.ac): Require gl_FUNC_LOG1PF.
6014
6015         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
6016         * m4/log1p-ieee.m4: New file.
6017         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
6018         whether log1p works with a minus zero argument. Replace it if not.
6019         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
6020         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
6021         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
6022         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
6023         (Depends-on): Update conditions.
6024         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
6025         m4/signbit.m4.
6026         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
6027         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
6028
6029         Tests for module 'log1pl-ieee'.
6030         * modules/log1pl-ieee-tests: New file.
6031         * tests/test-log1pl-ieee.c: New file.
6032
6033         New module 'log1pl-ieee'.
6034         * modules/log1pl-ieee: New file.
6035
6036         Tests for module 'log1p-ieee'.
6037         * modules/log1p-ieee-tests: New file.
6038         * tests/test-log1p-ieee.c: New file.
6039
6040         New module 'log1p-ieee'.
6041         * modules/log1p-ieee: New file.
6042
6043         Tests for module 'log1pf-ieee'.
6044         * modules/log1pf-ieee-tests: New file.
6045         * tests/test-log1pf-ieee.c: New file.
6046         * tests/test-log1p-ieee.h: New file.
6047
6048         New module 'log1pf-ieee'.
6049         * modules/log1pf-ieee: New file.
6050
6051 2012-03-10  Bruno Haible  <bruno@clisp.org>
6052
6053         Tests for module 'log1pl'.
6054         * modules/log1pl-tests: New file.
6055         * tests/test-log1pl.c: New file.
6056
6057         New module 'log1pl'.
6058         * lib/math.in.h (log1pl): New declaration.
6059         * lib/log1pl.c: New file.
6060         * m4/log1pl.m4: New file.
6061         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
6062         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
6063         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
6064         * modules/log1pl: New file.
6065         * tests/test-math-c++.cc: Check the declaration of log1pl.
6066         * doc/posix-functions/log1pl.texi: Mention the new module.
6067
6068 2012-03-10  Bruno Haible  <bruno@clisp.org>
6069
6070         Tests for module 'log1pf'.
6071         * modules/log1pf-tests: New file.
6072         * tests/test-log1pf.c: New file.
6073
6074         New module 'log1pf'.
6075         * lib/math.in.h (log1pf): New declaration.
6076         * lib/log1pf.c: New file.
6077         * m4/log1pf.m4: New file.
6078         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
6079         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
6080         REPLACE_LOG1PF.
6081         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
6082         REPLACE_LOG1PF.
6083         * modules/log1pf: New file.
6084         * tests/test-math-c++.cc: Check the declaration of log1pf.
6085         * doc/posix-functions/log1pf.texi: Mention the new module.
6086
6087 2012-03-10  Bruno Haible  <bruno@clisp.org>
6088
6089         log1p tests: More tests.
6090         * tests/test-log1p.h: New file.
6091         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
6092         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
6093         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
6094         (main): Invoke test_function.
6095
6096         log1p: Provide replacement for Minix and MSVC.
6097         * lib/math.in.h (log1p): New declaration.
6098         * lib/log1p.c: New file.
6099         * m4/log1p.m4: New file.
6100         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
6101         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
6102         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
6103         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
6104         (Depends-on): Add math, isnand, log, round.
6105         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
6106         HAVE_LOG1P is 0.
6107         * tests/test-math-c++.cc: Check the declaration of log1p.
6108         * doc/posix-functions/log1p.texi: Mention the replacement.
6109
6110 2012-03-10  Bruno Haible  <bruno@clisp.org>
6111
6112         math tests: Small simplification.
6113         * tests/test-exp.h (test_function): Use the same err_bound for
6114         'double' on platforms with sizeof (long double) == sizeof (double)
6115         than on platforms with sizeof (long double) > sizeof (double).
6116         * tests/test-exp2.h (test_function): Likewise.
6117         * tests/test-expm1.h (test_function): Likewise.
6118         * tests/test-log.h (test_function): Likewise.
6119
6120 2012-03-10  Bruno Haible  <bruno@clisp.org>
6121
6122         Fix some comments.
6123         * lib/expl.c: Fix an ambiguous comment.
6124         * lib/expm1.c: Likewise.
6125         * lib/expm1l.c: Likewise.
6126         * lib/exp2.c: Likewise.
6127         * lib/exp2l.c: Likewise.
6128
6129 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
6130
6131         regex: allow inclusion of <regex.h> before <limits.h>
6132         Without this patch, portable programs had to include <limits.h> before
6133         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
6134         I ran into this problem with a test version of GNU grep on Solaris 8.
6135         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
6136         This is done conditionally so that this change can be merged
6137         back to glibc.
6138         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
6139         using the included regex.
6140
6141         fts: depend on fdopendir
6142         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
6143         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
6144         problem was introduced when fdopendir was split out.
6145
6146 2012-03-10  Bruno Haible  <bruno@clisp.org>
6147
6148         Remove unused variables.
6149         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
6150         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
6151
6152 2012-03-10  Bruno Haible  <bruno@clisp.org>
6153
6154         isnanf-nolibm: Fix last commit.
6155         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
6156
6157         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
6158         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
6159
6160 2012-03-10  Bruno Haible  <bruno@clisp.org>
6161
6162         logf-ieee: Work around test failure on NetBSD 5.1.
6163         * m4/logf-ieee.m4: New file.
6164         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
6165         whether logf works with a negative argument. Replace it if not.
6166         * lib/logf.c (logf): For negative arguments, return NaN.
6167         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
6168         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
6169         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
6170
6171         logf-ieee: Work around test failure on Solaris 9.
6172         * modules/logf-ieee (Depends-on): Add log-ieee.
6173         (configure.ac): Require gl_FUNC_LOGF.
6174
6175         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
6176         * m4/log-ieee.m4: New file.
6177         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
6178         log works with a negative argument. Replace it if not.
6179         * lib/log.c (log): For negative arguments, return NaN.
6180         * modules/log-ieee (Files): Add m4/log-ieee.m4.
6181         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
6182         * doc/posix-functions/log.texi: Mention the log-ieee module.
6183
6184         Tests for module 'logl-ieee'.
6185         * modules/logl-ieee-tests: New file.
6186         * tests/test-logl-ieee.c: New file.
6187
6188         New module 'logl-ieee'.
6189         * modules/logl-ieee: New file.
6190
6191         Tests for module 'log-ieee'.
6192         * modules/log-ieee-tests: New file.
6193         * tests/test-log-ieee.c: New file.
6194
6195         New module 'log-ieee'.
6196         * modules/log-ieee: New file.
6197
6198         Tests for module 'logf-ieee'.
6199         * modules/logf-ieee-tests: New file.
6200         * tests/test-logf-ieee.c: New file.
6201         * tests/test-log-ieee.h: New file.
6202
6203         New module 'logf-ieee'.
6204         * modules/logf-ieee: New file.
6205
6206 2012-03-10  Bruno Haible  <bruno@clisp.org>
6207
6208         log: Fix bug introduced on 2012-03-09.
6209         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
6210
6211 2012-03-10  Pádraig Brady  <P@draigBrady.com>
6212
6213         timer-time: link explicitly with pthreads on glibc
6214         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
6215         to support static linking, when newer glibc is
6216         detected, as that contains pthread emulation of
6217         POSIX timer functions where required.
6218         * modules/timer-time: Depend on threadlib to
6219         pull in the appropriate library to link.
6220
6221 2012-03-10  Bruno Haible  <bruno@clisp.org>
6222
6223         log* tests: More tests.
6224         * tests/test-log.h: New file.
6225         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
6226         (main): Invoke test_function.
6227         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
6228         (main): Invoke test_function.
6229         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
6230         (main): Invoke test_function.
6231         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
6232         tests/randomd.c.
6233         (Makefile.am): Add randomd.c to test_log_SOURCES.
6234         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
6235         tests/randomf.c.
6236         (Makefile.am): Add randomf.c to test_logf_SOURCES.
6237         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
6238         tests/randoml.c.
6239         (Depends-on): Add 'float'.
6240         (Makefile.am): Add randoml.c to test_logl_SOURCES.
6241
6242 2012-03-09  Bruno Haible  <bruno@clisp.org>
6243
6244         logl: Work around OSF/1 5.1 bug.
6245         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
6246         * lib/logl.c (logl): If logl exists, use it and provide just the
6247         workaround.
6248         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
6249         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
6250         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
6251         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
6252         * modules/logl (configure.ac): Consider REPLACE_LOGL.
6253         (Depends-on): Update conditions.
6254         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
6255
6256 2012-03-09  Bruno Haible  <bruno@clisp.org>
6257
6258         logf: Work around OSF/1 5.1 bug.
6259         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
6260         * lib/logf.c (logf): If logf exists, use it and provide just the
6261         workaround.
6262         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
6263         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
6264         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
6265         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
6266         * modules/logf (configure.ac): Consider REPLACE_LOGF.
6267         (Depends-on): Update conditions.
6268         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
6269
6270 2012-03-09  Bruno Haible  <bruno@clisp.org>
6271
6272         log: Work around OSF/1 5.1 bug.
6273         * lib/math.in.h (log): New declaration.
6274         * lib/log.c: New file.
6275         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
6276         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
6277         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
6278         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
6279         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
6280         * modules/log (Files): Add lib/log.c.
6281         (Depends-on): Add math.
6282         (configure.ac): If REPLACE_LOG is 1, compile an override.
6283         * tests/test-math-c++.cc: Check the declaration of log.
6284         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
6285
6286 2012-03-09  Jim Meyering  <meyering@redhat.com>
6287
6288         readtokens.c: adjust wording in a comment
6289         * lib/readtokens.c: Insert omitted "that" in a comment.
6290
6291 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
6292
6293         modechange: add notations +40, 00440, etc.
6294         * lib/modechange.c (mode_compile): Support new notations
6295         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
6296
6297 2012-03-08  Bruno Haible  <bruno@clisp.org>
6298
6299         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
6300         * m4/exp2l-ieee.m4: New file.
6301         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
6302         test whether exp2l works with a NaN argument and with a negative
6303         infinity argument. Replace it if not.
6304         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
6305         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
6306         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
6307         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
6308         (Depends-on): Update conditions.
6309         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
6310         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
6311         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
6312
6313         Tests for module 'exp2l-ieee'.
6314         * modules/exp2l-ieee-tests: New file.
6315         * tests/test-exp2l-ieee.c: New file.
6316
6317         New module 'exp2l-ieee'.
6318         * modules/exp2l-ieee: New file.
6319
6320         Tests for module 'exp2-ieee'.
6321         * modules/exp2-ieee-tests: New file.
6322         * tests/test-exp2-ieee.c: New file.
6323
6324         New module 'exp2-ieee'.
6325         * modules/exp2-ieee: New file.
6326
6327         Tests for module 'exp2f-ieee'.
6328         * modules/exp2f-ieee-tests: New file.
6329         * tests/test-exp2f-ieee.c: New file.
6330         * tests/test-exp2-ieee.h: New file.
6331
6332         New module 'exp2f-ieee'.
6333         * modules/exp2f-ieee: New file.
6334
6335 2012-03-08  Bruno Haible  <bruno@clisp.org>
6336
6337         Tests for module 'exp2l'.
6338         * modules/exp2l-tests: New file.
6339         * tests/test-exp2l.c: New file.
6340
6341         New module 'exp2l'.
6342         * lib/math.in.h (exp2l): New declaration.
6343         * lib/exp2l.c: New file.
6344         * lib/expl-table.c: New file, extracted from lib/expl.c.
6345         * lib/expl.c (gl_expl_table): New declaration.
6346         (expl): Remove expl_table. Update reference.
6347         * m4/exp2l.m4: New file.
6348         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
6349         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
6350         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
6351         * modules/exp2l: New file.
6352         * modules/expl (Files): Add lib/expl-table.c.
6353         (configure.ac): Compile also expl-table.c.
6354         * tests/test-math-c++.cc: Check the declaration of exp2l.
6355         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
6356         problem.
6357
6358 2012-03-08  Bruno Haible  <bruno@clisp.org>
6359
6360         Tests for module 'exp2f'.
6361         * modules/exp2f-tests: New file.
6362         * tests/test-exp2f.c: New file.
6363
6364         New module 'exp2f'.
6365         * lib/math.in.h (exp2f): New declaration.
6366         * lib/exp2f.c: New file.
6367         * m4/exp2f.m4: New file.
6368         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
6369         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
6370         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
6371         * modules/exp2f: New file.
6372         * tests/test-math-c++.cc: Check the declaration of exp2f.
6373         * doc/posix-functions/exp2f.texi: Mention the new module and the
6374         IRIX problem.
6375
6376 2012-03-08  Bruno Haible  <bruno@clisp.org>
6377
6378         Tests for module 'exp2'.
6379         * modules/exp2-tests: New file.
6380         * tests/test-exp2.c: New file.
6381         * tests/test-exp2.h: New file.
6382
6383         New module 'exp2'.
6384         * lib/math.in.h (exp2): New declaration.
6385         * lib/exp2.c: New file.
6386         * m4/exp2.m4: New file.
6387         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
6388         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
6389         REPLACE_EXP2.
6390         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
6391         REPLACE_EXP2.
6392         * modules/exp2: New file.
6393         * tests/test-math-c++.cc: Check the declaration of exp2.
6394         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
6395         and OpenBSD problems.
6396
6397 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
6398
6399         savedir: fix comment typo
6400         * lib/savedir.c (savedirstream): Fix typo in comment.
6401
6402 2012-03-08  Bruno Haible  <bruno@clisp.org>
6403
6404         test-readtokens.c: use const; remove unwarranted cast
6405         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
6406
6407 2012-03-08  Bruno Haible  <bruno@clisp.org>
6408
6409         fmal: Avoid compilation error on AIX.
6410         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
6411         AIX 5.2..7.1.
6412
6413 2012-03-08  Bruno Haible  <bruno@clisp.org>
6414
6415         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
6416         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
6417         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
6418         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
6419         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
6420         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
6421         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
6422
6423 2012-03-08  Bruno Haible  <bruno@clisp.org>
6424
6425         remainderf: Override buggy system function on IRIX 6.5.
6426         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
6427         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
6428         when it exists.
6429         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
6430
6431 2012-03-08  Jim Meyering  <meyering@redhat.com>
6432
6433         test-readtokens.c: avoid const-related compilation warnings
6434         * tests/test-readtokens.c: Avoid const-related compilation warnings.
6435
6436 2012-03-07  Jim Meyering  <meyering@redhat.com>
6437             Bruno Haible  <bruno@clisp.org>
6438
6439         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
6440         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
6441         tests/randomd.c.
6442         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
6443         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
6444         tests/randoml.c.
6445         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
6446
6447 2012-03-07  Bruno Haible  <bruno@clisp.org>
6448
6449         expm1l: Avoid compilation error on AIX.
6450         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
6451         AIX 5.2..7.1.
6452
6453 2012-03-07  Bruno Haible  <bruno@clisp.org>
6454
6455         expm1l: Don't override undeclared system function on IRIX 6.5.
6456         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
6457         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
6458         it exists. Set HAVE_DECL_EXPM1L.
6459         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
6460         HAVE_EXPM1L.
6461         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
6462         HAVE_EXPM1L.
6463         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
6464
6465 2012-03-07  Bruno Haible  <bruno@clisp.org>
6466
6467         remainderl: Don't override undeclared system function on IRIX 6.5.
6468         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
6469         HAVE_REMAINDERL.
6470         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
6471         declared when it exists. Set HAVE_DECL_REMAINDERL.
6472         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
6473         not HAVE_REMAINDERL.
6474         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
6475         HAVE_REMAINDERL.
6476         * doc/posix-functions/remainderl.texi: Mention missing declaration
6477         problem.
6478
6479 2012-03-07  Bruno Haible  <bruno@clisp.org>
6480
6481         rintf: Don't override undeclared system function on IRIX 6.5.
6482         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
6483         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
6484         exists. Set HAVE_DECL_RINTF.
6485         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
6486         HAVE_RINTF.
6487         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
6488         HAVE_RINTF.
6489         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
6490
6491 2012-03-07  Bruno Haible  <bruno@clisp.org>
6492
6493         roundl: Avoid compilation error on AIX.
6494         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
6495         AIX 5.2..7.1.
6496
6497 2012-03-07  Bruno Haible  <bruno@clisp.org>
6498
6499         roundl: Don't override undeclared system function on IRIX 6.5.
6500         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
6501         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
6502         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
6503         * modules/roundl (configure.ac): For replacement code, test
6504         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
6505         (Depends-on): Update conditions.
6506         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
6507
6508 2012-03-07  Bruno Haible  <bruno@clisp.org>
6509
6510         roundf: Don't override undeclared system function on IRIX 6.5.
6511         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
6512         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
6513         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
6514         * modules/roundf (configure.ac): For replacement code, test
6515         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
6516         (Depends-on): Update conditions.
6517         * modules/roundf-ieee (Depends-on): Update conditions.
6518         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
6519
6520 2012-03-07  Bruno Haible  <bruno@clisp.org>
6521
6522         round: Don't override undeclared system function on IRIX 6.5.
6523         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
6524         argument.
6525         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
6526         also when it is not declared. Set HAVE_ROUND. For replacement code,
6527         test HAVE_ROUND, not HAVE_DECL_ROUND.
6528         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
6529         not HAVE_DECL_ROUND.
6530         (Depends-on): Update conditions.
6531         * modules/round-ieee (Depends-on): Update conditions.
6532         * doc/posix-functions/round.texi: Mention the IRIX problem.
6533
6534 2012-03-07  Bruno Haible  <bruno@clisp.org>
6535
6536         copysignf: Don't override undeclared system function on IRIX 6.5.
6537         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
6538         HAVE_COPYSIGNF.
6539         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
6540         declared when it exists. Set HAVE_DECL_COPYSIGNF.
6541         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
6542         not HAVE_COPYSIGNF.
6543         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
6544         HAVE_COPYSIGNF.
6545         * doc/posix-functions/copysignf.texi: Mention missing declaration
6546         problem.
6547
6548 2012-03-07  Jim Meyering  <meyering@redhat.com>
6549
6550         readtokens: add tests
6551         * modules/readtokens-tests: New file.
6552         * tests/test-readtokens.c: New file.
6553
6554 2012-03-07  Jim Meyering  <meyering@redhat.com>
6555
6556         quotearg: the module must now include quote.h
6557         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
6558         So must the module.
6559         * modules/quotearg (Files): Add quote.h.
6560
6561 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
6562
6563         readtokens: avoid core dumps with unusual calling patterns
6564         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
6565         * lib/readtokens.c: Include limits.h.
6566         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
6567         (readtoken): Don't cache the delimiters; the cache code was buggy
6568         if !delim && saved_delim, or if the new n_delim differs from the old.
6569         Also, it wasn't thread-safe.
6570
6571 2012-03-07  Bruno Haible  <bruno@clisp.org>
6572
6573         quote: Adhere to common module description layout.
6574         * modules/quote (Makefile.am): Add back empty section.
6575
6576 2012-03-06  Akim Demaille  <demaille@gostai.com>
6577
6578         quote: fuse into quotearg
6579         This patch is made for the benefit of Bison.
6580         quote does not leave the choice of the quoting style to the user.
6581         quoting_style provides poor customizability, yet quoting_options,
6582         which is very rich, is hidden inside quotearg.c.  So in order to
6583         allow quote customization, move its implementation to quotearg.c.
6584         * lib/quote.c: Remove.
6585         * modules/quote: Adjust.
6586         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
6587         warning: provide all the members of literal structs.
6588         (quote_quoting_options): New.
6589         (quote, quote_n): Import implementation from quote.c.
6590         * lib/quote.h: Import the comments from quote.c.
6591         (quote_quoting_options): New.
6592
6593 2012-03-06  Bruno Haible  <bruno@clisp.org>
6594
6595         Tests for module 'expm1l-ieee'.
6596         * modules/expm1l-ieee-tests: New file.
6597         * tests/test-expm1l-ieee.c: New file.
6598
6599         New module 'expm1l-ieee'.
6600         * modules/expm1l-ieee: New file.
6601
6602         Tests for module 'expm1f-ieee'.
6603         * modules/expm1f-ieee-tests: New file.
6604         * tests/test-expm1f-ieee.c: New file.
6605
6606         New module 'expm1f-ieee'.
6607         * modules/expm1f-ieee: New file.
6608
6609         Tests for module 'expm1-ieee'.
6610         * modules/expm1-ieee-tests: New file.
6611         * tests/test-expm1-ieee.c: New file.
6612         * tests/test-expm1-ieee.h: New file.
6613
6614         New module 'expm1-ieee'.
6615         * modules/expm1-ieee: New file.
6616         * m4/expm1-ieee.m4: New file.
6617         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
6618         whether expm1 works with a minus zero argument. Replace it if not.
6619         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
6620         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
6621         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
6622         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
6623         (Depends-on): Update conditions.
6624         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
6625         AIX problem.
6626
6627 2012-03-06  Bruno Haible  <bruno@clisp.org>
6628
6629         Work around expm1f bug on IRIX 6.5.
6630         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
6631         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
6632         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
6633         not work.
6634         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
6635         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
6636         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
6637         (Depends-on): Update conditions.
6638         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
6639
6640 2012-03-06  Bruno Haible  <bruno@clisp.org>
6641
6642         Tests for module 'expm1l'.
6643         * modules/expm1l-tests: New file.
6644         * tests/test-expm1l.c: New file.
6645
6646         New module 'expm1l'.
6647         * lib/math.in.h (expm1l): New declaration.
6648         * lib/expm1l.c: New file.
6649         * m4/expm1l.m4: New file.
6650         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
6651         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
6652         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
6653         * modules/expm1l: New file.
6654         * tests/test-math-c++.cc: Check the declaration of expm1l.
6655         * doc/posix-functions/expm1l.texi: Mention the new module.
6656
6657 2012-03-06  Bruno Haible  <bruno@clisp.org>
6658
6659         Tests for module 'expm1f'.
6660         * modules/expm1f-tests: New file.
6661         * tests/test-expm1f.c: New file.
6662
6663         New module 'expm1f'.
6664         * lib/math.in.h (expm1f): New declaration.
6665         * lib/expm1f.c: New file.
6666         * m4/expm1f.m4: New file.
6667         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
6668         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
6669         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
6670         * modules/expm1f: New file.
6671         * tests/test-math-c++.cc: Check the declaration of expm1f.
6672         * doc/posix-functions/expm1f.texi: Mention the new module.
6673
6674 2012-03-06  Bruno Haible  <bruno@clisp.org>
6675
6676         Tests for module 'expm1'.
6677         * modules/expm1-tests: New file.
6678         * tests/test-expm1.c: New file.
6679         * tests/test-expm1.h: New file.
6680
6681         New module 'expm1'.
6682         * lib/math.in.h (expm1): New declaration.
6683         * lib/expm1.c: New file.
6684         * m4/expm1.m4: New file.
6685         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
6686         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
6687         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
6688         * modules/expm1: New file.
6689         * tests/test-math-c++.cc: Check the declaration of expm1.
6690         * doc/posix-functions/expm1.texi: Mention the new module.
6691
6692 2012-03-06  Bruno Haible  <bruno@clisp.org>
6693
6694         math: Ensure declarations of math functions.
6695         * modules/acosf (Depends-on): Add 'extensions'.
6696         * modules/asinf (Depends-on): Likewise.
6697         * modules/atan2f (Depends-on): Likewise.
6698         * modules/atanf (Depends-on): Likewise.
6699         * modules/cbrt (Depends-on): Likewise.
6700         * modules/cbrtf (Depends-on): Likewise.
6701         * modules/cbrtl (Depends-on): Likewise.
6702         * modules/copysignf (Depends-on): Likewise.
6703         * modules/copysignl (Depends-on): Likewise.
6704         * modules/cosf (Depends-on): Likewise.
6705         * modules/coshf (Depends-on): Likewise.
6706         * modules/expf (Depends-on): Likewise.
6707         * modules/fabsf (Depends-on): Likewise.
6708         * modules/fabsl (Depends-on): Likewise.
6709         * modules/fmaf (Depends-on): Likewise.
6710         * modules/fmal (Depends-on): Likewise.
6711         * modules/fmodf (Depends-on): Likewise.
6712         * modules/fmodl (Depends-on): Likewise.
6713         * modules/frexpf (Depends-on): Likewise.
6714         * modules/frexpl (Depends-on): Likewise.
6715         * modules/hypot (Depends-on): Likewise.
6716         * modules/hypotf (Depends-on): Likewise.
6717         * modules/hypotl (Depends-on): Likewise.
6718         * modules/ldexpf (Depends-on): Likewise.
6719         * modules/ldexpl (Depends-on): Likewise.
6720         * modules/log10f (Depends-on): Likewise.
6721         * modules/log10l (Depends-on): Likewise.
6722         * modules/log1p (Depends-on): Likewise.
6723         * modules/logb (Depends-on): Likewise.
6724         * modules/logf (Depends-on): Likewise.
6725         * modules/modff (Depends-on): Likewise.
6726         * modules/modfl (Depends-on): Likewise.
6727         * modules/powf (Depends-on): Likewise.
6728         * modules/remainderf (Depends-on): Likewise.
6729         * modules/remainderl (Depends-on): Likewise.
6730         * modules/rintf (Depends-on): Likewise.
6731         * modules/rintl (Depends-on): Likewise.
6732         * modules/sinf (Depends-on): Likewise.
6733         * modules/sinhf (Depends-on): Likewise.
6734         * modules/sqrtf (Depends-on): Likewise.
6735         * modules/tanf (Depends-on): Likewise.
6736         * modules/tanhf (Depends-on): Likewise.
6737         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
6738         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
6739         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
6740         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
6741         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
6742         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
6743         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
6744         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
6745         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
6746         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
6747         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
6748         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
6749         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
6750         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
6751         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
6752         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
6753         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
6754         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6755         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
6756         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
6757         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
6758         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
6759         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
6760         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
6761         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
6762         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
6763         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
6764         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6765         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
6766         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
6767         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
6768         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
6769         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
6770         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6771         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
6772         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
6773         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
6774         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
6775         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
6776         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
6777         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
6778
6779 2012-03-06  Bruno Haible  <bruno@clisp.org>
6780
6781         math: Update module names in warnings.
6782         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
6783         tanl): Use specific module name in warn-on-use warning.
6784
6785 2012-03-06  Bruno Haible  <bruno@clisp.org>
6786
6787         expl: Simplify computation.
6788         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
6789
6790 2012-03-05  Bruno Haible  <bruno@clisp.org>
6791
6792         exp* tests: More tests.
6793         * tests/test-exp.h: New file.
6794         * tests/test-exp.c: Include <float.h> and test-exp.h.
6795         (main): Invoke test_function.
6796         * tests/test-expf.c: Include <float.h> and test-exp.h.
6797         (main): Invoke test_function.
6798         * tests/test-expl.c: Include <float.h> and test-exp.h.
6799         (main): Invoke test_function.
6800         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
6801         (Makefile.am): Add randomd.c to test_exp_SOURCES.
6802         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
6803         (Makefile.am): Add randomf.c to test_expf_SOURCES.
6804         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
6805         (Depends-on): Add 'float'.
6806         (Makefile.am): Add randoml.c to test_expl_SOURCES.
6807
6808         expl: Fix precision of computed result.
6809         * lib/expl.c: Completely rewritten.
6810         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
6811         (Maintainer): Add me.
6812         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
6813
6814 2012-03-05  Bruno Haible  <bruno@clisp.org>
6815
6816         cbrt* tests: More tests.
6817         * tests/test-cbrt.h: New file.
6818         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
6819         (main): Invoke test_function.
6820         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
6821         (main): Invoke test_function.
6822         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
6823         (main): Invoke test_function.
6824         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
6825         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
6826         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
6827         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
6828         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
6829         (Depends-on): Add 'float'.
6830         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
6831
6832 2012-03-05  Bruno Haible  <bruno@clisp.org>
6833
6834         hypot* tests: More tests.
6835         * tests/test-hypot.h: New file, partially extracted from
6836         tests/test-hypotl.c.
6837         * tests/test-hypot.c: Include test-hypot.h.
6838         (main): Invoke test_function.
6839         * tests/test-hypotf.c: Include test-hypot.h.
6840         (main): Invoke test_function.
6841         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
6842         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
6843         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
6844         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
6845         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
6846         tests/randomf.c.
6847         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
6848         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
6849         tests/randoml.c.
6850         (Depends-on): Add 'fpucw', 'float'.
6851         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
6852
6853 2012-03-05  Bruno Haible  <bruno@clisp.org>
6854
6855         fpucw: Doc about FreeBSD.
6856         * lib/fpucw.h: Mention FreeBSD in comments.
6857
6858 2012-03-04  Bruno Haible  <bruno@clisp.org>
6859
6860         sqrt* tests: More tests.
6861         * tests/test-sqrt.h: New file.
6862         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
6863         (main): Invoke test_function.
6864         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
6865         (main): Invoke test_function.
6866         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
6867         (main): Invoke test_function.
6868         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
6869         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
6870         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
6871         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
6872         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
6873         (Depends-on): Add 'float'.
6874         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
6875
6876 2012-03-04  Bruno Haible  <bruno@clisp.org>
6877
6878         remainder* tests: More tests.
6879         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
6880         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
6881         (main): Invoke test_function.
6882         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
6883         (main): Invoke test_function.
6884         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
6885         (main): Invoke test_function.
6886         * modules/remainder-tests (Files): Add tests/test-remainder.h,
6887         tests/randomd.c.
6888         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
6889         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
6890         tests/randomf.c.
6891         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
6892         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
6893         tests/randoml.c.
6894         (Depends-on): Add 'float'.
6895         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
6896
6897 2012-03-04  Bruno Haible  <bruno@clisp.org>
6898
6899         remainder, remainderf, remainderl: Fix computation for large quotients.
6900         * lib/remainder.c: Completely rewritten.
6901         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
6902         USE_FLOAT.
6903         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
6904         USE_LONG_DOUBLE.
6905         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
6906         isnand, isinf. Remove round, fma.
6907         * modules/remainderf (Files): Add lib/remainder.c.
6908         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
6909         Remove roundf, fmaf.
6910         * modules/remainderl (Files): Add lib/remainder.c.
6911         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
6912         isinf. Remove roundl, fmal.
6913         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
6914         REMAINDER_LIBM.
6915         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
6916         REMAINDERF_LIBM.
6917         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
6918         REMAINDERL_LIBM.
6919
6920 2012-03-04  Bruno Haible  <bruno@clisp.org>
6921
6922         fmod* tests: More tests.
6923         * tests/test-fmod.h (my_ldexp): New function.
6924         (test_function): Reduce amount of random numbers to test. Add tests
6925         of very large quotients x / y.
6926         * tests/test-fmod.c (MAX_EXP): New macro.
6927         * tests/test-fmodf.c (MAX_EXP): Likewise.
6928         * tests/test-fmodl.c (MAX_EXP): Likewise.
6929
6930 2012-03-04  Bruno Haible  <bruno@clisp.org>
6931
6932         fmod, fmodl: Fix computation for large quotients x / y.
6933         * lib/fmod.c: Completely rewritten.
6934         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
6935         USE_LONG_DOUBLE.
6936         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
6937         isnand. Remove fma.
6938         * modules/fmodl (Files): Add lib/fmod.c.
6939         (Depends-on): Add float, isfinite, signbit, fabsl,
6940         frexpl, ldexpl, isnanl. Remove fma.
6941         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
6942         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
6943
6944 2012-03-03  Bruno Haible  <bruno@clisp.org>
6945
6946         fmod* tests: More tests.
6947         * tests/test-fmod.h: New file.
6948         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
6949         (main): Invoke test_function.
6950         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
6951         (main): Invoke test_function.
6952         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
6953         (main): Invoke test_function.
6954         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
6955         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
6956         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
6957         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
6958         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
6959         (Depends-on): Add 'float'.
6960         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
6961
6962 2012-03-03  Bruno Haible  <bruno@clisp.org>
6963
6964         rint* tests: More tests.
6965         * tests/test-rint.h: New file, partially extracted from
6966         tests/test-rintl.c.
6967         * tests/test-rint.c: Include test-rint.h.
6968         (main): Invoke test_function.
6969         * tests/test-rintf.c: Include test-rint.h.
6970         (main): Invoke test_function.
6971         * tests/test-rintl.c: Include test-rint.h.
6972         (main): Invoke test_function.
6973         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
6974         (Makefile.am): Add randomd.c to test_rint_SOURCES.
6975         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
6976         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
6977         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
6978         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
6979
6980 2012-03-03  Bruno Haible  <bruno@clisp.org>
6981
6982         modf* tests: More tests.
6983         * tests/test-modf.h: New file.
6984         * tests/test-modf.c: Include <float.h> and test-modf.h.
6985         (main): Invoke test_function.
6986         * tests/test-modff.c: Include <float.h> and test-modf.h.
6987         (main): Invoke test_function.
6988         * tests/test-modfl.c: Include <float.h> and test-modf.h.
6989         (main): Invoke test_function.
6990         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
6991         (Makefile.am): Add randomd.c to test_modf_SOURCES.
6992         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
6993         (Makefile.am): Add randomf.c to test_modff_SOURCES.
6994         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
6995         (Depends-on): Add 'float'.
6996         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
6997
6998 2012-03-03  Bruno Haible  <bruno@clisp.org>
6999
7000         fabs* tests: More tests.
7001         * tests/test-fabs.h: New file, partially extracted from
7002         tests/test-fabsl.c.
7003         * tests/test-fabs.c (RANDOM): New macro.
7004         * tests/test-fabsf.c (RANDOM): New macro.
7005         * tests/test-fabsl.c (RANDOM): New macro.
7006         * modules/fabs-tests (Files): Add tests/randomd.c.
7007         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
7008         * modules/fabsf-tests (Files): Add tests/randomf.c.
7009         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
7010         * modules/fabsl-tests (Files): Add tests/randoml.c.
7011         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
7012
7013 2012-03-03  Bruno Haible  <bruno@clisp.org>
7014
7015         ldexp* tests: More tests.
7016         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
7017         * tests/test-ldexp.c (RANDOM): New macro.
7018         * tests/test-ldexpf.c (RANDOM): New macro.
7019         * tests/test-ldexpl.c (RANDOM): New macro.
7020         * modules/ldexp-tests (Files): Add tests/randomd.c.
7021         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
7022         * modules/ldexpf-tests (Files): Add tests/randomf.c.
7023         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
7024         * modules/ldexpl-tests (Files): Add tests/randoml.c.
7025         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
7026
7027 2012-03-03  Bruno Haible  <bruno@clisp.org>
7028
7029         frexp* tests: More tests.
7030         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
7031         * tests/test-frexp.c (RANDOM): New macro.
7032         * tests/test-frexpf.c (RANDOM): New macro.
7033         * tests/test-frexpl.c (RANDOM): New macro.
7034         * modules/frexp-tests (Files): Add tests/randomd.c.
7035         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
7036         * modules/frexpf-tests (Files): Add tests/randomf.c.
7037         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
7038         * modules/frexpl-tests (Files): Add tests/randoml.c.
7039         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
7040
7041 2012-03-03  Bruno Haible  <bruno@clisp.org>
7042
7043         Support for pseudo-random numbers in tests.
7044         * tests/randomf.c: New file.
7045         * tests/randomd.c: New file.
7046         * tests/randoml.c: New file.
7047         * tests/macros.h (randomf, randomd, randoml): New declarations.
7048
7049 2012-03-03  Bruno Haible  <bruno@clisp.org>
7050
7051         frexp* tests: Refactor.
7052         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
7053         * tests/test-frexp.c: Include and use it.
7054         * tests/test-frexpf.c: Likewise.
7055         * tests/test-frexpl.c: Likewise.
7056         * modules/frexp-tests (Files): Add tests/test-frexp.h.
7057         * modules/frexpf-tests (Files): Likewise.
7058         * modules/frexpl-tests (Files): Likewise.
7059
7060 2012-03-02  Jim Meyering  <meyering@redhat.com>
7061
7062         maint: don't specify XZ_OPT=-9ev in dist-related rule
7063         Using xz's -9 option is warranted only if you have a very large
7064         tarball (see xz's documentation for the sizes vs. presets), and
7065         requires 64MiB of memory at decompression time.
7066         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
7067         Automake's default of just "-e" is fine.  Override on a
7068         per-package basis by setting XZ_OPT e.g., in cfg.mk.
7069
7070 2012-03-01  Eric Blake  <eblake@redhat.com>
7071
7072         maint.mk: allow announcement for non-gnulib project
7073         * maint.mk (announcement): Skip gnulib version if not used.
7074
7075 2012-03-01  Jim Meyering  <meyering@redhat.com>
7076
7077         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
7078         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
7079         envvar settings cannot interfere.  Otherwise, setting envvars like
7080         prohibit=foo require=bar, etc. would cause spurious test failures.
7081
7082 2012-03-01  Eric Blake  <eblake@redhat.com>
7083
7084         maint.mk: add per-line exclusions to prohibitions
7085         * maint.mk (_sc_search_regexp): Add $exclude parameter.
7086         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
7087         (sc_const_long_option): Use it.
7088
7089 2012-03-01  Bruno Haible  <bruno@clisp.org>
7090
7091         Tests for module 'expl-ieee'.
7092         * modules/expl-ieee-tests: New file.
7093         * tests/test-expl-ieee.c: New file.
7094
7095         New module 'expl-ieee'.
7096         * modules/expl-ieee: New file.
7097
7098         Tests for module 'exp-ieee'.
7099         * modules/exp-ieee-tests: New file.
7100         * tests/test-exp-ieee.c: New file.
7101
7102         New module 'exp-ieee'.
7103         * modules/exp-ieee: New file.
7104
7105         Tests for module 'expf-ieee'.
7106         * modules/expf-ieee-tests: New file.
7107         * tests/test-expf-ieee.c: New file.
7108         * tests/test-exp-ieee.h: New file.
7109
7110         New module 'expf-ieee'.
7111         * modules/expf-ieee: New file.
7112
7113 2012-02-29  Bruno Haible  <bruno@clisp.org>
7114
7115         cbrtl-ieee: Work around test failure on IRIX 6.5.
7116         * m4/cbrtl-ieee.m4: New file.
7117         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
7118         test whether cbrtl works with a minus zero argument. Replace it if not.
7119         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
7120         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
7121         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
7122         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
7123         (Depends-on): Update conditions.
7124         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
7125         m4/signbit.m4.
7126         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
7127         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
7128         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
7129
7130         Tests for module 'cbrtl-ieee'.
7131         * modules/cbrtl-ieee-tests: New file.
7132         * tests/test-cbrtl-ieee.c: New file.
7133
7134         New module 'cbrtl-ieee'.
7135         * modules/cbrtl-ieee: New file.
7136
7137         Tests for module 'cbrt-ieee'.
7138         * modules/cbrt-ieee-tests: New file.
7139         * tests/test-cbrt-ieee.c: New file.
7140
7141         New module 'cbrt-ieee'.
7142         * modules/cbrt-ieee: New file.
7143
7144         Tests for module 'cbrtf-ieee'.
7145         * modules/cbrtf-ieee-tests: New file.
7146         * tests/test-cbrtf-ieee.c: New file.
7147         * tests/test-cbrt-ieee.h: New file.
7148
7149         New module 'cbrtf-ieee'.
7150         * modules/cbrtf-ieee: New file.
7151
7152 2012-02-29  Bruno Haible  <bruno@clisp.org>
7153
7154         cbrtf: Work around bug in IRIX 6.5 system function.
7155         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
7156         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
7157         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
7158         work.
7159         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
7160         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
7161         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
7162         (Depends-on): Update conditions.
7163         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
7164
7165 2012-02-29  Bruno Haible  <bruno@clisp.org>
7166
7167         Tests for module 'cbrtl'.
7168         * modules/cbrtl-tests: New file.
7169         * tests/test-cbrtl.c: New file.
7170
7171         New module 'cbrtl'.
7172         * lib/math.in.h (cbrtl): New declaration.
7173         * lib/cbrtl.c: New file.
7174         * m4/cbrtl.m4: New file.
7175         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
7176         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
7177         HAVE_DECL_CBRTL.
7178         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
7179         HAVE_DECL_CBRTL.
7180         * modules/cbrtl: New file.
7181         * tests/test-math-c++.cc: Check the declaration of cbrtl.
7182         * doc/posix-functions/cbrtl.texi: Mention the new module.
7183
7184 2012-02-29  Bruno Haible  <bruno@clisp.org>
7185
7186         Tests for module 'cbrtf'.
7187         * modules/cbrtf-tests: New file.
7188         * tests/test-cbrtf.c: New file.
7189
7190         New module 'cbrtf'.
7191         * lib/math.in.h (cbrtf): New declaration.
7192         * lib/cbrtf.c: New file.
7193         * m4/cbrtf.m4: New file.
7194         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
7195         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
7196         HAVE_DECL_CBRTF.
7197         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
7198         HAVE_DECL_CBRTF.
7199         * modules/cbrtf: New file.
7200         * tests/test-math-c++.cc: Check the declaration of cbrtf.
7201         * doc/posix-functions/cbrtf.texi: Mention the new module.
7202
7203 2012-02-29  Bruno Haible  <bruno@clisp.org>
7204
7205         cbrt: Provide replacement on MSVC and Minix.
7206         * lib/math.in.h (cbrt): New declaration.
7207         * lib/cbrt.c: New file.
7208         * m4/cbrt.m4: New file.
7209         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
7210         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
7211         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
7212         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
7213         (Depends-on): Add dependencies.
7214         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
7215         * tests/test-math-c++.cc: Check the declaration of cbrt.
7216         * doc/posix-functions/cbrt.texi: Mention that the module provides a
7217         replacement.
7218
7219 2012-02-29  Bruno Haible  <bruno@clisp.org>
7220
7221         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
7222         * m4/hypotl-ieee.m4: New file.
7223         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
7224         test whether hypotl works with mixed NaN and Infinity arguments.
7225         Replace it if not.
7226         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
7227         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
7228         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
7229         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
7230         (Depends-on): Update conditions.
7231         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
7232         (Depends-on): Add hypot-ieee.
7233         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
7234         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
7235
7236         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
7237         * m4/hypotf-ieee.m4: New file.
7238         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
7239         test whether hypotf works with mixed NaN and Infinity arguments.
7240         Replace it if not.
7241         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
7242         (Depends-on): Add hypot-ieee.
7243         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
7244         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
7245
7246         hypot-ieee: Work around test failure on OSF/1 and native Windows.
7247         * lib/math.in.h (hypot): New declaration.
7248         * lib/hypot.c: New file.
7249         * m4/hypot-ieee.m4: New file.
7250         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
7251         whether hypot works with mixed NaN and Infinity arguments. Replace it
7252         if not.
7253         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
7254         REPLACE_HYPOT.
7255         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
7256         * modules/hypot (Files): Add lib/hypot.c.
7257         (Depends-on): Add dependencies.
7258         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
7259         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
7260         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
7261         * tests/test-math-c++.cc: Check the declaration of hypot.
7262         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
7263
7264         Tests for module 'hypotl-ieee'.
7265         * modules/hypotl-ieee-tests: New file.
7266         * tests/test-hypotl-ieee.c: New file.
7267
7268         New module 'hypotl-ieee'.
7269         * modules/hypotl-ieee: New file.
7270
7271         Tests for module 'hypot-ieee'.
7272         * modules/hypot-ieee-tests: New file.
7273         * tests/test-hypot-ieee.c: New file.
7274
7275         New module 'hypot-ieee'.
7276         * modules/hypot-ieee: New file.
7277
7278         Tests for module 'hypotf-ieee'.
7279         * modules/hypotf-ieee-tests: New file.
7280         * tests/test-hypotf-ieee.c: New file.
7281         * tests/test-hypot-ieee.h: New file.
7282
7283         New module 'hypotf-ieee'.
7284         * modules/hypotf-ieee: New file.
7285
7286 2012-02-29  Bruno Haible  <bruno@clisp.org>
7287
7288         Remove unused variables.
7289         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
7290         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
7291         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
7292         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
7293
7294 2012-02-29  Eric Blake  <eblake@redhat.com>
7295
7296         termios: fix pid_t always, not just for tcgetsid
7297         * doc/posix-headers/termios.texi (termios.h): Mention problem.
7298         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
7299         just when building tcgetsid.
7300
7301 2012-02-29  Bruno Haible  <bruno@clisp.org>
7302
7303         Tests for module 'hypotl'.
7304         * modules/hypotl-tests: New file.
7305         * tests/test-hypotl.c: New file.
7306
7307         New module 'hypotl'.
7308         * lib/math.in.h (hypotl): New declaration.
7309         * lib/hypotl.c: New file.
7310         * m4/hypotl.m4: New file.
7311         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
7312         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
7313         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
7314         * modules/hypotl: New file.
7315         * tests/test-math-c++.cc: Check the hypotl declaration.
7316         * doc/posix-functions/hypotl.texi: Mention the new module.
7317
7318 2012-02-29  Eric Blake  <eblake@redhat.com>
7319
7320         tcgetsid: fix cygwin header bug
7321         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
7322
7323         docs: update cygwin progress
7324         * doc/posix-functions/llround.texi (llround): Added in cygwin
7325         1.7.8.
7326         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
7327         * doc/glibc-functions/program_invocation_name.texi
7328         (program_invocation_name): Likewise.
7329         * doc/glibc-functions/program_invocation_short_name.texi
7330         (program_invocation_short_name): Likewise.
7331         * doc/glibc-functions/madvise.texi (madvise): Likewise.
7332         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
7333         Likewise.
7334         * doc/posix-functions/pthread_spin_destroy.texi
7335         (pthread_spin_destroy): Added in cygwin 1.7.10.
7336         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
7337         Likewise.
7338         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
7339         Likewise.
7340         * doc/posix-functions/pthread_spin_trylock.texi
7341         (pthread_spin_trylock): Likewise.
7342         * doc/posix-functions/pthread_spin_unlock.texi
7343         (pthread_spin_unlock): Likewise.
7344         * doc/posix-functions/pthread_setschedprio.texi
7345         (pthread_setschedprio): Likewise.
7346         * doc/posix-functions/pthread_attr_getstack.texi
7347         (pthread_attr_getstack): Likewise.
7348         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
7349         (pthread_attr_getstackaddr): Likewise.
7350         * doc/glibc-functions/pthread_getattr_np.texi
7351         (pthread_getattr_np): Likewise.
7352         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
7353         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
7354         * doc/posix-functions/clock_settime.texi (clock_settime):
7355         Likewise.
7356         * doc/posix-functions/pthread_attr_getguardsize.texi
7357         (pthread_attr_getguardsize): Likewise.
7358         * doc/posix-functions/pthread_attr_setguardsize.texi
7359         (pthread_attr_setguardsize): Likewise.
7360         * doc/posix-functions/pthread_attr_setstack.texi
7361         (pthread_attr_setstack): Likewise.
7362         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
7363         (pthread_attr_setstackaddr): Likewise.
7364         * doc/posix-functions/clock_getcpuclockid.texi
7365         (clock_getcpuclockid): Likewise.
7366         * doc/posix-functions/pthread_getcpuclockid.texi
7367         (pthread_getcpuclockid): Likewise.
7368         * doc/glibc-functions/error.texi (error): Likewise.
7369         * doc/glibc-functions/error_at_line.texi (error_at_line):
7370         Likewise.
7371         * doc/glibc-functions/error_message_count.texi
7372         (error_message_count): Likewise.
7373         * doc/glibc-functions/error_one_per_line.texi
7374         (error_one_per_line): Likewise.
7375         * doc/glibc-functions/error_print_progname.texi
7376         (error_print_progname): Likewise.
7377         * doc/posix-functions/pthread_condattr_getclock.texi
7378         (pthread_condattr_getclock): Likewise.
7379         * doc/posix-functions/pthread_condattr_setclock.texi
7380         (pthread_condattr_setclock): Likewise.
7381         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
7382         Likewise.
7383         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
7384         * doc/glibc-functions/getpt.texi (getpt): Likewise.
7385         * doc/glibc-functions/get_current_dir_name.texi
7386         (get_current_dir_name): Likewise.
7387         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
7388         Likewise.
7389         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
7390         wrong return type.
7391         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
7392         1.7.11.
7393
7394 2012-02-29  Bruno Haible  <bruno@clisp.org>
7395
7396         Tests for module 'hypotf'.
7397         * modules/hypotf-tests: New file.
7398         * tests/test-hypotf.c: New file.
7399
7400         New module 'hypotf'.
7401         * lib/math.in.h (hypotf): New declaration.
7402         * lib/hypotf.c: New file.
7403         * m4/hypotf.m4: New file.
7404         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
7405         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
7406         REPLACE_HYPOTF.
7407         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
7408         REPLACE_HYPOTF.
7409         * modules/hypotf: New file.
7410         * tests/test-math-c++.cc: Check the hypotf declaration.
7411         * doc/posix-functions/hypotf.texi: Mention the new module.
7412
7413         hypot: Prepare for hypotf module.
7414         * m4/hypot.m4: New file.
7415         * modules/hypot (Files): Add m4/hypot.m4.
7416         (configure.ac): Invoke gl_FUNC_HYPOT.
7417
7418 2012-02-29  Bruno Haible  <bruno@clisp.org>
7419
7420         hypot tests: More tests.
7421         * tests/test-hypot.c: Include <float.h>.
7422         (main): Add tests about overflow and underflow.
7423
7424 2012-02-29  Bruno Haible  <bruno@clisp.org>
7425
7426         math code: Add comments.
7427         * lib/acosl.c: Add comment about related glibc source files.
7428         * lib/asinl.c: Likewise.
7429         * lib/atanl.c: Likewise.
7430         * lib/expl.c: Likewise.
7431         * lib/logl.c: Likewise.
7432         * lib/sincosl.c: Likewise.
7433         * lib/sinl.c: Likewise.
7434         * lib/tanl.c: Likewise.
7435         * lib/trigl.c: Likewise.
7436         * lib/cosl.c: Likewise. Fix comments.
7437
7438 2012-02-28  Bruno Haible  <bruno@clisp.org>
7439
7440         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
7441         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
7442         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
7443         HUGE_VALL are defined.
7444         (numeric_equald): Renamed from numeric_equal.
7445         (numeric_equalf, numeric_equall): New functions.
7446         (main): Check also HUGE_VALF, HUGE_VALL.
7447         * modules/math-tests (Files): Add tests/macros.h.
7448         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
7449         HUGE_VALL.
7450
7451 2012-02-28  Bruno Haible  <bruno@clisp.org>
7452
7453         doc: Move ISO C11 feature notes into POSIX chapters.
7454         * doc/posix-functions/aligned_alloc.texi: Renamed from
7455         doc/glibc-functions/aligned_alloc.texi.
7456         * doc/posix-functions/quick_exit.texi: Renamed from
7457         doc/glibc-functions/quick_exit.texi.
7458         * doc/posix-headers/uchar.texi: Renamed from
7459         doc/glibc-headers/uchar.texi.
7460         * doc/posix-functions/c16rtomb.texi: Renamed from
7461         doc/glibc-functions/c16rtomb.texi.
7462         * doc/posix-functions/c32rtomb.texi: Renamed from
7463         doc/glibc-functions/c32rtomb.texi.
7464         * doc/posix-functions/mbrtoc16.texi: Renamed from
7465         doc/glibc-functions/mbrtoc16.texi.
7466         * doc/posix-functions/mbrtoc32.texi: Renamed from
7467         doc/glibc-functions/mbrtoc32.texi.
7468         * doc/gnulib.texi: Update.
7469         (Glibc uchar.h): Remove section.
7470         Suggested by Eric Blake.
7471
7472 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
7473
7474         stdnoreturn: port to MSVC better
7475         MSVC standard headers use __declspec(noreturn), so #define noreturn
7476         to empty on that platform.  Reported by Bruno Haible in
7477         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
7478         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
7479         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
7480
7481 2012-02-28  Bruno Haible  <bruno@clisp.org>
7482
7483         doc: Mention new glibc headers and functions.
7484         * doc/glibc-headers/uchar.texi: New file.
7485         * doc/glibc-functions/aligned_alloc.texi: New file.
7486         * doc/glibc-functions/c16rtomb.texi: New file.
7487         * doc/glibc-functions/c32rtomb.texi: New file.
7488         * doc/glibc-functions/clock_adjtime.texi: New file.
7489         * doc/glibc-functions/fanotify_init.texi: New file.
7490         * doc/glibc-functions/fanotify_mark.texi: New file.
7491         * doc/glibc-functions/inet6_opt_append.texi: New file.
7492         * doc/glibc-functions/inet6_opt_find.texi: New file.
7493         * doc/glibc-functions/inet6_opt_finish.texi: New file.
7494         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
7495         * doc/glibc-functions/inet6_opt_init.texi: New file.
7496         * doc/glibc-functions/inet6_opt_next.texi: New file.
7497         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
7498         * doc/glibc-functions/inet6_rth_add.texi: New file.
7499         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
7500         * doc/glibc-functions/inet6_rth_init.texi: New file.
7501         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
7502         * doc/glibc-functions/inet6_rth_segments.texi: New file.
7503         * doc/glibc-functions/inet6_rth_space.texi: New file.
7504         * doc/glibc-functions/login.texi: New file.
7505         * doc/glibc-functions/mbrtoc16.texi: New file.
7506         * doc/glibc-functions/mbrtoc32.texi: New file.
7507         * doc/glibc-functions/name_to_handle_at.texi: New file.
7508         * doc/glibc-functions/ntp_gettimex.texi: New file.
7509         * doc/glibc-functions/open_by_handle_at.texi: New file.
7510         * doc/glibc-functions/prlimit.texi: New file.
7511         * doc/glibc-functions/process_vm_readv.texi: New file.
7512         * doc/glibc-functions/process_vm_writev.texi: New file.
7513         * doc/glibc-functions/recvmmsg.texi: New file.
7514         * doc/glibc-functions/scandirat.texi: New file.
7515         * doc/glibc-functions/sendmmsg.texi: New file.
7516         * doc/glibc-functions/setns.texi: New file.
7517         * doc/glibc-functions/timespec_get.texi: New file.
7518         * doc/gnulib.texi: Include them.
7519         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
7520         sections.
7521         Reported by Eric Blake.
7522
7523 2012-02-28  Bruno Haible  <bruno@clisp.org>
7524
7525         Avoid compilation errors with MSVC option -fp:strict.
7526         * lib/floor.c: Use MSVC specific pragma fenv_access.
7527         * lib/ceil.c: Likewise.
7528         * lib/trunc.c: Likewise.
7529         * lib/round.c: Likewise.
7530         * lib/rint.c: Likewise.
7531         * lib/fma.c: Likewise.
7532         * lib/integer_length.c: Likewise.
7533         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
7534         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
7535         * tests/test-floor2.c: Likewise.
7536         * tests/test-floorf2.c: Likewise.
7537         * tests/test-ceil2.c: Likewise.
7538         * tests/test-ceilf2.c: Likewise.
7539         * tests/test-trunc2.c: Likewise.
7540         * tests/test-truncf2.c: Likewise.
7541         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7542
7543 2012-02-27  Bruno Haible  <bruno@clisp.org>
7544
7545         Tests for module 'sqrtl-ieee'.
7546         * modules/sqrtl-ieee-tests: New file.
7547         * tests/test-sqrtl-ieee.c: New file.
7548
7549         New module 'sqrtl-ieee'.
7550         * modules/sqrtl-ieee: New file.
7551
7552         Tests for module 'sqrt-ieee'.
7553         * modules/sqrt-ieee-tests: New file.
7554         * tests/test-sqrt-ieee.c: New file.
7555
7556         New module 'sqrt-ieee'.
7557         * modules/sqrt-ieee: New file.
7558
7559         Tests for module 'sqrtf-ieee'.
7560         * modules/sqrtf-ieee-tests: New file.
7561         * tests/test-sqrtf-ieee.c: New file.
7562         * tests/test-sqrt-ieee.h: New file.
7563
7564         New module 'sqrtf-ieee'.
7565         * modules/sqrtf-ieee: New file.
7566
7567 2012-02-27  Bruno Haible  <bruno@clisp.org>
7568
7569         remainderl-ieee: Work around test failure on OSF/1.
7570         * m4/remainderl-ieee.m4: New file.
7571         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
7572         present, test whether remainderl works with a zero second argument.
7573         Replace it if not.
7574         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
7575         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
7576         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
7577         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
7578         (Depends-on): Update conditions.
7579         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
7580         (Depends-on): Add remainder-ieee.
7581         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
7582         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
7583         module.
7584
7585         remainderf-ieee: Work around test failure on OSF/1.
7586         * m4/remainderf-ieee.m4: New file.
7587         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
7588         present, test whether remainderf works with a zero second argument.
7589         Replace it if not.
7590         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
7591         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
7592         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
7593         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
7594         (Depends-on): Update conditions.
7595         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
7596         (Depends-on): Add remainder-ieee.
7597         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
7598         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
7599         module.
7600
7601         remainder-ieee: Work around test failure on OSF/1.
7602         * m4/remainder-ieee.m4: New file.
7603         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
7604         present, test whether remainder works with a zero second argument.
7605         Replace it if not.
7606         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
7607         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
7608         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
7609         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
7610         (Depends-on): Update dependencies.
7611         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
7612         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
7613         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
7614
7615         Tests for module 'remainderl-ieee'.
7616         * modules/remainderl-ieee-tests: New file.
7617         * tests/test-remainderl-ieee.c: New file.
7618
7619         New module 'remainderl-ieee'.
7620         * modules/remainderl-ieee: New file.
7621
7622         Tests for module 'remainder-ieee'.
7623         * modules/remainder-ieee-tests: New file.
7624         * tests/test-remainder-ieee.c: New file.
7625
7626         New module 'remainder-ieee'.
7627         * modules/remainder-ieee: New file.
7628
7629         Tests for module 'remainderf-ieee'.
7630         * modules/remainderf-ieee-tests: New file.
7631         * tests/test-remainderf-ieee.c: New file.
7632         * tests/test-remainder-ieee.h: New file.
7633
7634         New module 'remainderf-ieee'.
7635         * modules/remainderf-ieee: New file.
7636
7637 2012-02-27  Bruno Haible  <bruno@clisp.org>
7638
7639         modff, modfl: Fix configure syntax error.
7640         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
7641         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
7642
7643 2012-02-27  Bruno Haible  <bruno@clisp.org>
7644
7645         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
7646         * m4/fmodl-ieee.m4: New file.
7647         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
7648         whether fmodl works with zero arguments. Replace it if not.
7649         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
7650         (Depends-on): Add fmod-ieee.
7651         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
7652         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
7653
7654         fmodf-ieee: Work around test failure on OSF/1.
7655         * m4/fmodf-ieee.m4: New file.
7656         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
7657         whether fmodf works with zero arguments. Replace it if not.
7658         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
7659         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
7660         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
7661         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
7662         (Depends-on): Update dependencies.
7663         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
7664         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
7665         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
7666
7667         fmodf-ieee: Work around test failure on MSVC 9.
7668         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
7669         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
7670
7671         fmod-ieee: Work around test failures on OSF/1, mingw.
7672         * m4/fmod-ieee.m4: New file.
7673         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
7674         whether fmod works with zero arguments. Replace it if not.
7675         * lib/math.in.h (fmod): New declaration.
7676         * lib/fmod.c: New file.
7677         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
7678         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
7679         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
7680         * modules/fmod (Files): Add lib/fmod.c.
7681         (Depends-on): Add math, isinf, trunc, fma.
7682         (configure.ac): Arrange to compile lib/fmod.c if needed.
7683         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
7684         m4/signbit.m4.
7685         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
7686         * tests/test-math-c++.cc: Check the declaration of fmod.
7687         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
7688
7689         fmodl-ieee: Fix test failures.
7690         * lib/fmodl.c (fmodl): Treat Inf specially.
7691         * modules/fmodl (Depends-on): Add isinf.
7692
7693         Tests for module 'fmodl-ieee'.
7694         * modules/fmodl-ieee-tests: New file.
7695         * tests/test-fmodl-ieee.c: New file.
7696
7697         New module 'fmodl-ieee'.
7698         * modules/fmodl-ieee: New file.
7699
7700         Tests for module 'fmod-ieee'.
7701         * modules/fmod-ieee-tests: New file.
7702         * tests/test-fmod-ieee.c: New file.
7703
7704         New module 'fmod-ieee'.
7705         * modules/fmod-ieee: New file.
7706
7707         Tests for module 'fmodf-ieee'.
7708         * modules/fmodf-ieee-tests: New file.
7709         * tests/test-fmodf-ieee.c: New file.
7710         * tests/test-fmod-ieee.h: New file.
7711
7712         New module 'fmodf-ieee'.
7713         * modules/fmodf-ieee: New file.
7714
7715 2012-02-27  Bruno Haible  <bruno@clisp.org>
7716
7717         Tests for module 'rintl-ieee'.
7718         * modules/rintl-ieee-tests: New file.
7719         * tests/test-rintl-ieee.c: New file.
7720
7721         New module 'rintl-ieee'.
7722         * modules/rintl-ieee: New file.
7723
7724         Tests for module 'rint-ieee'.
7725         * modules/rint-ieee-tests: New file.
7726         * tests/test-rint-ieee.c: New file.
7727
7728         New module 'rint-ieee'.
7729         * modules/rint-ieee: New file.
7730
7731         Tests for module 'rintf-ieee'.
7732         * modules/rintf-ieee-tests: New file.
7733         * tests/test-rintf-ieee.c: New file.
7734         * tests/test-rint-ieee.h: New file.
7735
7736         New module 'rintf-ieee'.
7737         * modules/rintf-ieee: New file.
7738
7739 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
7740
7741         regex: re_search etc. should return -2 when memory exhausted
7742         This bug was uncovered when testing 'grep'.  Without the fix,
7743         re_search and friends return -1 when memory is exhausted, but -1
7744         means no match, and this causes grep to falsely report no-match
7745         instead of memory-exhaustion.  See
7746         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
7747         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
7748         trouble; this can occur if re_search_internal ran out of memory.
7749
7750 2012-02-26  Bruno Haible  <bruno@clisp.org>
7751
7752         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
7753         * m4/modfl-ieee.m4: New file.
7754         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
7755         whether modfl works with Inf. Replace it if not.
7756         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
7757         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
7758         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
7759         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
7760         (Depends-on): Update dependencies.
7761         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
7762         m4/signbit.m4.
7763         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
7764         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
7765
7766         modfl-ieee: Fix dependencies.
7767         * modules/modfl-ieee (Depends-on): Add modf-ieee.
7768
7769         modfl-ieee: Fix test failures.
7770         * lib/modfl.c (modfl): Treat NaN and Inf specially.
7771         * modules/modfl (Depends-on): Add isfinite, isinf.
7772
7773         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
7774         * m4/modff-ieee.m4: New file.
7775         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
7776         whether modff works with NaN and Inf. Replace it if not.
7777         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
7778         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
7779         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
7780         * modules/modff (configure.ac): Consider REPLACE_MODFF.
7781         (Depends-on): Update dependencies.
7782         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
7783         m4/signbit.m4.
7784         (Depends-on): Add modf-ieee.
7785         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
7786         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
7787
7788         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
7789         * m4/modf-ieee.m4: New file.
7790         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
7791         whether modf works with NaN and Inf. Replace it if not.
7792         * lib/math.in.h (modf): New declaration.
7793         * lib/modf.c: New file.
7794         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
7795         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
7796         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
7797         * modules/modf (Files): Add lib/modf.c.
7798         (Depends-on): Add math, isfinite, trunc, isinf.
7799         (configure.ac): Addrange to compile lib/modf.c if needed.
7800         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
7801         m4/signbit.m4.
7802         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
7803         * tests/test-math-c++.cc: Check the declaration of modf.
7804         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
7805
7806         Tests for module 'modfl-ieee'.
7807         * modules/modfl-ieee-tests: New file.
7808         * tests/test-modfl-ieee.c: New file.
7809
7810         New module 'modfl-ieee'.
7811         * modules/modfl-ieee: New file.
7812
7813         Tests for module 'modf-ieee'.
7814         * modules/modf-ieee-tests: New file.
7815         * tests/test-modf-ieee.c: New file.
7816
7817         New module 'modf-ieee'.
7818         * modules/modf-ieee: New file.
7819
7820         Tests for module 'modff-ieee'.
7821         * modules/modff-ieee-tests: New file.
7822         * tests/test-modff-ieee.c: New file.
7823         * tests/test-modf-ieee.h: New file.
7824
7825         New module 'modff-ieee'.
7826         * modules/modff-ieee: New file.
7827
7828 2012-02-26  Bruno Haible  <bruno@clisp.org>
7829
7830         Tests for module 'fabsl-ieee'.
7831         * modules/fabsl-ieee-tests: New file.
7832         * tests/test-fabsl-ieee.c: New file.
7833
7834         New module 'fabsl-ieee'.
7835         * modules/fabsl-ieee: New file.
7836
7837         Tests for module 'fabs-ieee'.
7838         * modules/fabs-ieee-tests: New file.
7839         * tests/test-fabs-ieee.c: New file.
7840
7841         New module 'fabs-ieee'.
7842         * modules/fabs-ieee: New file.
7843
7844         Tests for module 'fabsf-ieee'.
7845         * modules/fabsf-ieee-tests: New file.
7846         * tests/test-fabsf-ieee.c: New file.
7847         * tests/test-fabs-ieee.h: New file.
7848
7849         New module 'fabsf-ieee'.
7850         * modules/fabsf-ieee: New file.
7851
7852 2012-02-26  Bruno Haible  <bruno@clisp.org>
7853
7854         Tests for module 'fmal-ieee'.
7855         * modules/fmal-ieee-tests: New file.
7856         * tests/test-fmal-ieee.c: New file.
7857
7858         New module 'fmal-ieee'.
7859         * modules/fmal-ieee: New file.
7860
7861         Tests for module 'fma-ieee'.
7862         * modules/fma-ieee-tests: New file.
7863         * tests/test-fma-ieee.c: New file.
7864
7865         New module 'fma-ieee'.
7866         * modules/fma-ieee: New file.
7867
7868         Tests for module 'fmaf-ieee'.
7869         * modules/fmaf-ieee-tests: New file.
7870         * tests/test-fmaf-ieee.c: New file.
7871         * tests/test-fma-ieee.h: New file.
7872
7873         New module 'fmaf-ieee'.
7874         * modules/fmaf-ieee: New file.
7875
7876 2012-02-26  Bruno Haible  <bruno@clisp.org>
7877
7878         Tests for module 'ldexpl-ieee'.
7879         * modules/ldexpl-ieee-tests: New file.
7880         * tests/test-ldexpl-ieee.c: New file.
7881
7882         New module 'ldexpl-ieee'.
7883         * modules/ldexpl-ieee: New file.
7884
7885         Tests for module 'ldexp-ieee'.
7886         * modules/ldexp-ieee-tests: New file.
7887         * tests/test-ldexp-ieee.c: New file.
7888
7889         New module 'ldexp-ieee'.
7890         * modules/ldexp-ieee: New file.
7891
7892         Tests for module 'ldexpf-ieee'.
7893         * modules/ldexpf-ieee-tests: New file.
7894         * tests/test-ldexpf-ieee.c: New file.
7895         * tests/test-ldexp-ieee.h: New file.
7896
7897         New module 'ldexpf-ieee'.
7898         * modules/ldexpf-ieee: New file.
7899
7900 2012-02-26  Bruno Haible  <bruno@clisp.org>
7901
7902         Refactor frexp*-ieee tests.
7903         * tests/test-frexp-ieee.h: New file.
7904         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
7905         (main): Just call test_function.
7906         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
7907         (main): Just call test_function.
7908         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
7909         (main): Just call test_function.
7910         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
7911         * modules/frexp-ieee-tests (Files): Likewise.
7912         * modules/frexpl-ieee-tests (Files): Likewise.
7913
7914         Tests for module 'frexpl-ieee'.
7915         * modules/frexpl-ieee-tests: New file.
7916         * tests/test-frexpl-ieee.c: New file.
7917
7918         New module 'frexpl-ieee'.
7919         * modules/frexpl-ieee: New file.
7920
7921         Tests for module 'frexp-ieee'.
7922         * modules/frexp-ieee-tests: New file.
7923         * tests/test-frexp-ieee.c: New file.
7924
7925         New module 'frexp-ieee'.
7926         * modules/frexp-ieee: New file.
7927
7928         Tests for module 'frexpf-ieee'.
7929         * modules/frexpf-ieee-tests: New file.
7930         * tests/test-frexpf-ieee.c: New file.
7931
7932         New module 'frexpf-ieee'.
7933         * modules/frexpf-ieee: New file.
7934
7935 2012-02-26  Bruno Haible  <bruno@clisp.org>
7936
7937         roundl-ieee tests: More tests.
7938         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7939         (main): Add tests for [MX] shaded specification in POSIX.
7940         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7941         (Depends-on): Add isnanl-nolibm.
7942
7943         round-ieee tests: More tests.
7944         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7945         (main): Add tests for [MX] shaded specification in POSIX.
7946         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7947         (Depends-on): Add isnand-nolibm.
7948
7949         roundf-ieee tests: More tests.
7950         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7951         (main): Add tests for [MX] shaded specification in POSIX.
7952         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7953         (Depends-on): Add isnanf-nolibm.
7954
7955         truncl-ieee tests: More tests.
7956         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7957         (main): Add tests for [MX] shaded specification in POSIX.
7958         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7959         (Depends-on): Add isnanl-nolibm.
7960
7961         trunc-ieee tests: More tests.
7962         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7963         (main): Add tests for [MX] shaded specification in POSIX.
7964         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7965         (Depends-on): Add isnand-nolibm.
7966
7967         truncf-ieee tests: More tests.
7968         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7969         (main): Add tests for [MX] shaded specification in POSIX.
7970         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7971         (Depends-on): Add isnanf-nolibm.
7972
7973         ceill-ieee tests: More tests.
7974         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7975         (main): Add tests for [MX] shaded specification in POSIX.
7976         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7977         (Depends-on): Add isnanl-nolibm.
7978
7979         ceil-ieee tests: More tests.
7980         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7981         (main): Add tests for [MX] shaded specification in POSIX.
7982         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7983         (Depends-on): Add isnand-nolibm.
7984
7985         ceilf-ieee tests: More tests.
7986         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7987         (main): Add tests for [MX] shaded specification in POSIX.
7988         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7989         (Depends-on): Add isnanf-nolibm.
7990
7991         floorl-ieee tests: More tests.
7992         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7993         (main): Add tests for [MX] shaded specification in POSIX.
7994         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7995         (Depends-on): Add isnanl-nolibm.
7996
7997         floor-ieee tests: More tests.
7998         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7999         (main): Add tests for [MX] shaded specification in POSIX.
8000         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8001         (Depends-on): Add isnand-nolibm.
8002
8003         floorf-ieee tests: More tests.
8004         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
8005         (main): Add tests for [MX] shaded specification in POSIX.
8006         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
8007         (Depends-on): Add isnanf-nolibm.
8008
8009 2012-02-26  Bruno Haible  <bruno@clisp.org>
8010
8011         fpieee: More comments.
8012         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
8013
8014 2012-02-25  Bruno Haible  <bruno@clisp.org>
8015
8016         Tests for module 'log10l'.
8017         * modules/log10l-tests: New file.
8018         * tests/test-log10l.c: New file.
8019         * tests/test-math-c++.cc: Check the declaration of log10l.
8020
8021         New module 'log10l'.
8022         * lib/math.in.h (log10l): New declaration.
8023         * lib/log10l.c: New file.
8024         * m4/log10l.m4: New file.
8025         * modules/log10l: New file.
8026         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
8027         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
8028         HAVE_DECL_LOG10L.
8029         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
8030         HAVE_DECL_LOG10L.
8031         * doc/posix-functions/log10l.texi: Mention the new module.
8032
8033 2012-02-25  Bruno Haible  <bruno@clisp.org>
8034
8035         fmodl, remainder*: Avoid wrong results due to rounding errors.
8036         * lib/fmodl.c (fmodl): Correct the result if it is not within the
8037         expected bounds.
8038         * lib/remainderf.c (remainderf): Likewise.
8039         * lib/remainder.c (remainder): Likewise.
8040         * lib/remainderl.c (remainderl): Likewise.
8041
8042 2012-02-25  Bruno Haible  <bruno@clisp.org>
8043
8044         Tests for module 'remainderl'.
8045         * modules/remainderl-tests: New file.
8046         * tests/test-remainderl.c: New file.
8047         * tests/test-math-c++.cc: Check the declaration of remainderl.
8048
8049         New module 'remainderl'.
8050         * lib/math.in.h (remainderl): New declaration.
8051         * lib/remainderl.c: New file.
8052         * m4/remainderl.m4: New file.
8053         * modules/remainderl: New file.
8054         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
8055         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
8056         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
8057         HAVE_REMAINDERL.
8058         * doc/posix-functions/remainderl.texi: Mention the new module.
8059
8060 2012-02-25  Bruno Haible  <bruno@clisp.org>
8061
8062         Tests for module 'remainderf'.
8063         * modules/remainderf-tests: New file.
8064         * tests/test-remainderf.c: New file.
8065         * tests/test-math-c++.cc: Check the declaration of remainderf.
8066
8067         New module 'remainderf'.
8068         * lib/math.in.h (remainderf): New declaration.
8069         * lib/remainderf.c: New file.
8070         * m4/remainderf.m4: New file.
8071         * modules/remainderf: New file.
8072         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
8073         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
8074         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
8075         HAVE_REMAINDERF.
8076         * doc/posix-functions/remainderf.texi: Mention the new module.
8077
8078 2012-02-25  Bruno Haible  <bruno@clisp.org>
8079
8080         remainder: Support for MSVC.
8081         * lib/math.in.h (remainder): New declaration.
8082         * lib/remainder.c: New file.
8083         * m4/remainder.m4: New file.
8084         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
8085         (Depends-on): Add math, round, fma.
8086         (configure.ac): Use results of gl_FUNC_REMAINDER.
8087         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
8088         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
8089         HAVE_DECL_REMAINDER.
8090         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
8091         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
8092         * tests/test-math-c++.cc: Check the declaration of remainder.
8093         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
8094         problems are fixed.
8095
8096 2012-02-25  Bruno Haible  <bruno@clisp.org>
8097
8098         Tests for module 'fmodl'.
8099         * modules/fmodl-tests: New file.
8100         * tests/test-fmodl.c: New file.
8101         * tests/test-math-c++.cc: Check the declaration of fmodl.
8102
8103         New module 'fmodl'.
8104         * lib/math.in.h (fmodl): New declaration.
8105         * lib/fmodl.c: New file.
8106         * m4/fmodl.m4: New file.
8107         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
8108         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
8109         REPLACE_FMODL.
8110         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
8111         REPLACE_FMODL.
8112         * modules/fmodl: New file.
8113         * doc/posix-functions/fmodl.texi: Mention the new module.
8114
8115 2012-02-25  Bruno Haible  <bruno@clisp.org>
8116
8117         Tests for module 'modfl'.
8118         * modules/modfl-tests: New file.
8119         * tests/test-modfl.c: New file.
8120         * tests/test-math-c++.cc: Check the declaration of modfl.
8121
8122         New module 'modfl'.
8123         * lib/math.in.h (modfl): New declaration.
8124         * lib/modfl.c: New file.
8125         * m4/modfl.m4: New file.
8126         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
8127         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
8128         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
8129         * modules/modfl: New file.
8130         * doc/posix-functions/modfl.texi: Mention the new module.
8131
8132 2012-02-25  Bruno Haible  <bruno@clisp.org>
8133
8134         Tests for module 'fabsl'.
8135         * modules/fabsl-tests: New file.
8136         * tests/test-fabsl.c: New file.
8137         * tests/test-math-c++.cc: Check the declaration of fabsl.
8138
8139         New module 'fabsl'.
8140         * lib/math.in.h (fabsl): New declaration.
8141         * lib/fabsl.c: New file.
8142         * m4/fabsl.m4: New file.
8143         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
8144         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
8145         REPLACE_FABSL.
8146         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
8147         REPLACE_FABSL.
8148         * modules/fabsl: New file.
8149         * doc/posix-functions/fabsl.texi: Mention the new module.
8150
8151 2012-02-25  Bruno Haible  <bruno@clisp.org>
8152
8153         fabs tests: More tests.
8154         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
8155         (zero): New variable.
8156         (main): Add tests for signed zero.
8157         * modules/fabs-tests (Files): Add tests/minus-zero.h.
8158
8159         fabsf tests: More tests.
8160         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
8161         (zero): New variable.
8162         (main): Add tests for signed zero.
8163         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
8164
8165 2012-02-24  Bruno Haible  <bruno@clisp.org>
8166
8167         atanl: Provide function definition on MSVC.
8168         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
8169         function pointer.
8170         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
8171
8172 2012-02-24  Bruno Haible  <bruno@clisp.org>
8173
8174         acosl: Provide function definition on MSVC.
8175         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
8176         function pointer.
8177         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
8178
8179 2012-02-24  Bruno Haible  <bruno@clisp.org>
8180
8181         asinl: Provide function definition on MSVC.
8182         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
8183         function pointer.
8184         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
8185
8186 2012-02-24  Bruno Haible  <bruno@clisp.org>
8187
8188         tanl: Provide function definition on MSVC.
8189         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
8190         function pointer.
8191         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
8192
8193 2012-02-24  Bruno Haible  <bruno@clisp.org>
8194
8195         cosl: Provide function definition on MSVC.
8196         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
8197         function pointer.
8198         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
8199
8200 2012-02-24  Bruno Haible  <bruno@clisp.org>
8201
8202         sinl: Provide function definition on MSVC.
8203         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
8204         function pointer.
8205         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
8206
8207 2012-02-24  Bruno Haible  <bruno@clisp.org>
8208
8209         logl: Provide function definition on MSVC.
8210         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
8211         function pointer.
8212         * lib/math.in.h (logl): Undefine if it does not exist as a function.
8213
8214 2012-02-24  Bruno Haible  <bruno@clisp.org>
8215
8216         expl: Provide function definition on MSVC.
8217         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
8218         function pointer.
8219         * lib/math.in.h (expl): Undefine if it does not exist as a function.
8220
8221 2012-02-24  Bruno Haible  <bruno@clisp.org>
8222
8223         sqrtl: Provide function definition on MSVC.
8224         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
8225         a function pointer.
8226         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
8227
8228 2012-02-24  Bruno Haible  <bruno@clisp.org>
8229
8230         ceill: Provide function definition on MSVC.
8231         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
8232         used as a function pointer.
8233         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
8234
8235 2012-02-24  Bruno Haible  <bruno@clisp.org>
8236
8237         floorl: Provide function definition on MSVC.
8238         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
8239         used as a function pointer.
8240         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
8241
8242 2012-02-24  Bruno Haible  <bruno@clisp.org>
8243
8244         ceilf: Provide function definition on MSVC.
8245         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
8246         used as a function pointer.
8247         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
8248
8249 2012-02-24  Bruno Haible  <bruno@clisp.org>
8250
8251         floorf: Provide function definition on MSVC.
8252         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
8253         used as a function pointer.
8254         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
8255
8256 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
8257
8258         stdnoreturn: new module
8259         This implements a replacement for C11's <stdnoreturn.h>.
8260         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
8261         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
8262         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
8263         * tests/test-stdnoreturn.c: New files.
8264
8265 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
8266
8267         regex: fix false multibyte matches in some regular expressions
8268         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
8269         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
8270         * lib/regex_internal.c (re_string_skip_chars):
8271         Fix miscomputation of remain_len that may cause incomplete
8272         multi-byte character and false match.
8273
8274 2012-02-24  Jim Meyering  <meyering@redhat.com>
8275
8276         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
8277         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
8278         uses with "==" *before* the call, e.g., 0 == strcmp (...)
8279         Remove now-unnecessary str''cmp obfuscation.
8280         Suggested by Akim Demaille.
8281
8282 2012-02-24  Bruno Haible  <bruno@clisp.org>
8283
8284         streq: Rename macro.
8285         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
8286         * NEWS: Mention the change.
8287         * lib/mbrtowc.c (mbrtowc): Update.
8288         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
8289         * lib/wcwidth.c (wcwidth): Update.
8290         Suggested by Akim Demaille and Jim Meyering.
8291
8292 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
8293
8294         regex: fix typo in definition of MIN
8295         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
8296         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
8297
8298 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
8299             Bruno Haible  <bruno@clisp.org>
8300
8301         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
8302         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
8303         entries into a stack-allocated buffer directly.
8304         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
8305
8306 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
8307             Bruno Haible  <bruno@clisp.org>
8308
8309         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
8310
8311          - There were several instances of this pattern:
8312
8313              for (;;) {
8314                n = acl (f, GETACLCNT, 0, NULL);
8315                [ allocate an array A of size N ]
8316                if (acl (f, GETACL, n, a) == n)
8317                  break;
8318              }
8319
8320            This loop might never terminate if some other process is constantly
8321            manipulating the file's ACL.  The loop should be rewritten to
8322            terminate.
8323
8324          - The acl (... GETACLNT ...) call is merely an optimization; its value
8325            is merely a hint as to how big to make the array.  A better
8326            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
8327            and just guess a reasonably-big size, growing the size and trying
8328            again if it's not large enough.  This guarantees termination, and
8329            saves a system call.
8330
8331         * lib/acl-internal.h: Include <limits.h>.
8332         (MIN, SIZE_MAX): New macros.
8333         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
8334         a stack-allocated buffer, and use malloc if it does not fit. Don't
8335         use GETACLCNT.
8336         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
8337
8338 2012-02-19  Bruno Haible  <bruno@clisp.org>
8339
8340         acl: Fix endless loop on Solaris with vxfs.
8341         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
8342         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
8343         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
8344         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
8345         * tests/test-sameacls.c (main)[Solaris]: Likewise.
8346         Reported by Bill Jones in
8347         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
8348
8349 2012-02-19  Bruno Haible  <bruno@clisp.org>
8350
8351         acl: Fix copy-acl test failure on Solaris 11 2011-11.
8352         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
8353         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
8354         that this function returns 0 in some more cases.
8355
8356 2012-02-19  Bruno Haible  <bruno@clisp.org>
8357
8358         acl: Update doc references.
8359         * doc/acl-resources.txt: Update links to Solaris documentation.
8360
8361 2012-02-19  Bruno Haible  <bruno@clisp.org>
8362
8363         Fix test failure in many locales on Solaris 11.
8364         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
8365         'tr' arguments.
8366         * tests/test-pipe-filter-ii1.c (main): Likewise.
8367         * build-aux/bootstrap (check_versions): Run 'tr' command with range
8368         expressions in the C locale.
8369         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
8370         * m4/host-os.m4 (gl_HOST_OS): Likewise.
8371
8372 2012-02-19  Bruno Haible  <bruno@clisp.org>
8373
8374         gnulib-tool: Improve usage message.
8375         * gnulib-tool (func_usage): Move doc of --help and --version to the
8376         section "Operation modes".
8377
8378 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
8379
8380         README-release: make it easier to execute commands
8381         * top/README-release: break commands out on to separate lines.
8382
8383 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
8384
8385         GNUmakefile: simplify detection of unconfigured trees
8386         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
8387         whether the tree make is being run from is already configured or
8388         not.  Related simplifications.
8389
8390 2012-02-13  Simon Josefsson  <simon@josefsson.org>
8391
8392         * gnulib-tool (func_usage): Document --help and --version.
8393
8394 2012-02-11  Jim Meyering  <meyering@redhat.com>
8395
8396         bootstrap: don't exit 0 upon gnulib-tool failure
8397         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
8398         its exit status, not 0.
8399
8400 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
8401
8402         README-release: various improvements
8403         * top/README-release: Give a command to push changes for the
8404         release.  Add "distcheck" to list of other pre-release checks.
8405         Fix instance of "make stable" which should be "make TYPE".
8406
8407 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
8408
8409         maint: replace FSF snail-mail addresses with URLs
8410         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
8411         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
8412         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
8413         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
8414         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
8415         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
8416         * lib/check-version.c, lib/check-version.h, lib/config.charset:
8417         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
8418         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
8419         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
8420         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
8421         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
8422         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
8423         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
8424         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
8425         * lib/glthread/thread.c, lib/glthread/thread.h:
8426         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
8427         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
8428         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
8429         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
8430         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
8431         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
8432         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
8433         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
8434         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
8435         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
8436         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
8437         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
8438         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
8439         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
8440         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
8441         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
8442         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
8443         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
8444         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
8445         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
8446         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
8447         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
8448         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
8449         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
8450         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
8451         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
8452         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
8453         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
8454         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
8455         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
8456         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
8457         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
8458         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
8459         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
8460         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
8461         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
8462         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
8463         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
8464         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
8465         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
8466         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
8467         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
8468         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
8469         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
8470         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
8471         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
8472         * tests/test-poll.c, tests/test-quotearg-simple.c:
8473         * tests/test-quotearg.c, tests/test-quotearg.h:
8474         * tests/test-round-ieee.c, tests/test-round1.c:
8475         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
8476         * tests/test-roundl-ieee.c, tests/test-roundl.c:
8477         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
8478         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
8479         * tests/test-strerror.c, tests/test-strerror_r.c:
8480         * tests/test-strsignal.c, tests/test-strverscmp.c:
8481         * tests/test-xmemdup0.c:
8482         Replace FSF snail mail addresses with URLs, as per GNU coding
8483         standards.  See glibc bug
8484         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
8485
8486 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
8487
8488         README-release: capitalize a word and split a line
8489         * top/README-release: Fix punctuation and spacing.
8490
8491 2012-02-08  Akim Demaille  <demaille@gostai.com>
8492
8493         fatal-signal: use C prototypes (with explicit void).
8494         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
8495         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
8496
8497 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8498
8499         regex: spelling fix
8500         * lib/regexec.c: spelling fix
8501
8502         regex: rely on stdint.h for SIZE_MAX
8503         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
8504
8505 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8506
8507         regex: merge glibc changes
8508
8509         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
8510         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
8511         (init_word_char): Work even if bitset words are not exactly 32 or
8512         64 bits wide.  Don't assume there are no padding bits.
8513         * lib/regex.c [_LIBC]: Do not include <config.h>.
8514         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
8515         and -Wtype-limits.
8516         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
8517         needless disagreement with glibc.  All uses changed.  Define it to
8518         1 only if _GNU_SOURCE, to match glibc.
8519         (_REG_RM_NAME): Remove; no longer needed, since the names in
8520         question are now all protected by __USE_GNU.
8521         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
8522         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
8523         * lib/regex_internal.h (MIN): New macro.
8524
8525         2012-01-03 Ulrich Drepper <drepper@gmail.com>
8526         * lib/regcomp.c (init_word_char): Optimize regex a bit.
8527
8528         2011-12-30 Jakub Jelinek <jakub@redhat.com>
8529         * lib/regex_internal.c (re_string_fetch_byte_case):
8530         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
8531         is miscompiled, and it turns out it is because of an incorrect
8532         attribute on re_string_fetch_byte_case.  Unlike
8533         re_string_peek_byte_case, this one is really not pure, it modifies
8534         memory (increments pstr->cur_idx), and with the pure attribute GCC
8535         assumed it doesn't and it cached the presumed value of
8536         regexp->cur_idx in a variable across the
8537          for (;; ++i)
8538            {
8539              if (i >= BRACKET_NAME_BUF_SIZE)
8540                return REG_EBRACK;
8541              if (token->type == OP_OPEN_CHAR_CLASS)
8542                ch = re_string_fetch_byte_case (regexp);
8543              else
8544                ch = re_string_fetch_byte (regexp);
8545              if (re_string_eoi(regexp))
8546                return REG_EBRACK;
8547              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
8548                break;
8549              elem->opr.name[i] = ch;
8550            }
8551
8552         2011-11-29 Andreas Schwab <schwab@redhat.com>
8553         * lib/regcomp.c (build_equiv_class):
8554         Fix access after end of search string in regex matcher.
8555
8556         2011-11-12 Ulrich Drepper <drepper@redhat.com>
8557         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
8558
8559         2011-10-12 Ulrich Drepper <drepper@redhat.com>
8560         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
8561
8562         2011-10-11 Ulrich Drepper <drepper@redhat.com>
8563         * lib/regcomp.c (parse_branch, parse_sub_exp):
8564         More regex memory leak fixes and tests.
8565         (parse_sub_exp, parse_bracket_exp):
8566         Fix memory leak for some invalid regular expressions.
8567
8568         2011-05-28 Ulrich Drepper <drepper@gmail.com>
8569         * lib/regex_internal.c, lib/regexec.c:
8570         Fix unnecessary overallocation due to incomplete character.  When
8571         incomplete characters are found at the end of a string the code
8572         ran amok and allocated lots of memory.  Stricter limits are now in
8573         place.
8574
8575         2011-05-20 Reuben Thomas <rrt@sc3d.org>
8576         * lib/regex.h: Update documentation.
8577
8578         2011-05-16 Aharon Robbins <arnold@skeeve.com>
8579         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
8580
8581         2010-05-05 Andreas Schwab <schwab@redhat.com>
8582         * lib/regexec.c (find_collation_sequence_value):
8583         Fix lookup of collation sequence value during regexp matching.
8584
8585         2010-01-22 Ulrich Drepper <drepper@redhat.com>
8586         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
8587
8588         2008-01-16 Ulrich Drepper <drepper@redhat.com>
8589         * lib/regex.h: Cleanup namespace.
8590
8591         2007-11-26 Ulrich Drepper <drepper@redhat.com>
8592         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
8593
8594         2007-08-26 Ulrich Drepper <drepper@redhat.com>
8595         * lib/regex_internal.h: Prevent some declarations and definitions
8596         to be seen when used in tests.
8597
8598         2005-05-06 Ulrich Drepper <drepper@redhat.com>
8599         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
8600         __libc_lock_* macros if not _LIBC.
8601         (struct re_dfa_t): Add lock.
8602
8603 2012-02-07  Eric Blake  <eblake@redhat.com>
8604
8605         maint.mk: also prohibit lower-case @var@
8606         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
8607         lower case, like @top_srcdir@.
8608
8609 2012-02-04  Eric Blake  <eblake@redhat.com>
8610
8611         canonicalize: avoid uninitialized memory use
8612         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
8613         random '/' left in dest.
8614         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
8615
8616 2012-02-04  Bruno Haible  <bruno@clisp.org>
8617
8618         isatty: Fix test failure of ptsname_r on native Windows.
8619         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
8620         and don't set errno.
8621         (isatty): Test first whether fd is valid. Set errno when returning 0.
8622
8623 2012-02-04  Bruno Haible  <bruno@clisp.org>
8624
8625         spawn-pipe tests: Fix a NULL program name in a diagnostic.
8626         * tests/test-spawn-pipe-main.c: Include progname.h.
8627         (main): Invoke set_program_name.
8628         * modules/spawn-pipe-tests (Depends-on): Add progname.
8629
8630         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
8631         * tests/test-nonblocking-socket-main.c: Include progname.h.
8632         (main): Invoke set_program_name.
8633         * modules/nonblocking-socket-tests (Depends-on): Add progname.
8634
8635         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
8636         * tests/test-nonblocking-pipe-main.c: Include progname.h.
8637         (main): Invoke set_program_name.
8638         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
8639
8640 2012-02-04  Eric Blake  <eblake@redhat.com>
8641
8642         canonicalize-lgpl: fix // handling
8643         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
8644
8645         canonicalize: fix // handling
8646         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
8647         /// to //, since only // is special.
8648
8649 2012-02-04  Bruno Haible  <bruno@clisp.org>
8650
8651         ioctl: Fix test failure on native Windows.
8652         * lib/ioctl.c: Include msvc-nothrow.h.
8653         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
8654
8655 2012-02-04  Bruno Haible  <bruno@clisp.org>
8656
8657         fsync: Avoid test failure on native Windows.
8658         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
8659         read-only.
8660
8661 2012-02-04  Bruno Haible  <bruno@clisp.org>
8662
8663         sys_select: Avoid syntax error on OpenBSD 5.0.
8664         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
8665         currently being included, just include the system's <sys/select.h>.
8666
8667 2012-02-04  Bruno Haible  <bruno@clisp.org>
8668
8669         sys_select: Avoid syntax error on OpenBSD 5.0.
8670         * lib/sys_select.in.h: Include <signal.h> only after the include_next
8671         <sys/select.h>, not before.
8672         Reported by Jiri B <jirib@devio.us>.
8673
8674 2012-02-04  Bruno Haible  <bruno@clisp.org>
8675
8676         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
8677         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
8678         global variables.
8679         * tests/test-get-rusage-data.c (main): Likewise.
8680         Reported by Jim Meyering.
8681
8682 2012-02-04  Bruno Haible  <bruno@clisp.org>
8683
8684         stdioext: Fix last commit.
8685         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
8686
8687 2012-02-03  Bruno Haible  <bruno@clisp.org>
8688
8689         stdioext: Add tentative support for Plan9.
8690         * lib/stdio-impl.h: Include <errno.h>.
8691         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
8692         * lib/freadable.c (freadable): Likewise.
8693         * lib/fwritable.c (fwritable): Likewise.
8694         * lib/fbufmode.c (fbufmode): Likewise.
8695         * lib/freading.c (freading): Likewise.
8696         * lib/fwriting.c (fwriting): Likewise.
8697         * lib/freadptr.c (freadptr): Likewise.
8698         * lib/freadseek.c (freadptrinc): Likewise.
8699         * lib/freadahead.c (freadahead): Likewise.
8700         * lib/fpurge.c (fpurge): Likewise.
8701         * lib/fseeko.c (rpl_fseeko): Likewise.
8702         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
8703         Reported by Jens Staal <staal1978@gmail.com>.
8704
8705 2012-02-02  Jim Meyering  <meyering@redhat.com>
8706
8707         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
8708         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
8709         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
8710         not even to try to add the attribute.  Instead, add a pragma to suppress
8711         the suggestion/warning.
8712
8713 2012-01-31  Karl Berry  <karl@gnu.org>
8714
8715         setstate doc: typo.
8716         * doc/posix-functions/setstate.texi (setstate): { not (.
8717
8718 2012-01-31  Bruno Haible  <bruno@clisp.org>
8719
8720         popen: Make more robust on Windows.
8721         * lib/popen.c: On native Windows, use the _popen based code even if
8722         HAVE_POPEN is set.
8723         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
8724         environment variable on native Windows.
8725
8726 2012-01-30  Bruno Haible  <bruno@clisp.org>
8727
8728         pclose: Fix typo.
8729         * lib/stdio.in.h (pclose): Fix typo in warning message.
8730
8731 2012-01-30  Bruno Haible  <bruno@clisp.org>
8732
8733         doc about getlogin_r, setstate.
8734         * doc/posix-functions/getlogin_r.texi: List the incompatible
8735         declaration problem under "not fixed by gnulib".
8736         * doc/posix-functions/setstate.texi: Mention incompatible declaration
8737         problem on Solaris 11 and other platforms.
8738
8739 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
8740             Bruno Haible  <bruno@clisp.org>
8741
8742         poll tests: Make test more robust.
8743         * tests/test-poll.c: Include macros.h.
8744         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
8745         return value of various I/O operations.
8746         * modules/poll-tests (Files): Add tests/macros.h.
8747
8748 2012-01-30  Bruno Haible  <bruno@clisp.org>
8749
8750         sys_stat: Fix support for mingw64 and MSVC.
8751         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
8752         header files already do it.
8753         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
8754         stat itself.
8755         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8756
8757 2012-01-30  Bruno Haible  <bruno@clisp.org>
8758
8759         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
8760         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
8761         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
8762
8763 2012-01-29  Bruno Haible  <bruno@clisp.org>
8764
8765         quotearg: Fix test failure on MacOS X 10.5.
8766         * tests/test-quotearg-simple.c: Include localcharset.h.
8767         (main): If the locale encoding is not ASCII, bypass the tests of
8768         locale_quoting_style and clocale_quoting_style.
8769         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
8770
8771 2012-01-29  Jim Meyering  <meyering@redhat.com>
8772
8773         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
8774         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
8775         detect uses of canonicalize_file_name.
8776
8777 2012-01-28  Bruno Haible  <bruno@clisp.org>
8778
8779         test-framework-sh: Fix test failure with AIX 7.1 diff.
8780         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
8781         in column 1, like 'diff -c' does.
8782         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
8783         whether 'diff -u' is used. Instead, test whether the output contains
8784         some '@' character.
8785
8786 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
8787
8788         strtoimax: eliminate need for stdint.h, inttypes.h checks
8789         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
8790         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
8791         the prerequisites for a recently-introduced strtoimax test.
8792         I guess this might cause strtoimax to be replaced when not
8793         strictly necessary on older hosts, but this shouldn't introduce
8794         any bugs and it should make Emacs 'configure' faster on typical
8795         modern hosts.  Problem discovered when importing the latest gnulib
8796         to an Emacs test version.
8797         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
8798
8799 2012-01-28  Bruno Haible  <bruno@clisp.org>
8800
8801         sys_time: Override 'struct timeval' on some native Windows platforms.
8802         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
8803         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
8804         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
8805         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
8806         needs to be overridden.
8807         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
8808         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
8809         * tests/test-sys_select.c: Check that the tv_sec member has the same
8810         size as a 'time_t'.
8811         * tests/test-sys_time.c: Likewise.
8812         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
8813         is set, set also REPLACE_GETTIMEOFDAY.
8814         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
8815         convert the resulting 'struct timeval' before returning.
8816         * lib/select.c: Include <sys/time.h>.
8817         (select, timeval): Undefine at the right place.
8818         * modules/select (Depends-on): Add sys_time.
8819         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
8820         some Windows platforms.
8821         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8822
8823 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8824
8825         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
8826         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
8827         an integer.
8828         * lib/fcntl.c (dupfd): Likewise.
8829         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
8830
8831 2012-01-28  Bruno Haible  <bruno@clisp.org>
8832
8833         fcntl: Avoid compilation error on native Windows.
8834         * modules/fcntl (Depends-on): Add 'close'.
8835
8836 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8837
8838         select, poll, isatty: Avoid warnings on x86_64 mingw64.
8839         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
8840         pointer to an integer.
8841         * lib/poll.c (IsConsoleHandle): Likewise.
8842         * lib/isatty.c (IsConsoleHandle): Likewise.
8843
8844 2012-01-28  Jim Meyering  <meyering@redhat.com>
8845
8846         doc: clarify README-release
8847         * top/README-release: Clarify: you should make a point to have
8848         the latest stable versions of build tools in your PATH, and the
8849         reference to buildreq is solely for its list of tool names, not
8850         for its minimal-functional version numbers.
8851         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
8852
8853         maint.mk: use more readable (yet functionally equivalent) quoting
8854         It is common to quote a single quote in a single quoted string like
8855         this:  '...'\''...'.  Unless you know the idiom, that looks like
8856         gibberish, so prefer to double-quote the string when possible.
8857         Then you can use a more readable, lone single quote: "...'..."
8858         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
8859         "don't" is more readable than the equivalent 'don'\''t'.
8860         (sc_cast_of_x_alloc_return_value): Likewise.
8861         (sc_cast_of_alloca_return_value): Likewise.
8862         (sc_makefile_path_separator_check): Similar: use ":" in '...',
8863         rather than '\'':'\''.
8864
8865 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8866
8867         stdalign: relax _Alignof and tighten _Alignas test
8868         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
8869         as it was too strict: alignof must divide offsetof, but it need
8870         not equal offsetof.  Inspired by Joseph S. Myers's comment
8871         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
8872         Conversely, tighten the _Alignas test a bit, as the resulting
8873         alignment must be exactly 8.
8874
8875 2012-01-27  Bruno Haible  <bruno@clisp.org>
8876
8877         stdalign: Document the last change.
8878         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
8879
8880 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8881
8882         stdalign: check that alignof and offsetof are consistent
8883         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
8884         Problem reported for gnulib by Richard W.M. Jones in
8885         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
8886
8887 2012-01-27  Jim Meyering  <meyering@redhat.com>
8888
8889         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
8890         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
8891         convert a sequence with gaps to the minimal containing range.
8892         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
8893         * tests/test-update-copyright.sh: Test for this.
8894         The FSF confirmed it is ok to do this, assuming there is at
8895         least one significant change per year in the affected range:
8896         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
8897
8898 2012-01-26  Bruno Haible  <bruno@clisp.org>
8899
8900         pipe2: refine doc about thread-safety
8901         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
8902         multithread-safety problem.
8903         * doc/glibc-functions/accept4.texi: Likewise.
8904
8905 2012-01-26  Bruno Haible  <bruno@clisp.org>
8906
8907         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
8908         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
8909         In the test program, include <fcntl.h>, for O_RDONLY.
8910
8911 2012-01-26  Eric Blake  <eblake@redhat.com>
8912
8913         pipe2: document lack of thread-safety in replacement
8914         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
8915         issue in replacement.
8916         * doc/glibc-functions/accept4.texi (accept4): Likewise.
8917         Based on a report by Eric Wong.
8918
8919 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8920             Bruno Haible  <bruno@clisp.org>
8921
8922         malloca: Avoid warnings on x86_64 mingw64.
8923         * lib/malloca.c: Include <stdint.h>.
8924         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
8925         * modules/malloca (Depends-on): Add stdint.
8926         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
8927
8928 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
8929
8930         obstack: remove __STDC__ conditionals
8931         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
8932         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
8933         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
8934         m4/include_next.m4 as the only gnulib-maintained places that still
8935         refer to __STDC__.
8936
8937 2012-01-24  Bruno Haible  <bruno@clisp.org>
8938
8939         havelib: Modern quoting.
8940         * build-aux/config.rpath: Quote 'like this', not `like this', as per
8941         the recent change to the GNU coding standards.
8942
8943 2012-01-24  Bruno Haible  <bruno@clisp.org>
8944
8945         stdint: Improve support for Android.
8946         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
8947         Reported by Simon Josefsson <simon@josefsson.org>.
8948
8949 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8950
8951         doc: omit trailing empty lines from INSTALL etc.
8952         * doc/Makefile (INSTALL): Omit trailing empty lines.
8953         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
8954         omit trailing empty lines.  This simplifies the build procedure.
8955
8956 2012-01-23  Jim Meyering  <meyering@redhat.com>
8957
8958         tests: avoid spurious warnings about gl_sockets_startup
8959         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
8960         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
8961         reporting a "statement with no effect".
8962         * tests/test-accept.c (main): Mark as "(void)".
8963         * tests/test-accept4.c (main): Likewise.
8964         * tests/test-bind.c (main): Likewise.
8965         * tests/test-connect.c (main): Likewise.
8966         * tests/test-getpeername.c (main): Likewise.
8967         * tests/test-getsockname.c (main): Likewise.
8968         * tests/test-getsockopt.c (main): Likewise.
8969         * tests/test-listen.c (main): Likewise.
8970         * tests/test-recv.c (main): Likewise.
8971         * tests/test-recvfrom.c (main): Likewise.
8972         * tests/test-send.c (main): Likewise.
8973         * tests/test-sendto.c (main): Likewise.
8974         * tests/test-setsockopt.c (main): Likewise.
8975         * tests/test-shutdown.c (main): Likewise.
8976
8977 2012-01-21  Bruno Haible  <bruno@clisp.org>
8978
8979         locale-fr.m4: Fix for Android.
8980         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
8981         failure of the test program on Bionic libc.
8982
8983 2012-01-21  Jim Meyering  <meyering@redhat.com>
8984
8985         bootstrap: fail when bootstrap_post_import_hook fails
8986         Otherwise, it's far too easy to miss diagnostics emitted
8987         between gnulib-tool's output and that of running configure.
8988         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
8989
8990 2012-01-17  Jim Meyering  <meyering@redhat.com>
8991
8992         maint: enable sc_trailing_blank
8993         * build-aux/pmccabe.css: Remove trailing blanks.
8994         * doc/acl-cygwin.txt: Likewise.
8995         * doc/gnu-oids.texi: Likewise
8996         * cfg.mk: Enable sc_trailing_blank.
8997         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
8998
8999 2012-01-17  Jim Meyering  <meyering@redhat.com>
9000
9001         maint: enable sc_prohibit_openat_without_use
9002         * cfg.mk: Enable sc_prohibit_openat_without_use.
9003         Exempt lib/selinux-at.c.
9004
9005 2012-01-17  Jim Meyering  <meyering@redhat.com>
9006
9007         maint: enable sc_prohibit_cloexec_without_use
9008         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
9009         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
9010
9011 2012-01-17  Jim Meyering  <meyering@redhat.com>
9012
9013         maint: enable sc_prohibit_intprops_without_use
9014         * cfg.mk: Enable sc_prohibit_intprops_without_use
9015         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
9016
9017 2012-01-17  Jim Meyering  <meyering@redhat.com>
9018
9019         maint: enable sc_prohibit_hash_pjw_without_use
9020         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
9021         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
9022         to match any use of \<hash_pjw\>, i.e., not necessarily with a
9023         following " (".
9024
9025 2012-01-17  Jim Meyering  <meyering@redhat.com>
9026
9027         maint: enable double-word-prohibiting rule
9028         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
9029         Exempt three files.
9030
9031 2012-01-17  Jim Meyering  <meyering@redhat.com>
9032
9033         maint: remove empty lines at EOF, but excluding modules/*
9034         Apply syntax rules at home as well as abroad.  Most changes
9035         were induced by running this:
9036           make srcdir=. _build-aux=build-aux -f top/maint.mk \
9037             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
9038             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
9039         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
9040         Exempt modules/* and two binary files.
9041         Also exempt doc/INSTALL*, per request from Bruno Haible.
9042         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
9043         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
9044         * doc/Copyright/request-assign.future: Likewise.
9045         * doc/Copyright/request-disclaim.changes: Likewise.
9046         * doc/INSTALL: Likewise.
9047         * doc/INSTALL.ISO: Likewise.
9048         * doc/INSTALL.UTF-8: Likewise.
9049         * doc/acl-cygwin.txt: Likewise.
9050         * doc/acl-resources.txt: Likewise.
9051         * doc/fdl-1.2.texi: Likewise.
9052         * doc/fdl-1.3.texi: Likewise.
9053         * doc/fdl.texi: Likewise.
9054         * lib/argp-pin.c: Likewise.
9055         * lib/round.c: Likewise.
9056         * lib/unicase/u16-totitle.c: Likewise.
9057         * lib/unictype/block_test.c: Likewise.
9058         * lib/uninorm/canonical-decomposition.c: Likewise.
9059         * m4/README: Likewise.
9060         * m4/relocatable-lib.m4: Likewise.
9061         * tests/test-isnand-nolibm.c: Likewise.
9062         * tests/test-isnand.c: Likewise.
9063         * tests/uninorm/NormalizationTest.txt: Likewise.
9064
9065 2012-01-17  Jim Meyering  <meyering@redhat.com>
9066
9067         maint: add framework to run syntax-check rules against gnulib sources
9068         * cfg.mk: New file, to disable all currently-failing tests.
9069         We'll enable them one by one, as they are made to pass.
9070         * Makefile (sc_maint): New rule.
9071
9072 2012-01-21  Bruno Haible  <bruno@clisp.org>
9073
9074         stdint: Add support for Android.
9075         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
9076         include the system's <stdint.h>.
9077         Reported by Simon Josefsson <simon@josefsson.org>.
9078
9079 2012-01-19  Jim Meyering  <meyering@redhat.com>
9080
9081         bootstrap: add bootstrap_post_import_hook
9082         Bison does still need something like the gnulib_mk_hook whose
9083         invocation I had to remove along with slurp in commit 767ccd40.
9084         Technically, we could get along without it, but doing so would
9085         have required living with a warning and a mandatory post-bootstrap
9086         automake rerun.
9087         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
9088         (bootstrap_post_import_hook): New function.
9089         Invoke it after gnulib-tool --import and before autoreconf.
9090
9091 2012-01-18  Jim Meyering  <meyering@redhat.com>
9092
9093         gitlog-to-changelog: don't use "no_"-prefixed variable name
9094         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
9095         to enable both --cluster and --no-cluster.  Change variable name,
9096         s/\$no_cluster/$cluster/, and reverse usage to match.
9097
9098         gitlog-to-changelog: use "||", not "or" in expressions
9099         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
9100         expressions.
9101
9102 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
9103
9104         gitlog-to-changelog: new option --no-cluster
9105         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
9106         clustering of adjacent commit messages.
9107
9108 2012-01-17  Jim Meyering  <meyering@redhat.com>
9109
9110         maint: spell file systems with two words, not one
9111         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
9112         two words, not one.
9113
9114 2012-01-16  Jim Meyering  <meyering@redhat.com>
9115
9116         bootstrap: add a FIXME comment to ensure we eventually remove the hack
9117         * build-aux/bootstrap (gnulib_tool_options): Add comment.
9118
9119 2012-01-16  Eric Blake  <eblake@redhat.com>
9120
9121         bootstrap: cater to autoconf 2.59
9122         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
9123         is not available.
9124
9125         bootstrap: properly check for libtool
9126         * build-aux/bootstrap (libtoolize): Also run libtool when older
9127         usage is detected.
9128
9129 2012-01-15  Bruno Haible  <bruno@clisp.org>
9130
9131         Improve support for MSVC 9.
9132         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
9133         clashes on MSVC.
9134         * lib/fcntl.in.h: Likewise.
9135         * lib/stdlib.in.h: Likewise.
9136         * lib/sys_stat.in.h: Likewise.
9137
9138 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
9139
9140         gnupload: we hold the master copy of this script now
9141         For motivation and more information, see:
9142         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
9143         * build-aux/gnupload: Make it clear in the heading comments that the
9144         master copy of this file is maintained by gnulib.  Since we are at
9145         it, bump its copyright year and ...
9146         ($scriptversion): ... the date in its version.
9147         ($usage): Patches and bug reports should be sent to the gnulib list,
9148         not the automake one.
9149         * config/srclist.txt: Don't try to sync 'gnupload' from automake
9150         anymore.
9151
9152 2012-01-15  Bruno Haible  <bruno@clisp.org>
9153
9154         Fix module 'random'.
9155         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
9156         initstate, setstate are declared.
9157
9158 2012-01-14  Bruno Haible  <bruno@clisp.org>
9159
9160         Tests for module 'random'.
9161         * modules/random-tests: New file.
9162         * tests/test-random.c: New file, based on tests/test-random_r.c.
9163
9164         New module 'random'.
9165         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
9166         declarations.
9167         * lib/random.c: New file, based on glibc/stdlib/random.c.
9168         * m4/random.m4: New file.
9169         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
9170         HAVE_RANDOM.
9171         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
9172         * modules/random: New file.
9173         * config/srclist.txt: Add an entry for random.c.
9174         * doc/posix-functions/random.texi: Mention the 'random' module.
9175         * doc/posix-functions/initstate.texi: Likewise.
9176         * doc/posix-functions/setstate.texi: Likewise.
9177         * doc/posix-functions/srandom.texi: Likewise.
9178
9179 2012-01-12  Bruno Haible  <bruno@clisp.org>
9180
9181         random_r: Use common idioms.
9182         * lib/random_r.c: Include <stdlib.h> first.
9183
9184         random_r: Override incompatible API on AIX, OSF/1.
9185         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
9186         Override the system function if REPLACE_RANDOM_R is 1.
9187         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
9188         and OSF/1, set REPLACE_RANDOM_R.
9189         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
9190         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
9191         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
9192         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
9193         * doc/glibc-functions/random_r.texi: Likewise.
9194         * doc/glibc-functions/setstate_r.texi: Likewise.
9195
9196         random_r: Support for MSVC 9.
9197         * lib/random_r.c: Include stdint.h, not inttypes.h.
9198
9199 2012-01-12  Eric Blake  <eblake@redhat.com>
9200
9201         inet_ntop: guard extra work by IF_LINT
9202         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
9203         better code generation when not checking for warnings.
9204         Suggested by Paul Eggert and Jim Meyering.
9205
9206         strptime: fix regression on mingw
9207         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
9208         Fix regression.  Reported by Bruno Haible.
9209
9210 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
9211             Bruno Haible  <bruno@clisp.org>
9212
9213         copy-file: add error-code-returning variant.
9214         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
9215         (qcopy_file_preserving): New declaration.
9216         * lib/copy-file.c (qcopy_file_preserving): Renamed from
9217         copy_file_preserving. Change return type to 'int'. Don't emit an error
9218         message here.
9219         (copy_file_preserving): New function.
9220         * tests/test-copy-file.c: Include <stdlib.h>.
9221         (main): Test qcopy_file_preserving if the environment variable
9222         NO_STDERR_OUTPUT is set.
9223         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
9224         with NO_STDERR_OUTPUT
9225         * tests/test-copy-file-2.sh: Likewise.
9226
9227 2012-01-10  Bruno Haible  <bruno@clisp.org>
9228
9229         copy-file: Use 'quote' module consistently.
9230         * lib/copy-file.c (copy_file_preserving): Use quote().
9231
9232         copy-file: Refactor.
9233         * lib/copy-file.c: Include quote.h.
9234         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
9235         message here.
9236         * modules/copy-file (Depends-on): Add quote.
9237
9238         acl: Export qcopy_acl.
9239         * lib/acl.h (qcopy_acl): New declaration.
9240         * lib/copy-acl.c (qcopy_acl): Make non-static.
9241
9242         acl: Rename a local variable.
9243         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
9244
9245         acl: Align return values of copy_acl and qcopy_acl.
9246         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
9247         maybe < -1.
9248
9249 2012-01-11  Eric Blake  <eblake@redhat.com>
9250
9251         strptime: silence gcc warnings
9252         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
9253         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
9254         Reported by Daniel P. Berrange.
9255
9256         inet_ntop: silence gcc warning
9257         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
9258         Reported by Daniel P. Berrange.
9259
9260 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
9261
9262         getloadavg test: skip the test on GNU/Linux without /proc mounted
9263         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
9264         file.  When /proc is not mounted, it always fails with ENOENT.
9265         * tests/test-getloadavg.c (main): Treat ENOENT return code from
9266         getloadavg(3) the same way as ENOSYS and ENOTSUP.
9267
9268 2012-01-10  Bruno Haible  <bruno@clisp.org>
9269
9270         regex: Avoid link error on MSVC 9.
9271         * modules/regex (Depends-on): Add wctype.
9272
9273 2012-01-10  Bruno Haible  <bruno@clisp.org>
9274
9275         doc: Mention --with-tests option.
9276         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
9277         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
9278         --with-tests.
9279         Reported by Reuben Thomas.
9280
9281 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
9282
9283         users.txt: order package names lexicographically.
9284         * users.txt: Order package names lexicographically.
9285
9286 2012-01-10  Jim Meyering  <meyering@redhat.com>
9287
9288         maint.mk: fix description in comment
9289         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
9290
9291         ignore-value: remove deprecated ignore_ptr function
9292         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
9293         * NEWS: Note this.
9294
9295 2012-01-09  Jim Meyering  <meyering@redhat.com>
9296
9297         test-init.sh: avoid a subshell
9298         * tests/test-init.sh: Remove protective subshell.
9299         Suggested by Bernhard Voelker.  While a subshell is normally
9300         required to protect against older shells (Solaris, FreeBSD) that
9301         warn about a missing program before performing redirection, the
9302         shell-selection tests performed by init.sh probably exclude any
9303         offending shell.
9304
9305 2012-01-08  Bruno Haible  <bruno@clisp.org>
9306
9307         setlocale tests: Avoid test failure on Solaris 11 2011-11.
9308         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
9309         variable.
9310
9311 2012-01-08  Bruno Haible  <bruno@clisp.org>
9312
9313         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
9314         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9315         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
9316         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
9317         macro.
9318         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
9319         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
9320         * lib/spawn_faction_addopen.c: Add workaround implementation if
9321         HAVE_WORKING_POSIX_SPAWN.
9322         * modules/spawn (Makefile): Substitute
9323         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
9324         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
9325         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
9326         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
9327         (Depends-on): Update conditions.
9328         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
9329         the Solaris 11 bug.
9330
9331 2012-01-08  Bruno Haible  <bruno@clisp.org>
9332
9333         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
9334         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9335         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
9336         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
9337         macro.
9338         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
9339         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
9340         * lib/spawn_faction_adddup2.c: Add workaround implementation if
9341         HAVE_WORKING_POSIX_SPAWN.
9342         * modules/spawn (Makefile): Substitute
9343         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
9344         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
9345         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
9346         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
9347         (Depends-on): Update conditions.
9348         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
9349         the Solaris 11 bug.
9350
9351 2012-01-08  Bruno Haible  <bruno@clisp.org>
9352
9353         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
9354         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9355         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
9356         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
9357         HAVE_WORKING_POSIX_SPAWN.
9358         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
9359         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
9360         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
9361         * lib/spawn_faction_addclose.c: Add workaround implementation if
9362         HAVE_WORKING_POSIX_SPAWN.
9363         * modules/spawn (Makefile): Substitute
9364         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
9365         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
9366         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
9367         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
9368         (Depends-on): Update conditions.
9369         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
9370         the Solaris 11 bug.
9371
9372 2012-01-08  Bruno Haible  <bruno@clisp.org>
9373
9374         doc: Update for Solaris 11 2011-11.
9375         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
9376         * m4/printf.m4: Update comments.
9377
9378 2012-01-08  Bruno Haible  <bruno@clisp.org>
9379
9380         mktime: Avoid compilation error on Solaris 11.
9381         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
9382
9383 2012-01-08  Bruno Haible  <bruno@clisp.org>
9384
9385         doc: Small fix.
9386         * doc/posix-headers/nl_types.texi: Correct platforms list.
9387
9388 2012-01-08  Simon Josefsson  <simon@josefsson.org>
9389
9390         Add lgpl-3.0 module.
9391         * MODULES.html.sh (Support for building documentation): Add
9392         lgpl-3.0.
9393         * modules/lgpl-3.0: New file.
9394
9395 2012-01-08  Jim Meyering  <meyering@redhat.com>
9396
9397         select.c: indent with spaces, not TABs
9398         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
9399
9400 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9401
9402         quotearg: do not use grave accent for left quote
9403         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
9404         locale_quoting_style.
9405         (quotearg_buffer_restyled): Fix example.
9406         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
9407
9408 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9409
9410         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
9411         Most programs do not have translation catalogs for English and much
9412         less separate catalogs for British and American English.  Drop the
9413         suggestion to translators about these two, and provide it
9414         automatically for Unicode locales.  Like most programs, even those
9415         using American English, we use single quotation marks.  This conflicts
9416         with the American typographic convention, but works better when you
9417         cite the entire error message within double quotes.  It also tries not
9418         to clash with established practice and with what non-gnulib programs
9419         will usually do.
9420         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
9421         using an UTF-8 or GB-18030 locale.  The list of other locales with
9422         quotes was provided by Bruno Haible.
9423         (quotearg_buffer_restyled): Adjust instructions to translators.
9424         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
9425         text, since this would be wrong when using Unicode.
9426         * modules/quotearg: Depend on c-strcaseeq.
9427
9428 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9429
9430         quotearg: fix Wikipedia link
9431         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
9432
9433 2012-01-07  Simon Josefsson  <simon@josefsson.org>
9434
9435         Fix for mingw with MSVC9.
9436         * m4/ld-version-script.m4: Check that compiler rejects version
9437         scripts with syntax errors.  Reported by Bruno Haible
9438         <bruno@clisp.org>.
9439
9440 2012-01-06  Bruno Haible  <bruno@clisp.org>
9441
9442         Talk about "native Windows API", not "Woe32".
9443         * lib/accept4.c: Update comments to mention native Windows.
9444         * lib/execute.c: Likewise.
9445         * lib/fatal-signal.c: Likewise.
9446         * lib/localcharset.c: Likewise.
9447         * lib/nanosleep.c: Likewise.
9448         * lib/nl_langinfo.c: Likewise.
9449         * lib/pclose.c: Likewise.
9450         * lib/pipe-filter-gi.c: Likewise.
9451         * lib/pipe-filter-ii.c: Likewise.
9452         * lib/pipe.c: Likewise.
9453         * lib/pipe2.c: Likewise.
9454         * lib/popen.c: Likewise.
9455         * lib/progreloc.c: Likewise.
9456         * lib/relocatable.c: Likewise.
9457         * lib/sigaction.c: Likewise.
9458         * lib/sigprocmask.c: Likewise.
9459         * lib/spawn-pipe.h: Likewise.
9460         * lib/spawn-pipe.c: Likewise.
9461         * lib/spawni.c: Likewise.
9462         * lib/stat-time.h: Likewise.
9463         * lib/w32spawn.h: Likewise.
9464         * tests/test-isatty.c: Likewise.
9465         * lib/config.charset: More comments.
9466         * doc/gnulib-intro.texi: Mention native Windows.
9467         * doc/posix-functions/_Exit_C99.texi: Likewise.
9468         * doc/posix-headers/fcntl.texi: Likewise.
9469
9470 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
9471
9472         argp: Avoid crash if translator uses % characters in a translation.
9473         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
9474         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9475
9476 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
9477
9478         doc: C11 and C++11 are now official
9479         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
9480         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
9481         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
9482         * modules/stdalign:
9483         Replace references to draft C1X to C11, and to draft C++0X to C++11.
9484
9485 2012-01-06  Bruno Haible  <bruno@clisp.org>
9486
9487         uc-is-grapheme-break tests: Tweak.
9488         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
9489         message.
9490
9491 2012-01-06  Bruno Haible  <bruno@clisp.org>
9492
9493         test-init.sh: correct the test for diff -u
9494         * tests/test-init.sh: Also redirect stdout to /dev/null.
9495
9496 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
9497
9498         Use ', not `, for quoting output.
9499         * build-aux/announce-gen (usage, sizes, print_news_deltas)
9500         (print_changelog_deltas, get_tool_versions, main program):
9501         * build-aux/git-version-gen:
9502         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
9503         * build-aux/move-if-change (help):
9504         * build-aux/useless-if-before-free (usage, main program):
9505         * check-module (parse_module_file, usage)
9506         (find_included_lib_files, check_module):
9507         * lib/argmatch.c (main) [TEST]:
9508         * lib/argp-help.c (_help):
9509         * lib/getopt1.c (main) [TEST]:
9510         * lib/git-merge-changelog.c (usage):
9511         * lib/xstrtol-error.c (xstrtol_error):
9512         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
9513         * m4/argz.m4 (gl_FUNC_ARGZ):
9514         * m4/bison.m4 (gl_BISON):
9515         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
9516         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
9517         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
9518         * m4/fpending.m4 (gl_PREREQ_FPENDING):
9519         * m4/gc-random.m4 (gl_GC_RANDOM):
9520         * m4/intl.m4 (gt_CHECK_DECL):
9521         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
9522         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
9523         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
9524         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
9525         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
9526         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
9527         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
9528         * tests/test-dirname.c (main):
9529         * tests/test-getpass.c (main):
9530         * tests/test-iconvme.c (main):
9531         * tests/test-parse-datetime.c (LOG):
9532         * tests/test-xstrtoimax.sh:
9533         * tests/test-xstrtol.sh:
9534         * tests/test-xstrtoll.sh:
9535         * tests/test-xstrtoumax.sh:
9536         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
9537         * top/GNUmakefile (abort-due-to-no-makefile):
9538         Quote 'like this', not `like this', as per the recent change to
9539         the GNU coding standards.
9540
9541 2012-01-05  Bruno Haible  <bruno@clisp.org>
9542
9543         strtoimax: Don't force a replacement on systems where intmax_t is int.
9544         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
9545         'intmax_t' is not larger than 'int'.
9546         Reported by Pádraig Brady <P@draigBrady.com>.
9547
9548 2012-01-05  Bruno Haible  <bruno@clisp.org>
9549
9550         doc: Mention NetBSD bugs.
9551         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
9552         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
9553
9554 2012-01-05  Bruno Haible  <bruno@clisp.org>
9555
9556         strtoumax tests: Enhance tests.
9557         * tests/test-strtoumax.c (main): Add tests for large values.
9558
9559 2012-01-05  Bruno Haible  <bruno@clisp.org>
9560
9561         strtoimax: Work around AIX 5.1 bug.
9562         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
9563         definition.
9564         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
9565         Set HAVE_STRTOIMAX.
9566         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
9567         REPLACE_STRTOIMAX.
9568         * modules/inttypes-incomplete (Makefile.am): Substitute
9569         REPLACE_STRTOIMAX.
9570         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
9571         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
9572         (Depends-on): Update conditions.
9573         * tests/test-strtoimax.c (main): Add tests for large values.
9574         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
9575
9576 2012-01-05  Bruno Haible  <bruno@clisp.org>
9577
9578         inttypes: Modernize.
9579         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
9580         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
9581         (Makefile.am): Update inttypes.h rule.
9582
9583 2012-01-05  Jim Meyering  <meyering@redhat.com>
9584
9585         init.sh: don't waste a subshell just to redirect stderr
9586         * tests/init.sh: In testing for diff -u and diff -c, use a
9587         stderr-redirecting exec inside `...` rather than a subshell.
9588
9589         test-init.sh: avoid failure on HP-UX 11.00
9590         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
9591         resolves to diff -c or cmp.  Reported by Bruno Haible.
9592
9593 2012-01-05  Bruno Haible  <bruno@clisp.org>
9594
9595         Tests for module 'strtoull'.
9596         * modules/strtoull-tests: New file.
9597         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
9598
9599 2012-01-05  Bruno Haible  <bruno@clisp.org>
9600
9601         Tests for module 'strtoll'.
9602         * modules/strtoll-tests: New file.
9603         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
9604
9605 2012-01-05  Bruno Haible  <bruno@clisp.org>
9606
9607         Tests for module 'strtoul'.
9608         * modules/strtoul-tests: New file.
9609         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
9610
9611 2012-01-05  Bruno Haible  <bruno@clisp.org>
9612
9613         Tests for module 'strtol'.
9614         * modules/strtol-tests: New file.
9615         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
9616
9617 2012-01-04  Jim Meyering  <meyering@redhat.com>
9618
9619         test-init.sh: accommodate Solaris 5.10's different diff -u output
9620         * tests/test-init.sh: Also exempt @@ lines from the comparison
9621         of diff output, since Solaris 5.10 and GNU diff formats differ.
9622         Reported by Stefano Lattarini.
9623
9624 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
9625
9626         test-posixtm: don't assume signed integer wraparound
9627         * tests/test-posixtm.c (main): Don't assume wraparound semantics
9628         after signed integer overflow.  Inspired by (though it may not
9629         fix) Bruno Haible's bug report in
9630         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
9631
9632         Spell out "Windows 9x" and "Windows XP".
9633         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
9634         "Windows 9x" and "WinXP" with "Windows XP".
9635
9636 2012-01-04  Jim Meyering  <meyering@redhat.com>
9637
9638         test-vc-list-files-cvs.sh: remove obsolete comment
9639         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
9640         double exit.  Now that's all encapsulated via skip_ and Exit.
9641
9642 2012-01-04  Bruno Haible  <bruno@clisp.org>
9643
9644         Talk about "native Windows API", not "Win32".
9645         * lib/classpath.c: Update comments to mention native Windows.
9646         * lib/csharpexec.c: Likewise.
9647         * lib/dup2.c: Likewise.
9648         * lib/error.c: Likewise.
9649         * lib/fcntl.c: Likewise.
9650         * lib/filename.h: Likewise.
9651         * lib/findprog.c: Likewise.
9652         * lib/get-rusage-as.c: Likewise.
9653         * lib/get-rusage-data.c: Likewise.
9654         * lib/getpagesize.c: Likewise.
9655         * lib/javaexec.c: Likewise.
9656         * lib/msvc-inval.c: Likewise.
9657         * lib/msvc-nothrow.c: Likewise.
9658         * lib/nanosleep.c: Likewise.
9659         * lib/nonblocking.c: Likewise.
9660         * lib/printf-parse.c: Likewise.
9661         * lib/setlocale.c: Likewise.
9662         * lib/sigaction.c: Likewise.
9663         * lib/strerror_r.c: Likewise.
9664         * lib/tmpdir.c: Likewise.
9665         * lib/vasnprintf.c: Likewise.
9666         * lib/w32spawn.h: Likewise.
9667         * lib/waitpid.c: Likewise.
9668         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
9669         * m4/locale-ar.m4: Likewise.
9670         * m4/locale-fr.m4: Likewise.
9671         * m4/locale-ja.m4: Likewise.
9672         * m4/locale-tr.m4: Likewise.
9673         * m4/locale-zh.m4: Likewise.
9674         * m4/printf.m4: Likewise.
9675         * tests/test-cloexec.c: Likewise.
9676         * tests/test-copy-acl.sh: Likewise.
9677         * tests/test-copy-file.sh: Likewise.
9678         * tests/test-file-has-acl.sh: Likewise.
9679         * tests/test-set-mode-acl.sh: Likewise.
9680         * tests/test-dup-safer.c: Likewise.
9681         * tests/test-dup2.c: Likewise.
9682         * tests/test-dup3.c: Likewise.
9683         * tests/test-fcntl.c: Likewise.
9684         * tests/test-nonblocking-pipe.h: Likewise.
9685         * tests/test-nonblocking-socket.h: Likewise.
9686         * tests/test-pipe.c: Likewise.
9687         * tests/test-pipe2.c: Likewise.
9688         * tests/test-spawn-pipe-child.c: Likewise.
9689         * doc/acl-resources.txt: Likewise.
9690         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9691         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
9692         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
9693         * lib/localcharset.c: Update comments to mention native Windows.
9694         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9695         * lib/localename.c: Likewise.
9696         * lib/progreloc.c: Likewise.
9697         * lib/relocatable.c: Likewise.
9698         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9699         (windows_compute_revents): Renamed from win32_compute_revents.
9700         (windows_compute_revents_socket): Renamed from
9701         win32_compute_revents_socket.
9702         * lib/select.c: Update comments to mention native Windows.
9703         (windows_poll_handle): Renamed from win32_poll_handle.
9704         * m4/threadlib.m4: Update comments to mention native Windows.
9705         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
9706         --enable-threads=windows instead of --enable-threads=win32. Set
9707         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
9708         * lib/glthread/lock.h: Update comments to mention native Windows.
9709         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
9710         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
9711         USE_WIN32_THREADS.
9712         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
9713         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
9714         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
9715         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
9716         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
9717         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
9718         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
9719         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
9720         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
9721         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
9722         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
9723         * tests/test-tls.c: Likewise.
9724         Rationale:
9725         Microsoft renamed the "Win32 API" to "Windows API", as it is available
9726         on both 32-bit and 64-bit Windows systems.
9727         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
9728         line of distinction is between "native Windows" on one side and Unix/
9729         POSIX systems on the other side. More details in
9730         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
9731         Suggested by Paul Eggert.
9732
9733 2012-01-03  Bruno Haible  <bruno@clisp.org>
9734
9735         isatty: Support for MSVC 9.
9736         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
9737         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
9738         (_isatty_nothrow): New function.
9739         (isatty): Use it instead of _isatty.
9740         (IsConsoleHandle): Add comment, from Paolo Bonzini.
9741         * lib/poll.c (IsConsoleHandle): Likewise.
9742         * lib/select.c (IsConsoleHandle): Likewise.
9743         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
9744         (gl_PREREQ_ISATTY): New macro.
9745         * modules/isatty (Depends-on): Add msvc-inval.
9746         (configure.ac): Invoke gl_PREREQ_ISATTY.
9747
9748 2012-01-03  Jim Meyering  <meyering@redhat.com>
9749
9750         maint.mk: remove temporary transition aid from over 1.5 years ago
9751         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
9752         purpose was to aid in the transition (avoiding silent malfunction)
9753         from that old name to the new _sc_search_regexp.  This shim was
9754         added by commit 219c504b.
9755
9756         init.sh: do not try to accommodate compare arguments starting with "-"
9757         * tests/init.sh (compare_dev_null_): Do not try to accommodate
9758         compare arguments that start with "-".  Besides, we do not worry
9759         about this when invoking diff or cmp; why start now with sed?
9760         Using "--" to separate options from argument would trigger sed
9761         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
9762         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
9763
9764 2012-01-02  Bruno Haible  <bruno@clisp.org>
9765
9766         Enhance tests for module 'isatty'.
9767         * modules/isatty-tests (Depends-on): Add pipe-posix.
9768         * tests/test-isatty.c: Include <fcntl.h>.
9769         (DEV_NULL): New macro.
9770         (main): Test the resut of isatty() also on regular files, pipes, and
9771         /dev/null.
9772
9773         New module 'isatty'.
9774         * lib/unistd.in.h (isatty): New declaration.
9775         * lib/isatty.c: New file, based on an idea of
9776         Bastien Roucariès <roucaries.bastien@gmail.com>.
9777         * m4/isatty.m4: New file.
9778         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
9779         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
9780         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
9781         REPLACE_ISATTY.
9782         * modules/isatty: New file.
9783         * doc/posix-functions/isatty.texi: Mention the new module.
9784         Suggested by Paolo Bonzini.
9785
9786 2012-01-02  Bruno Haible  <bruno@clisp.org>
9787
9788         canonicalize: Tweak 2011-12-29 commit.
9789         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
9790         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
9791
9792 2012-01-02  Jim Meyering  <meyering@redhat.com>
9793
9794         gitlog-to-changelog: describe input syntax in --help output
9795         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
9796
9797         gitlog-to-changelog: fix typo in --help: show backslash before email @
9798         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
9799         in sources, but not in actual output.
9800
9801 2011-12-30  Jim Meyering  <meyering@redhat.com>
9802
9803         gitlog-to-changelog: don't malfunction when name contains %-directive
9804         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
9805         in a name string cause trouble.  E.g., with a user name of "%s",
9806         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
9807
9808 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
9809
9810         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
9811         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
9812         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
9813         the "  (tiny change)" notation that is appended to the standard
9814         ChangeLog "date  name  email" header line.
9815
9816 2012-01-01  Jim Meyering  <meyering@redhat.com>
9817
9818         test-framework-sh: init.sh: fix "make dist" failure
9819         When using gnulib-tool's --with-tests option and any module that
9820         depends on test-framework-sh, "make dist" would fail due to the
9821         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
9822         in the gltests directory, and not in the gllib/ directory.
9823         One way to work around that is to move the EXTRA_DIST += init.sh
9824         from the primary module to the -tests one:
9825         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
9826         * modules/test-framework-sh (Makefile.am): ...not here.
9827         Reported by Tom G. Christensen in
9828         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
9829
9830         version-etc: update copyright year reported by --version
9831         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
9832
9833 2011-12-31  Pádraig Brady  <P@draigBrady.com>
9834
9835         canonicalize: only stat() if required
9836         * lib/canonicalize.c (canonicalize_filename_mode):
9837         Avoid calling l?stat() when both CAN_MISSING,
9838         and CAN_NOLINKS are set, as we neither need
9839         to resolve symlinks or test component existence.
9840
9841 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
9842
9843         doc: cover st_ino issues once; add OpenVMS etc.
9844         * doc/posix-functions/stat.texi (stat):
9845         * doc/posix-functions/lstat.texi (lstat):
9846         * doc/posix-functions/fstatat.texi (fstatat):
9847         * doc/posix-functions/fstat.texi (fstat):
9848         Move general 'struct stat' stuff to sys_stat.texi,
9849         leaving behind a pointer.
9850         * doc/posix-headers/sys_stat.texi (sys/stat.h):
9851         Merge duplicate info about 'struct stat' problems into here.
9852         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
9853         and suggest partial workarounds.
9854
9855         same-inode: port to OpenVMS
9856         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
9857         three st_ino values.
9858
9859 2011-12-30  Pádraig Brady  <P@draigBrady.com>
9860
9861         canonicalize: fix references to stat() and lstat()
9862         * lib/canonicalize.c (canonicalize_filename_mode):
9863         Ensure references always resolve to a replacement
9864         function if required (even via a macro).
9865
9866 2011-12-30  Jim Meyering  <meyering@redhat.com>
9867
9868         gitlog-to-changelog: remove a little duplication
9869         * build-aux/gitlog-to-changelog (main): Grep @lines once,
9870         rather than twice.
9871
9872 2011-12-29  Pádraig Brady  <P@draigBrady.com>
9873
9874         canonicalize: add support for not resolving symlinks
9875         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
9876         indicate we don't want to follow symlinks.  Also
9877         provide CAN_MODE_MASK to aid setting these existing
9878         mutually exclusive values.
9879         * lib/canonicalize.c (canonicalize_filename_mode):
9880         Extract the flags from can_mode parameter, which
9881         are currently just used to select between stat()
9882         and lstat().  Also ensure that mutually exclusive
9883         values are flagged immediately as invalid.
9884         * tests/test-canonicalize.c: Verify symlinks are
9885         not followed, and that invalid flag combinations
9886         are diagnosed.
9887
9888 2011-12-25  Jim Meyering  <meyering@redhat.com>
9889
9890         gitlog-to-changelog: do not clump multi-paragraph entries
9891         Identical header lines (date,name,email+coauthors) are suppressed,
9892         thus putting all entries with those same characteristics under
9893         a single header.  However, when a log entry consists of two or
9894         more paragraphs, it may not be clear where it starts and ends.
9895         This change makes it so that such an entry is always separated
9896         from others by a header line, even when that header would
9897         otherwise be suppressed.
9898         * build-aux/gitlog-to-changelog: Implement the above.
9899         Inspired by a related request from Stefano Lattarini in
9900         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
9901
9902 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
9903
9904         announce-gen: fix `cmd' typo in diagnostic
9905         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
9906         diagnostic: a missing '$' meant that the command was not output.
9907
9908 2011-12-23  Jim Meyering  <meyering@redhat.com>
9909
9910         test-framework-sh: distribute init.sh
9911         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
9912         Otherwise, "make -C gnulib-tests check" (at least in grep) would
9913         fail due to the lack of init.sh.
9914
9915         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
9916         * modules/atexit-tests: Rather than listing tests/init.sh,
9917         now that there's a module for it, simply depend on that new module.
9918         * modules/closein-tests: Likewise.
9919         * modules/exclude-tests: Likewise.
9920         * modules/getcwd-tests: Likewise.
9921         * modules/perror-tests: Likewise.
9922         * modules/pread-tests: Likewise.
9923         * modules/pwrite-tests: Likewise.
9924         * modules/vc-list-files-tests: Likewise.
9925         * modules/verify-tests: Likewise.
9926         * modules/xalloc-die-tests: Likewise.
9927         * modules/xstrtoimax-tests: Likewise.
9928         * modules/xstrtol-tests: Likewise.
9929         * modules/xstrtoll-tests: Likewise.
9930         * modules/xstrtoumax-tests: Likewise.
9931         * modules/yesno-tests: Likewise.
9932
9933 2011-12-22  Jim Meyering  <meyering@redhat.com>
9934
9935         test-framework-sh: add minimal tests of init.sh's compare function
9936         * modules/test-framework-sh-tests: New file.
9937         * tests/test-init.sh: New file.
9938
9939         test-framework-sh: new module
9940         * modules/test-framework-sh: New file.
9941         * MODULES.html.sh (Support for maintaining and releasing projects):
9942         List it.
9943
9944         init.sh: do not emit simulated diff output to stderr
9945         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
9946
9947 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
9948
9949         .gitignore: ignore gnulib.dvi and regex.info
9950         * doc/.gitignore:add gnulib.dvi and regex.info
9951
9952 2011-12-22  Jim Meyering  <meyering@redhat.com>
9953
9954         init.sh: correct previous change
9955         * tests/init.sh (compare): My previous change was wrong.
9956         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
9957
9958         init.sh: avoid unwarranted test failure when using "set -e"
9959         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
9960         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
9961         a use like "compare exp out" would get evoke an unconditional failure.
9962
9963 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
9964
9965         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
9966         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
9967         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
9968         autoreconf that did not.
9969         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
9970         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9971
9972 2011-12-17  Jim Meyering  <meyering@redhat.com>
9973
9974         bootstrap: remove some now-unneeded code
9975         This script arose back when gnulib-tool was young.
9976         Since then, it has seen improvements that render much of this
9977         script unnecessary.  In particular, it can now make symlinks
9978         to the files it uses.  Also, I no longer see as much value in
9979         marking files as read-only via comments.
9980         If you relied on the symlink-creation feature of the preceding
9981         version of this script, you can get most of that functionality
9982         by adding the --symlink option to the definition of
9983         gnulib_tool_option_extras in your bootstrap.conf file.
9984         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
9985         Run autopoint and libtoolize *before* gnulib-tool.
9986         After it, run an abbreviated autoreconf, rather than a loop around
9987         all tools.
9988         (slirp, bt_mark_as_generated): Remove functions.
9989
9990 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9991
9992         ftoastr: fix typo
9993         * lib/ftoastr.h: Fix misspelling in comment.
9994
9995 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
9996
9997         * top/README-release: fix punctuation.
9998
9999 2011-12-17  Jim Meyering  <meyering@redhat.com>
10000
10001         bootstrap: correct the recent buildreq change
10002         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
10003         had no effect.
10004         * build-aux/bootstrap (buildreq): Bracket each search term with
10005         "*...*", so that the shell "case" statement works as intended.
10006         Add comments.
10007
10008 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
10009
10010         build: let bootstrap resort to wget when downloading .po files
10011         * build-aux/bootstrap (download_po_files): Fallback to wget when
10012         downloading the .po files via rsync fails.  This is necessary to
10013         bootstrap from behind a strict firewall.
10014
10015 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
10016
10017         stdint: don't assume C++11 when compiling with g++
10018         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
10019         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
10020         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
10021         work also in C++ before C++11, as that improperly inhibits
10022         generating a substitute stdint.h for that case.
10023
10024 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
10025
10026         alloca: protect comment from gnulib-tool
10027         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
10028         that gnulib-tool doesn't think it's a license, and munge it to
10029         say "GCC version 3".
10030
10031 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
10032
10033         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
10034         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
10035         $(abs_top_builddir) instead of $(top_builddir).
10036
10037 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
10038
10039         strftime-tests: also test nanoseconds
10040         * tests/test-strftime.c (T): Add a test of %N.
10041
10042 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
10043
10044         inttypes, stdint: add C++11 support
10045         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
10046         when including inttypes.h and stdint.h.  Support this change to
10047         the standard.
10048         * doc/posix-headers/inttypes.texi (inttypes.h):
10049         * doc/posix-headers/stdint.texi (stdint.h): Document this.
10050         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
10051         Define if not defined already, for the benefit of pre-C++11 hosts.
10052         Define the standard format macros (e.g., PRId8) always.
10053         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
10054         Likewise, if __cpluspus.  Define the standard constant and limit
10055         macros (e.g., INT8_C, INT8_MAX) always.
10056         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
10057         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
10058         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
10059         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
10060         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
10061         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
10062         Likewise.
10063
10064 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
10065
10066         nonblocking tests: Fix test failure on Linux/PPC.
10067         Suggested by Prerna Saxena in
10068         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
10069         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
10070         Set to 1100000.
10071
10072 2011-12-12  Jim Meyering  <meyering@redhat.com>
10073
10074         argmatch: don't hard-code `' when listing valid option arguments
10075         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
10076         use the quote function to add quotes.  Use fputs rather than
10077         fprintf for the format string with no format directive.
10078
10079 2011-12-07  Eric Blake  <eblake@redhat.com>
10080
10081         bootstrap: detect tools required by gnulib-tool
10082         * build-aux/bootstrap (buildreq): Provide minimum implicit
10083         dependencies.
10084         * DEPENDENCIES: Mention patch as a prereq.
10085
10086 2011-12-04  Bruno Haible  <bruno@clisp.org>
10087
10088         sethostname: Port to Windows platforms.
10089         * lib/sethostname.c: Provide an alternate implementation for Windows
10090         platforms.
10091         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
10092         (main): Skip the test if sethostname() fails with EPERM. On Windows
10093         platforms, don't check the result of gethostname().
10094
10095 2011-12-04  Bruno Haible  <bruno@clisp.org>
10096             Jim Meyering  <meyering@redhat.com>
10097
10098         tests: Avoid spurious error message on platforms without mktemp program.
10099         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
10100
10101 2011-12-04  Bruno Haible  <bruno@clisp.org>
10102
10103         sethostname: Fix documentation.
10104         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
10105         "not fixed" section.
10106
10107 2011-12-03  Bruno Haible  <bruno@clisp.org>
10108
10109         gnulib-tool: Verify that the License field is present and non-empty.
10110         * gnulib-tool (func_get_license_raw): New function, extracted from
10111         func_get_license.
10112         (func_get_license): Use it. Warn if the module is not a test module and
10113         has no license.
10114         Suggested by Jim Meyering.
10115
10116 2011-12-03  Bruno Haible  <bruno@clisp.org>
10117
10118         sethostname tests: Fix link error on mingw.
10119         * tests/test-sethostname1.c: New file, extracted from
10120         tests/test-sethostname.c.
10121         * tests/test-sethostname2.c: New file, extracted from
10122         tests/test-sethostname.c.
10123         * tests/test-sethostname.c: Remove file.
10124         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
10125         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
10126         (Depends-on): Add gethostname.
10127         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
10128         Link the latter with $(GETHOSTNAME_LIB).
10129
10130         sethostname tests: Fix compilation error on mingw.
10131         * tests/test-sethostname.c: Don't include <sys/types.h>.
10132         (geteuid): Use a dummy value without uid_t.
10133         * modules/sethostname-tests (Depends-on): Remove sys_types.
10134
10135         sethostname tests: Avoid a gcc warning.
10136         * tests/test-sethostname.c (main): Remove an unused variable.
10137
10138         Tweak last commit.
10139         * modules/sethostname-tests (Files): Sort by decreasing importance.
10140         (configure.ac): Check for geteuid.
10141         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
10142         the test when there's nothing to test. Drop an unnecessary cast.
10143         Improve an error message. Verify that the final sethostname() call
10144         succeeds.
10145
10146 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
10147
10148         Add a test suite for the sethostname module.
10149         * modules/sethostname-tests: New file.  A test program
10150         for the sethostname module.
10151         * tests/test-sethostname.c: Likewise.
10152
10153 2011-12-03  Bruno Haible  <bruno@clisp.org>
10154
10155         Tweak last commit.
10156         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
10157         Fix preprocessor directives indentation. Fix typos.
10158         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
10159         * modules/unistd (Makefile): Likewise.
10160
10161 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
10162
10163         Integrate the sethostname module into unistd.
10164         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
10165         into the unistd.h header.
10166         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
10167         preprocessor directives.
10168         * modules/unistd: Setup the Makefile substitutions of the
10169         SETHOSTNAME preprocessor directives.
10170
10171 2011-12-03  Bruno Haible  <bruno@clisp.org>
10172
10173         Tweak last commit.
10174         * lib/sethostname.c: Don't include <string.h>.
10175         (sethostname): No need to copy the argument string to the stack. Don't
10176         call clearerr. Preserve errno when fprintf failed.
10177         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
10178         Don't invoke AC_REPLACE_FUNCS.
10179         * modules/sethostname (Link): Remove empty section.
10180         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
10181         failure problem.
10182
10183 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
10184
10185         New module 'sethostname'.
10186         * lib/sethostname.c (sethostname): New file.  Provide sethostname
10187         for systems that lack it.
10188         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
10189         sethostname declaration and function.
10190         * modules/sethostname: New file.  Define the sethostname module.
10191
10192 2011-12-03  Bruno Haible  <bruno@clisp.org>
10193
10194         Tweak last commit.
10195         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
10196
10197 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
10198
10199         Split the HOST_NAME_MAX detection into a separate m4 macro.
10200         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
10201         macro so it can be used by the pending sethostname module.
10202
10203 2011-12-03  Bruno Haible  <bruno@clisp.org>
10204
10205         Fix module descriptions syntax.
10206         * modules/argv-iter (License): Fix syntax.
10207         * modules/di-set (License): Likewise.
10208         * modules/ino-map (License): Likewise.
10209         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
10210
10211 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
10212
10213         stdalign: port to Clang 3.0
10214         Problem reported by Simon Josefsson in
10215         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
10216         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
10217         which has <stdalign.h> but which does not define alignof.
10218         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
10219
10220 2011-12-01  Eric Blake  <eblake@redhat.com>
10221
10222         mktempd: silence dd usage
10223         * build-aux/mktempd (rand_bytes): Silence dd.
10224
10225 2011-11-30  Simon Josefsson  <simon@josefsson.org>
10226
10227         manywarnings: Don't mention gcc version in docstring.
10228         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
10229         Jim Meyering <meyering@redhat.com>.
10230
10231 2011-11-30  Jim Meyering  <meyering@redhat.com>
10232
10233         hash: mark a few floating point constants with "f" suffix
10234         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
10235         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
10236         floating point constants with "f", since they're destined to be
10237         saved/used as "float"s.
10238
10239 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
10240
10241         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
10242         * tests/test-float.c (test_long_double): Correct and re-enable the
10243         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
10244
10245 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
10246
10247         Avoid subtracting two pointers that don't point into the same block.
10248         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
10249         only pointers into the same memory block are subtracted. We cannot
10250         assume that sizeof (ptrdiff_t) == sizeof (void *).
10251
10252 2011-11-29  Eric Blake  <eblake@redhat.com>
10253
10254         maint.mk: add syntax check for use of compare from init.sh
10255         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
10256         moved here from coreutils.
10257
10258         manywarnings: drop -Wunsuffixed-float-constants
10259         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
10260         '1.0D', which is the only way to silence this warning for 'double'.
10261
10262 2011-11-29  Jim Meyering  <meyering@redhat.com>
10263
10264         hash: mark compute_bucket_size with the pure attribute
10265         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
10266
10267         quotearg, propername: correct pragma guard expression
10268         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
10269         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
10270
10271 2011-11-28  Jim Meyering  <meyering@redhat.com>
10272
10273         propername: do not mark proper_name with the const attribute
10274         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
10275         since it examines data pointed to by its parameter.
10276         * lib/propername.c (proper_name): Instead, add a pragma to suppress
10277         the suggestion from -Wsuggest-attribute=const.
10278
10279         propername: mark one more function as const
10280         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
10281
10282 2011-11-27  Jim Meyering  <meyering@redhat.com>
10283
10284         mark functions with const and pure attributes
10285
10286         Mark functions per suggestions from gcc-4.6 when using these options:
10287         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
10288         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
10289         Follow these guidelines: when possible, apply the attribute to
10290         an extern declaration, not to its definition.  Apply it to the
10291         definition only when the definition is static.
10292         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
10293         * lib/argv-iter.h (argv_iter_n_args): Likewise.
10294         * lib/base64.h (isbase64): Likewise.
10295         * lib/basename-lgpl.c (last_component, base_len): Likewise.
10296         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
10297         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
10298         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
10299         (c_tolower, c_toupper): Likewise.
10300         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
10301         * lib/chdir-long.c (find_non_slash): Likewise.
10302         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
10303         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
10304         * lib/file-type.h (file_type): Likewise.
10305         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
10306         * lib/filevercmp.c (verrevcmp): Likewise.
10307         * lib/freadahead.h (freadahead): Likewise.
10308         * lib/fts.c (fts_maxarglen): Likewise.
10309         * lib/hash-pjw.h (hash_pjw): Likewise.
10310         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
10311         * lib/hash.c (is_prime, next_prime): Likewise.
10312         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
10313         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
10314         (hash_table_ok, hash_get_first, hash_string): Likewise.
10315         (compute_bucket_size): Likewise.
10316         * lib/i-ring.h (i_ring_empty): Likewise.
10317         * lib/isnan.c (isnanl): Likewise.
10318         * lib/math.h (isnanl, rpl_isnanl): Likewise.
10319         * lib/memcasecmp.h (memcasecmp): Likewise.
10320         * lib/memchr2.h (memchr2): Likewise.
10321         * lib/memcmp2.h (memcmp2): Likewise.
10322         * lib/parse-datetime.y (lookup_zone): Likewise.
10323         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
10324         [!WINDOWS_SOCKETS]: Likewise.
10325         * lib/strnlen1.h (strnlen1): Likewise.
10326         * lib/uniwidth.in.h (uc_width): Likewise.
10327         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
10328         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
10329         (quoting_options_from_style): Add a comment.
10330         * lib/propername.h (proper_name): Add a comment.
10331
10332 2011-11-27  Bruno Haible  <bruno@clisp.org>
10333
10334         Remove unused macros from !_LIBC code in glibc-borrowed files.
10335         * lib/fnmatch.c (STRCOLL): Remove macro.
10336         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
10337         * lib/glob.c (__stat, __readdir64): Remove macros.
10338         * lib/tempname.c (__open64, __xstat64): Remove macros.
10339         Suggested by Paul Eggert.
10340
10341 2011-11-27  Bruno Haible  <bruno@clisp.org>
10342
10343         getcwd: Fix link error on MSVC 9.
10344         * modules/getcwd (Depends-on): Add readdir, rewinddir.
10345
10346 2011-11-27  Bruno Haible  <bruno@clisp.org>
10347
10348         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
10349         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
10350         HAVE_OPENDIR is 0.
10351         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
10352         HAVE_CLOSEDIR is 0.
10353         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
10354         is 0.
10355         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
10356
10357 2011-11-27  Bruno Haible  <bruno@clisp.org>
10358
10359         getcwd: Fix bug from 2011-08-17.
10360         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
10361         platforms that need it.
10362         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
10363         code of 4 to be a failure, not a success. This ensures that
10364         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
10365
10366 2011-11-27  Bruno Haible  <bruno@clisp.org>
10367
10368         binary-io tests: Avoid test failure on mingw when libtool is used.
10369         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
10370         Don't verify the size of t-bin-out1.tmp here.
10371         * tests/test-binary-io.sh: Verify it here.
10372         Reported by Simon Josefsson.
10373
10374 2011-11-26  Bruno Haible  <bruno@clisp.org>
10375
10376         Fix conflict between two instantiations of module 'unistd'.
10377         * gnulib-tool (func_emit_autoconf_snippet): Substitute
10378         ${include_guard_prefix} also in the autoconf snippet.
10379         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
10380         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
10381         GNULIB_UNISTD_H_GETOPT.
10382         * modules/getopt-posix (configure.ac): Set the
10383         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
10384         * modules/getopt-gnu (configure.ac): Likewise.
10385         * modules/unistd (Makefile.am): Change the substitution value of
10386         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
10387         Reported by Simon Josefsson.
10388
10389 2011-11-25  Bruno Haible  <bruno@clisp.org>
10390
10391         pagealign_alloc: Doc and comments.
10392         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
10393         module.
10394         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
10395
10396 2011-11-25  Jim Meyering  <meyering@redhat.com>
10397
10398         test-update-copyright.sh: avoid false-positive failure
10399         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
10400         around false positive failure on Cygwin/Windows.  The latter was
10401         matching erroneously-created files with names like
10402         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
10403
10404 2011-11-25  Simon Josefsson  <simon@josefsson.org>
10405
10406         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
10407         * m4/valgrind-tests.m4: Check that the parameters that will be
10408         used works, not just a subset of them.  Reported by Bruno Haible
10409         <bruno@clisp.org>.
10410
10411 2011-11-24  Jim Meyering  <meyering@redhat.com>
10412
10413         test-stdalign.c: comment out long double tests
10414         * tests/test-stdalign.c: Don't try to reduce alignment of long double
10415         variables.  That provokes errors like this from gcc-4.7.0 20111124:
10416         error: '_Alignas' specifiers cannot reduce alignment of \
10417         'static_longdouble_alignas'.
10418
10419 2011-11-22  Jim Meyering  <meyering@redhat.com>
10420
10421         init.sh: make "compare /dev/null FILE" output more readable
10422         * tests/init.sh (compare_): Document the preferred order of arguments.
10423         (emit_diff_u_header_): New function.
10424         (compare_dev_null_): Emit a simulated diff, rather than just the
10425         contents of the unexpected file.  Suggestion from Bruno Haible.
10426
10427 2011-11-21  Jim Meyering  <meyering@redhat.com>
10428             Eric Blake  <eblake@redhat.com>
10429
10430         init.sh: work around OSF/1 5.1's mishandling of /dev/null
10431         * tests/init.sh: Make our compare function slightly more portable.
10432         Reported by Bruno Haible in
10433         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
10434
10435 2011-11-21  Simon Josefsson  <simon@josefsson.org>
10436
10437         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
10438         before using it, in code that ends up in config.h.
10439
10440 2011-11-20  Bruno Haible  <bruno@clisp.org>
10441
10442         getcwd: Work around getcwd bug on AIX 5..7.
10443         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
10444         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
10445         Use a different value for gl_cv_func_getcwd_path_max. Move the
10446         definition of HAVE_PARTLY_WORKING_GETCWD from here...
10447         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
10448         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
10449         Define HAVE_MINIMALLY_WORKING_GETCWD.
10450         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
10451         where it is not even minimally working, that is, on AIX.
10452         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
10453         m4/getcwd-path-max.m4.
10454         (main): Update exit code computation.
10455         * doc/posix-functions/getcwd.texi: Mention list of platforms where
10456         getcwd does not handle long file names.
10457
10458 2011-11-20  Bruno Haible  <bruno@clisp.org>
10459
10460         getcwd: Fix bug from 2009-09-10.
10461         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
10462         like "no".
10463
10464 2011-11-20  Simon Josefsson  <simon@josefsson.org>
10465
10466         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
10467
10468 2011-11-20  Bruno Haible  <bruno@clisp.org>
10469
10470         fma tests: Avoid shadowing local variables.
10471         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
10472         expected.
10473
10474 2011-11-20  Bruno Haible  <bruno@clisp.org>
10475
10476         copysignf tests: Fix.
10477         * tests/test-copysignf.c: Fix signature check.
10478
10479 2011-11-20  Bruno Haible  <bruno@clisp.org>
10480
10481         fma: Remove unused code.
10482         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
10483         unused macros.
10484
10485 2011-11-20  Bruno Haible  <bruno@clisp.org>
10486
10487         sethostname: Fix doc about AIX.
10488         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
10489         sethostname; it has it.
10490
10491         sethostname: Mention more portability problems.
10492         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
10493         problem.
10494         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
10495
10496 2011-11-19  Bruno Haible  <bruno@clisp.org>
10497
10498         Depend on module fcntl-h when AT_FDCWD is used.
10499         * modules/utimens (Depends-on): Add fcntl-h.
10500         * modules/areadlinkat (Depends-on): Likewise.
10501         * modules/areadlinkat-with-size (Depends-on): Likewise.
10502         * modules/faccessat (Depends-on): Likewise.
10503         * modules/fchmodat (Depends-on): Likewise.
10504         * modules/fchownat (Depends-on): Likewise.
10505         * modules/getcwd (Depends-on): Likewise.
10506         * modules/mkdirat (Depends-on): Likewise.
10507         * modules/mkfifoat (Depends-on): Likewise.
10508         * modules/readlinkat (Depends-on): Likewise.
10509         * modules/symlinkat (Depends-on): Likewise.
10510         * modules/dup2-tests (Depends-on): Likewise.
10511         * modules/fdutimensat-tests (Depends-on): Likewise.
10512         * modules/futimens-tests (Depends-on): Likewise.
10513
10514 2011-11-19  Bruno Haible  <bruno@clisp.org>
10515
10516         euidaccess: Update a comment.
10517         * lib/euidaccess.c: Update comment about platforms with faccessat.
10518
10519 2011-11-19  Bruno Haible  <bruno@clisp.org>
10520
10521         openat: Fix file list.
10522         * modules/openat (Files): Remove lib/at-func.c.
10523
10524 2011-11-19  Bruno Haible  <bruno@clisp.org>
10525
10526         fstatat: Simplify.
10527         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
10528         gnulib should define rpl_fstatat, there is a
10529         "#define fstatat rpl_fstatat" in <sys/stat.h>.
10530
10531 2011-11-19  Bruno Haible  <bruno@clisp.org>
10532
10533         Ensure 'inline' can be used in tests/test-utimens-common.h.
10534         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
10535         * modules/futimens-tests (configure.ac): Likewise.
10536         * modules/utimens-tests (configure.ac): Likewise.
10537         * modules/utimensat-tests (configure.ac): Likewise.
10538
10539 2011-11-19  Simon Josefsson  <simon@josefsson.org>
10540
10541         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
10542         not hash_insert0.
10543         (hash_insert_if_absent): Doc fix.
10544
10545 2011-11-19  Simon Josefsson  <simon@josefsson.org>
10546
10547         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
10548
10549 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
10550
10551         test-getcwd: disambiguate exit status
10552         * tests/test-getcwd.c (test_long_name): Return 0..7.
10553         (main): Exit with an unambiguous exit status.  The old
10554         code yielded a mysterious mixture of two failure codes.
10555
10556         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
10557         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
10558         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
10559         rpl_fstatat or fstatat.  This should fix the other problem
10560         reported by Kai Habel in
10561         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10562         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
10563         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
10564         and I reproduced it on a Solaris 8 host we still have in production.
10565
10566 2011-11-18  Jim Meyering  <meyering@redhat.com>
10567
10568         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
10569         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
10570         Add a sentence to the comment.
10571         (hash_insert0): New function that simply calls hash_insert_if_absent.
10572         * lib/hash.h (hash_insert_if_absent): Declare it.
10573         (hash_insert0): Add deprecation attribute.
10574         (_GL_ATTRIBUTE_DEPRECATED): Define.
10575         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
10576         not hash_insert0.
10577         * NEWS: Mention it, even though it's not really an incompatible change.
10578
10579 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
10580
10581         openat: avoid compilation failure due to lack of <errno.h> inclusion
10582         * lib/openat.c: Include <errno.h>.
10583
10584 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
10585
10586         * modules/getcwd (Depends-on): Add fdopendir.
10587         This fixes one of the two problems reported by Kai Habel in
10588         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10589
10590         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
10591         stdalign problem reported by Ian Beckwith in
10592         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
10593         * modules/crypto/gc-arcfour (Depends-on):
10594         Depend conditionally on crypto/arcfour.
10595         * modules/crypto/gc-arctwo (Depends-on):
10596         Depend conditionally on crypto/arctwo.
10597         * modules/crypto/gc-des (Depends-on):
10598         Depend conditionally on crypto/des.
10599         * modules/crypto/gc-hmac-md5 (Depends-on):
10600         Depend conditionally on crypto/hmac-md5.
10601         * modules/crypto/gc-hmac-sha1 (Depends-on):
10602         Depend conditionally on crypto/hmac-sha1.
10603         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
10604         * modules/crypto/gc-md4 (Depends-on):
10605         Depend conditionally on crypto/md4.
10606         * modules/crypto/gc-md5 (Depends-on):
10607         Depend conditionally on crypto/md5.
10608         * modules/crypto/gc-rijndael (Depends-on):
10609         Depend conditionally on crypto/rijndael.
10610         * modules/crypto/gc-sha1 (Depends-on):
10611         Depend conditionally on crypto/sha1.
10612         * modules/crypto/gc-arcfour:
10613         * modules/crypto/gc-arctwo:
10614         * modules/crypto/gc-des:
10615         * modules/crypto/gc-hmac-md5:
10616         * modules/crypto/gc-hmac-sha1:
10617         * modules/crypto/gc-md2:
10618         * modules/crypto/gc-md4:
10619         * modules/crypto/gc-md5:
10620         * modules/crypto/gc-rijndael:
10621         * modules/crypto/gc-sha1:
10622         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
10623         now that the conditional dependencies do the work for us.
10624
10625 2011-11-17  Jim Meyering  <meyering@redhat.com>
10626
10627         tests: factor st_ctime-comparison out of two headers
10628         * tests/test-utimens-common.h (ctime_compare): Define.
10629         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
10630         * tests/test-lutimens.h (test_lutimens): Likewise.
10631         * tests/test-utimens.h (test_utimens): Likewise.
10632
10633         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
10634         Invoke the test program via an init.sh-using wrapper.
10635         * tests/test-getcwd.sh: New file.
10636         * modules/getcwd-tests (Files): Add it.
10637         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
10638
10639 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
10640
10641         gitlog-to-changelog: support multi-author commits.
10642         The FSF cares about keeping track of all authors of patches to its
10643         projects, but Git doesn't provide obvious support for multi-author
10644         changesets. Consensus seems to be forming around the use of extra
10645         Signed-off-by inspired lines in the log message formatted as
10646         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
10647         multi-author commits between version control systems.
10648         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
10649         log message and output in standard ChangeLog multi-author format.
10650         Reported by Peter Rosin <peda@lysator.liu.se>
10651
10652 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
10653             Bruno Haible  <bruno@clisp.org>
10654
10655         Fix some modules' file list.
10656         * modules/fstatat (Files): Add m4/lstat.m4.
10657         * modules/openat (Files): Likewise.
10658         * modules/unlinkat (Files): Likewise.
10659
10660 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
10661
10662         maint.mk: fix tight-scope.mk generation in VPATH builds.
10663         * top/maint.mk (tight-scope.mk): Make sure to prefix file
10664         reference with $(srcdir) so that the file is found correctly even
10665         when running `make syntax-check' in a VPATH build.
10666
10667 2011-11-13  Bruno Haible  <bruno@clisp.org>
10668             Jim Meyering  <meyering@redhat.com>
10669
10670         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
10671         * tests/init.sh (compare): Remove "No differences encountered" or
10672         synonymous output from the 'diff' program.
10673
10674 2011-11-13  Bruno Haible  <bruno@clisp.org>
10675
10676         Makefile: Tweak indentation.
10677         * Makefile: Use tab as first character in every line that contains rule
10678         commands.
10679
10680 2011-11-13  Bruno Haible  <bruno@clisp.org>
10681
10682         Syntax check for copyright statements.
10683         * check-copyright: New file.
10684         * Makefile (sc_check_copyright): New rule.
10685
10686 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10687
10688         * build-aux/git-version-gen: Add --prefix to configure the tag
10689         match string.
10690
10691 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10692
10693         * build-aux/git-version-gen: Add --help and --version.
10694
10695 2011-11-12  Jim Meyering  <meyering@redhat.com>
10696
10697         revamp the other test-exclude?.sh scripts to use init.sh, too
10698         * tests/test-exclude1.sh: Use init.sh.
10699         * tests/test-exclude2.sh: Likewise.
10700         * tests/test-exclude3.sh: Likewise.
10701         * tests/test-exclude4.sh: Likewise.
10702         * tests/test-exclude5.sh: Likewise.
10703         * tests/test-exclude6.sh: Likewise.
10704         * tests/test-exclude7.sh: Likewise.
10705         * tests/test-exclude8.sh: Likewise.
10706         * modules/exclude-tests (Files): List init.sh.
10707
10708         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
10709         These shell scripts ignored failure of the binary test-exclude,
10710         so making the latter return 77 didn't cause them to be skipped.
10711         * tests/test-exclude5.sh: Exit with test-exclude's error status
10712         when that program fails.  Revamp to use init.sh.
10713         * tests/test-exclude2.sh: Likewise.
10714
10715         test-exclude: fix a typo
10716         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
10717
10718 2011-11-11  Bruno Haible  <bruno@clisp.org>
10719
10720         obstack: Fix compilation error on MSVC 9.
10721         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
10722
10723 2011-11-11  Jim Meyering  <meyering@redhat.com>
10724
10725         test-exclude: skip tests rather than failing on deficient systems
10726         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
10727         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
10728         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
10729         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
10730
10731 2011-11-10  Bruno Haible  <bruno@clisp.org>
10732
10733         ptsname_r test: Avoid gcc warning on glibc systems.
10734         * tests/test-ptsname_r.c (null_ptr): New function.
10735         (test_errors): Use it.
10736
10737 2011-11-10  Bruno Haible  <bruno@clisp.org>
10738
10739         ptsname_r: Avoid compilation error on OSF/1 5.1.
10740         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
10741         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
10742         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
10743         function is not declared or incompatibly declared.
10744         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
10745         * modules/ptsname_r (Depends-on, configure.ac): Update.
10746         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
10747
10748 2011-11-10  Bruno Haible  <bruno@clisp.org>
10749
10750         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
10751         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
10752         When cross-compiling, guess yes on all platforms except AIX.
10753         Reported by Ludovic Courtès <ludo@gnu.org>.
10754
10755 2011-11-09  Bruno Haible  <bruno@clisp.org>
10756
10757         ptsname_r tests: Fix bugs.
10758         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
10759         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
10760
10761 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
10762
10763         fstatat: work with cross-compilation
10764         Problem reported by Ludovic Courtès in
10765         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
10766         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
10767         "cross-compiling" and assume the bug is present.  Replace
10768         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
10769         an inverted sense, to be more conservative about our assumptions.
10770         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
10771
10772 2011-11-09  Bruno Haible  <bruno@clisp.org>
10773
10774         Improve MODULES.html output.
10775         * modules/mkfifoat (Description): Use the word "function".
10776         * modules/readlinkat (Description): Likewise.
10777         * modules/symlinkat (Description): Likewise.
10778
10779 2011-11-09  Eric Blake  <eblake@redhat.com>
10780
10781         ptsname_r-tests: new test module
10782         * modules/ptsname_r-tests: New module.
10783         * tests/test-ptsname_r.c: New file.
10784
10785         ptsname_r: new module
10786         * modules/ptsname_r: New module.
10787         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
10788         * lib/ptsname.c (__ptsname_r): Split...
10789         * lib/ptsname_r.c: ...into new file.
10790         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
10791         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
10792         * modules/stdlib (Makefile.am): Substitute witnesses.
10793         * lib/stdlib.in.h (ptsname_r): Declare it.
10794         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
10795         * MODULES.html.sh (Misc): Likewise.
10796         * modules/ptsname (Depends-on): Alter dependency.
10797         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
10798
10799 2011-11-09  Jim Meyering  <meyering@redhat.com>
10800
10801         announce-gen: be more concise when there's only one URL+tarball
10802         * build-aux/announce-gen (get_tool_versions): When you distribute
10803         only one type of tarball, combine the first two "Here are..."
10804         sections and make the key-checking grammar independent of
10805         how many tarballs there are.
10806
10807 2011-11-09  Eric Blake  <eblake@redhat.com>
10808
10809         openpty: provide a stub on mingw
10810         * lib/pty.in.h (includes): Provide forward declarations.
10811         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
10812
10813         raise: fix mingw handling of SIGPIPE
10814         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
10815
10816 2011-11-08  Bruno Haible  <bruno@clisp.org>
10817
10818         More conditional dependencies.
10819         * modules/faccessat (Depends-on): Add conditions.
10820         * modules/fchmodat (Depends-on): Likewise.
10821         * modules/fchownat (Depends-on): Likewise.
10822         * modules/fstatat (Depends-on): Likewise.
10823         * modules/mkfifoat (Depends-on): Likewise.
10824         * modules/readlinkat (Depends-on): Likewise.
10825         * modules/symlinkat (Depends-on): Likewise.
10826         * modules/unlinkat (Depends-on): Likewise.
10827         * modules/utimensat (Depends-on): Likewise.
10828         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
10829         * modules/linkat (Depends-on): Refine the conditions.
10830         * modules/renameat (Depends-on): Likewise.
10831
10832 2011-11-08  Bruno Haible  <bruno@clisp.org>
10833
10834         faccessat: Move AC_LIBOBJ invocation to module description.
10835         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
10836         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
10837         invocation from here...
10838         * modules/faccessat (configure.ac): ... to here. Invoke
10839         gl_PREREQ_FACCESSAT.
10840
10841 2011-11-08  Bruno Haible  <bruno@clisp.org>
10842
10843         faccessat: Simplify autoconf macro.
10844         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
10845         gl_FUNC_EUIDACCESS.
10846
10847 2011-11-08  Bruno Haible  <bruno@clisp.org>
10848
10849         renameat: Fix dependencies.
10850         * modules/renameat (Depends-on): Add stdbool.
10851
10852 2011-11-08  Bruno Haible  <bruno@clisp.org>
10853
10854         mkfifoat: Fix module description.
10855         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
10856         not gl_UNISTD_MODULE_INDICATOR.
10857
10858 2011-11-08  Bruno Haible  <bruno@clisp.org>
10859
10860         fstatat: Remove unused dependency.
10861         * modules/fstatat (Depends-on): Remove fstat.
10862
10863 2011-11-08  Simon Josefsson  <simon@josefsson.org>
10864
10865         GNUmakefile: behave when Makefile is missing.
10866         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
10867
10868 2011-11-08  Bruno Haible  <bruno@clisp.org>
10869
10870         openat: Conditionalize dependencies.
10871         * lib/openat.c: Reduce the scope of some #includes.
10872         * modules/openat (Depends-on): Add conditions.
10873
10874 2011-11-07  Jim Meyering  <meyering@redhat.com>
10875
10876         maint.mk: extract GPG key ID without using a temporary file
10877         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
10878         without using a temporary file.  Based on a suggestion from Werner Koch
10879         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
10880
10881 2011-11-07  Eric Blake  <eblake@redhat.com>
10882
10883         grantpt: fix typo
10884         * lib/stdlib.in.h (grantpt): Check correct function.
10885
10886         maint.mk: silence new syntax check
10887         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
10888
10889 2011-11-06  Bruno Haible  <bruno@clisp.org>
10890
10891         Doc about floating-point and math API.
10892         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
10893         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
10894
10895 2011-11-06  Bruno Haible  <bruno@clisp.org>
10896
10897         stdalign tests: Skip the test when compiled by Sun C.
10898         * tests/test-stdalign.c (main): Skip the test on Sun C.
10899
10900 2011-11-06  Bruno Haible  <bruno@clisp.org>
10901
10902         ansi-c++-opt: Complete the 2011-06-05 change.
10903         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
10904         does not support namespaces, set the variable to "no", not to ":".
10905
10906 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
10907
10908         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
10909
10910 2011-11-06  Bruno Haible  <bruno@clisp.org>
10911
10912         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
10913         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
10914         (minus_zerol) [HP-UX]: New macro.
10915         (unary_minus) [HP-UX]: New function.
10916         (copysignl) [HP-UX]: Use unary_minus function.
10917
10918 2011-11-06  Bruno Haible  <bruno@clisp.org>
10919
10920         ldexp, ldexpf, ldexpl: Enhance tests.
10921         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
10922         and tests/test-ldexpl.c.
10923         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
10924         LDEXP, MIN_EXP, MAX_EXP): New macros.
10925         Include test-ldexp.h.
10926         (main): Just call test_function.
10927         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
10928         infinity.h, nan.h.
10929         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10930         MAX_EXP): New macros.
10931         Include test-ldexp.h.
10932         (x, y): Remove variables.
10933         (main): Just call test_function.
10934         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
10935         infinity.h, nan.h.
10936         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10937         MAX_EXP): New macros.
10938         Include test-ldexp.h.
10939         (x, y): Remove variables.
10940         (main): Just call test_function.
10941         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
10942         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
10943         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10944         (Depends-on): Add isnand-nolibm, signbit, float.
10945         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
10946         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10947         (Depends-on): Add isnanf-nolibm, signbit, float.
10948
10949 2011-11-06  Bruno Haible  <bruno@clisp.org>
10950
10951         math tests: Cosmetics.
10952         * tests/test-math-c++.cc: Reorder declarations.
10953
10954 2011-11-05  Bruno Haible  <bruno@clisp.org>
10955
10956         fma*: Simplify test.
10957         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
10958         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
10959
10960         Tests for module 'fmal'.
10961         * modules/fmal-tests: New file.
10962         * tests/test-fmal1.c: New file.
10963         * tests/test-fmal2.c: New file.
10964
10965         New module 'fmal'.
10966         * lib/math.in.h (fmal): New declaration.
10967         * lib/fmal.c: New file.
10968         * m4/fmal.m4: New file.
10969         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
10970         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
10971         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
10972         REPLACE_FMAL.
10973         * modules/fmal: New file.
10974         * doc/posix-functions/fmal.texi: Mention the new module and the various
10975         bugs.
10976
10977         Tests for module 'fmaf'.
10978         * modules/fmaf-tests: New file.
10979         * tests/test-fmaf1.c: New file.
10980         * tests/test-fmaf2.c: New file.
10981
10982         New module 'fmaf'.
10983         * lib/math.in.h (fmaf): New declaration.
10984         * lib/fmaf.c: New file.
10985         * m4/fmaf.m4: New file.
10986         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
10987         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
10988         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
10989         REPLACE_FMAF.
10990         * modules/fmaf: New file.
10991         * doc/posix-functions/fmaf.texi: Mention the new module and the various
10992         bugs.
10993
10994         Tests for module 'fma'.
10995         * modules/fma-tests: New file.
10996         * tests/test-fma1.c: New file.
10997         * tests/test-fma1.h: New file.
10998         * tests/test-fma2.c: New file.
10999         * tests/test-fma2.h: New file.
11000
11001         New module 'fma'.
11002         * lib/math.in.h (fma): New declaration.
11003         * lib/fma.c: New file.
11004         * m4/fma.m4: New file.
11005         * m4/fegetround.m4: New file.
11006         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
11007         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
11008         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
11009         REPLACE_FMA.
11010         * modules/fma: New file.
11011         * doc/posix-functions/fma.texi: Mention the new module and the various
11012         bugs.
11013
11014         Extend gl_MATHFUNC.
11015         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
11016         Support 'void' as argument type.
11017         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
11018
11019 2011-11-05  Jim Meyering  <meyering@redhat.com>
11020
11021         maint.mk: also prohibit inclusion of dirent.h without use
11022         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
11023
11024 2011-11-05  Bruno Haible  <bruno@clisp.org>
11025
11026         ldexpl tests: Avoid test failure on MSVC 9.
11027         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
11028         value. Needed in order to enforce the conversion from a value greater
11029         than LDBL_MAX to Infinity.
11030
11031 2011-11-05  Bruno Haible  <bruno@clisp.org>
11032
11033         New modules 'at-internal', 'openat-h', split off from module 'openat'.
11034         * modules/at-internal: New file, extracted from modules/openat.
11035         * modules/openat-h: New file.
11036         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
11037         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
11038         * modules/openat (Description): Add reference to POSIX function.
11039         (Files): Remove lib/openat.h, lib/openat-proc.c.
11040         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
11041         intprops, unistd.
11042         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
11043         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
11044         gl_FCNTL_MODULE_INDICATOR.
11045         (Include): Remove unistd.h, openat.h.
11046         * modules/areadlinkat (Files): Add lib/at-func.c.
11047         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
11048         openat-die, openat-h, save-cwd.
11049         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
11050         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
11051         openat-die, openat-h, save-cwd, unistd.
11052         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
11053         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
11054         openat-h, save-cwd. Remove fcntl-h, openat.
11055         * modules/fchmodat (Files): Remove lib/openat.h.
11056         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
11057         openat, stdbool, unistd.
11058         * modules/fchownat (Files): Remove lib/openat.h.
11059         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
11060         openat, stdbool, sys_stat.
11061         * modules/fdopendir (Files): Remove lib/openat-priv.h,
11062         lib/openat-proc.c.
11063         (Depends-on): Add at-internal.
11064         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
11065         * modules/fstatat (Files): Remove lib/openat.h.
11066         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
11067         stdbool, unistd.
11068         * modules/fts (Depends-on): Add openat-h.
11069         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
11070         openat.
11071         * modules/mkdirat (Files): Remove lib/openat.h.
11072         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
11073         openat, stdbool, sys_stat.
11074         * modules/mkfifoat (Files): Add lib/at-func.c.
11075         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
11076         openat-h, save-cwd. Remove fcntl-h, openat.
11077         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
11078         * modules/readlinkat (Files): Add lib/at-func.c.
11079         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
11080         openat-h, save-cwd. Remove fcntl-h, openat.
11081         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
11082         openat.
11083         * modules/selinux-at (Files): Add lib/at-func.c.
11084         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
11085         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
11086         * modules/symlinkat (Files): Add lib/at-func.c.
11087         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
11088         openat-h, save-cwd. Remove fcntl-h, openat.
11089         * modules/unlinkat (Files): Remove lib/openat.h.
11090         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
11091         stdbool.
11092         * modules/utimensat (Files): Add lib/at-func.c.
11093         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
11094         openat-die, openat-h, save-cwd.
11095         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
11096         * modules/fdutimensat-tests (Depends-on): Add openat.
11097         * modules/fstatat-tests (Depends-on): Add openat-h.
11098         * modules/readlinkat-tests (Depends-on): Add openat.
11099         * modules/symlinkat-tests (Depends-on): Add openat.
11100
11101 2011-11-05  Bruno Haible  <bruno@clisp.org>
11102
11103         openat: Include <stdbool.h>.
11104         * lib/openat.c: Include <stdbool.h>.
11105
11106 2011-11-04  Bruno Haible  <bruno@clisp.org>
11107
11108         fchownat, renameat, unlinkat: Fix dependencies.
11109         * modules/fchownat (Depends-on): Add fstatat.
11110         * modules/renameat (Depends-on): Likewise.
11111         * modules/unlinkat (Depends-on): Likewise.
11112
11113 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
11114
11115         openat: remove direct dependency on dirent
11116         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
11117         and hasn't been needed ever since fdopendir was split into its own
11118         module on 2009-08-31.
11119         * modules/openat (Depends-on): Remove dirent.
11120
11121 2011-11-04  Bruno Haible  <bruno@clisp.org>
11122
11123         renameat: Optimize code size.
11124         * modules/renameat (configure.ac): Don't compile at-func2.c if
11125         REPLACE_RENAMEAT is 1.
11126
11127 2011-11-04  Bruno Haible  <bruno@clisp.org>
11128
11129         openat tests: Fix file list.
11130         * modules/openat-tests (Files): Add tests/test-open.h.
11131
11132 2011-11-04  Bruno Haible  <bruno@clisp.org>
11133
11134         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
11135         * modules/fchmodat (Depends-on): Add openat-die.
11136         * modules/fchownat (Depends-on): Likewise.
11137         * modules/linkat (Depends-on): Likewise.
11138         * modules/renameat (Depends-on): Likewise.
11139         * modules/openat (Depends-on): Add dirent.
11140
11141 2011-11-04  Jim Meyering  <meyering@redhat.com>
11142
11143         at-func*.c: fix comments
11144         * lib/at-func2.c: Correct/improve first-line comment.
11145         * lib/at-func.c: Correct grammar in first-line comment.
11146
11147 2011-11-04  Bruno Haible  <bruno@clisp.org>
11148
11149         New module 'mkdirat', split off from module 'openat'.
11150         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
11151         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
11152         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
11153         * modules/mkdirat: New file, extracted from modules/openat.
11154         * modules/openat (Files): Remove lib/mkdirat.c.
11155         (Depends-on): Remove mkdir.
11156         (configure.ac): Remove AC_LIBOBJ of mkdirat.
11157         (Include): Remove <sys/stat.h>.
11158         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
11159         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
11160         tests/test-mkdir.h.
11161         (Depends-on): Remove ignore-value.
11162         (Makefile.am): Remove rules for test-mkdirat.
11163         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
11164         of module 'openat'.
11165         * NEWS: Mention the change.
11166
11167 2011-11-04  Bruno Haible  <bruno@clisp.org>
11168
11169         closedir: Avoid warning on mingw.
11170         * lib/closedir.c: Include <unistd.h>.
11171
11172 2011-11-04  Bruno Haible  <bruno@clisp.org>
11173
11174         New module 'fstatat', split off from module 'openat'.
11175         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
11176         defined.
11177         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
11178         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
11179         gl_FUNC_FSTATAT.
11180         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
11181         * modules/fstatat: New file, extracted from modules/openat.
11182         * modules/openat (Files): Remove lib/fstatat.c.
11183         (Depends-on): Remove lstat.
11184         (configure.ac): Remove AC_LIBOBJ of fstatat.
11185         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
11186         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
11187         tests/test-lstat.h, tests/test-stat.h.
11188         (Depends-on): Remove getcwd-lgpl.
11189         (Makefile.am): Remove rules for test-fstatat.
11190         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
11191         of module 'openat'.
11192         * NEWS: Mention the change.
11193         * modules/getcwd (Depends-on): Add fstatat.
11194         * modules/linkat (Depends-on): Likewise.
11195         * modules/mkfifoat-tests (Depends-on): Likewise.
11196         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
11197
11198 2011-11-03  Bruno Haible  <bruno@clisp.org>
11199
11200         New module 'unlinkat', split off from module 'openat'.
11201         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
11202         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
11203         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
11204         * modules/unlinkat: New file, extracted from modules/openat. Correct
11205         the dependency conditions.
11206         * modules/openat (Files): Remove lib/unlinkat.c.
11207         (Depends-on): Remove rmdir, unlink.
11208         (configure.ac): Remove AC_LIBOBJ of unlinkat.
11209         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
11210         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
11211         tests/test-rmdir.h, tests/test-unlink.h.
11212         (Depends-on): Remove unlinkdir.
11213         (Makefile.am): Remove rules for test-unlinkat.
11214         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
11215         of module 'openat'.
11216         * NEWS: Mention the change.
11217         * modules/linkat-tests (Depends-on): Add unlinkat.
11218         * modules/mkfifoat-tests (Depends-on): Likewise.
11219         * modules/readlinkat-tests (Depends-on): Likewise.
11220
11221 2011-11-02  Bruno Haible  <bruno@clisp.org>
11222
11223         New module 'fchmodat', split off from module 'openat'.
11224         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
11225         defined.
11226         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
11227         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
11228         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
11229         * modules/fchmodat: New file, extracted from modules/openat.
11230         * modules/openat (Files): Remove lib/fchmodat.c.
11231         (configure.ac): Remove AC_LIBOBJ of fchmodat.
11232         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
11233         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
11234         (Makefile.am): Remove rules for test-fchmodat.
11235         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
11236         of module 'openat'.
11237         * NEWS: Mention the change.
11238
11239 2011-11-02  Jim Meyering  <meyering@redhat.com>
11240
11241         putenv: indent #definition of "environ" to placate cppi
11242         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
11243
11244         gitlog-to-changelog: provide a ChangeLog-repair mechanism
11245         Git logs are often treated as immutable, because editing them
11246         changes the SHA1 checksums of all descendants.  Thus, errors in
11247         git logs tend to stay there forever.  However, when we generate
11248         a ChangeLog file -- typically for distribution -- from that git log,
11249         we can actually make corrections in the generated file.  The key
11250         lies in recording in machine-readable/applicable form the desired
11251         corrections.  See --help for description and an example.
11252         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
11253         (usage): Describe it; alphabetize option descriptions.
11254         (main): Honor the new option, carefully.
11255
11256 2011-11-01  Jim Meyering  <meyering@redhat.com>
11257
11258         gitlog-to-changelog: avoid an infloop
11259         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
11260         that ends up being empty.
11261
11262 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
11263
11264         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
11265         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
11266         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
11267         contains (possibly-quoted) backslashes.  This should avoid
11268         all-too-common shell bugs if COMPLICATED contains backslashes in
11269         the "wrong" places.  Reported by David Evans in
11270         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
11271         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
11272         because we want ASCII ranges.  Is there some reason we don't use
11273         the C locale everywhere in this script?
11274         (func_module, top level): Avoid unwanted pathname expansion when
11275         $repo_url_prefix or $repo_url_suffix_repl contain shell
11276         metacharacters like '?' and '*'.
11277
11278 2011-11-01  Bruno Haible  <bruno@clisp.org>
11279
11280         fchownat: Improve description.
11281         * modules/fchownat (Description): Add link to function.
11282
11283 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
11284
11285         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
11286         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
11287         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
11288         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
11289
11290 2011-11-01  Bruno Haible  <bruno@clisp.org>
11291
11292         alignof: Avoid collision with stdalign module.
11293         * lib/alignof.h (alignof): Remove macro.
11294         * NEWS: Mention the change.
11295         Reported by Paul Eggert.
11296
11297 2011-11-01  Bruno Haible  <bruno@clisp.org>
11298
11299         New module 'fchownat', split off from module 'openat'.
11300         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
11301         defined.
11302         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
11303         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
11304         invoke gl_FUNC_FCHOWNAT.
11305         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
11306         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
11307         * modules/fchownat: New file, extracted from modules/openat.
11308         * modules/openat (Files): Remove lib/fchownat.c.
11309         (Depends-on): Remove lchown.
11310         (configure.ac): Remove AC_LIBOBJ of fchownat.
11311         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
11312         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
11313         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
11314         (Depends-on): Remove mgetgroups, usleep, stat-time.
11315         (configure.ac): Remove test for getegid.
11316         (Makefile.am): Remove rules for test-fchownat.
11317         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
11318         of module 'openat'.
11319         * NEWS: Mention the change.
11320
11321 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
11322
11323         stdalign: port better to MSVC and to Sun C 5.11
11324         This fixes some of the problems reported by Bruno Haible in
11325         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
11326         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
11327         shortcomings of MSVC and of Sun C 5.11.
11328         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
11329         around __declspec arg.
11330         * modules/stdalign-tests (Files): Add tests/macros.h.
11331         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
11332         Include macros.h, for ASSERT.
11333         (DECLARE_ALIGNED): Remove.
11334         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
11335         to catch bug), and to 1 if not (simplifies the rest of the code).
11336         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
11337         (CHECK_AUTO): Remove.
11338         (CHECK_ALIGNED): Check only the alignment of the static vars,
11339         since auto var alignment isn't supported by Sun C 5.11.
11340         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
11341         ASSERT failures are easier to diagnose.
11342
11343 2011-10-31  Bruno Haible  <bruno@clisp.org>
11344
11345         doc about some IRIX 5.3 problems.
11346         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
11347         on IRIX 5.3.
11348         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
11349         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
11350         5.3.
11351         * doc/posix-functions/grantpt.texi: Likewise.
11352         * doc/posix-functions/unlockpt.texi: Likewise.
11353         * doc/posix-functions/lgamma.texi: Likewise.
11354         * doc/posix-functions/nextafter.texi: Likewise.
11355         * doc/posix-functions/remainder.texi: Likewise.
11356         * doc/posix-functions/select.texi: Mention misplaced declaration on
11357         IRIX 5.3.
11358         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11359
11360 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
11361
11362         gitlog-to-changelog: fix git-log invocation.
11363         git-log mishandles date strings before 1970-01-01 UTC, and there is
11364         no use to specify --since=1970-01-01 by default anyway.
11365         * build-aux/gitlog-to-changelog: By default, when no --since option
11366         was given, do not specify explicit --since option to git-log.
11367
11368 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
11369
11370         gitlog-to-changelog: new option --append-dot.
11371         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
11372         first non-blank line of each commit message terminated with a dot.
11373
11374 2011-10-30  Bruno Haible  <bruno@clisp.org>
11375
11376         ffsl, ffsll: Avoid compilation error due to 'restrict'.
11377         * lib/ffsl.h: Include <config.h>.
11378         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
11379
11380 2011-10-30  Jim Meyering  <meyering@redhat.com>
11381
11382         GNUmakefile: reenable "make syntax-check" for most projects
11383         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
11384         build-aux variable", "syntax-check" would do nothing but succeed with
11385         the "No version control files detected..." diagnostic (unless you
11386         happened to override _build-aux via cfg.mk).
11387         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
11388         to precede inclusion of maint.mk.  Otherwise, these variables would
11389         be used undefined in any project that does not override the default.
11390
11391 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
11392
11393         gitlog-to-changelog: treat a message with only blank lines as empty.
11394         * build-aux/gitlog-to-changelog: Move the code that removes leading and
11395         trailing blank lines before the code that issues a warning about an
11396         empty commit message.
11397
11398 2011-10-30  Jim Meyering  <meyering@redhat.com>
11399
11400         test-parse-datetime.c: avoid new DST-related false positive test failure
11401         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
11402         based on the time/date we'll convert, not the current time.
11403         Otherwise, the moment we cross a DST boundary like today's in
11404         Europe, (CEST to CET), that offset ends up being one hour off.
11405
11406 2011-10-27  Bruno Haible  <bruno@clisp.org>
11407
11408         fstat: Tweak documentation.
11409         * modules/fstat (Description): More precise description.
11410
11411 2011-10-27  Bruno Haible  <bruno@clisp.org>
11412
11413         Update documentation regarding 'largefile' module.
11414         * doc/posix-functions/fstat.texi: Tweak wording.
11415         * doc/posix-functions/opendir.texi: Mention that the module fixes the
11416         problems with huge directories and/or small ino_t types.
11417         * doc/posix-functions/readdir.texi: Likewise.
11418         * doc/posix-functions/rewinddir.texi: Likewise.
11419
11420 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
11421
11422         maint.mk: don't maintain a second build-aux variable.
11423         * maint.mk (build_aux): Removed.  The maintainer-makefile module
11424         depends on GNUmakefile, which already maintains a cfg.mk
11425         overridable $(_build-aux) for projects with a non-standard
11426         build-aux directory location, although without the $(srcdir)
11427         prefix.  Use that variable consistently instead of introducing a
11428         second one.  Adjust all call sites.
11429
11430 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
11431
11432         Add stdalign module and use it in other modules.
11433         This is based on a previous proposal by Bruno Haible
11434         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
11435
11436         stdalign: new module
11437         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
11438         * modules/stdalign: New files.
11439         * MODULES.html.sh (c1x_core_properties): Add stdalign.
11440         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
11441
11442         stdalign-tests: new module
11443         * modules/stdalign-tests, tests/test-stdalign.c: New files.
11444
11445         argp: use stdalign
11446         * lib/argp-parse.c: Include <stdalign.h>.
11447         (alignof): Remove.
11448         * modules/argp (Depends-on): Add stdalign.
11449
11450         crypto libraries: use stdalign
11451         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
11452         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
11453         Do not include <stdlib.h> twice, in md4.c.
11454         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
11455         because we are accessing a pointer's bit-pattern, not a size.
11456         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
11457         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
11458         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
11459         * modules/crypto/sha512: Likewise.
11460
11461         sys_socket: use stdalign, not alignof
11462         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
11463         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
11464
11465 2011-10-27  Bruno Haible  <bruno@clisp.org>
11466
11467         raise test: Avoid a test failure on Linux/MIPS.
11468         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
11469         because 99 is a valid signal on Linux/MIPS.
11470
11471 2011-10-27  Bruno Haible  <bruno@clisp.org>
11472
11473         nonblocking tests: Fix test failure on Linux/MIPS.
11474         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
11475         Set to 270000.
11476
11477 2011-10-27  Bruno Haible  <bruno@clisp.org>
11478
11479         utimensat: Work around problem on Linux/hppa.
11480         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
11481         values.
11482         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
11483
11484 2011-10-25  Jim Meyering  <meyering@redhat.com>
11485
11486         maint.mk: fix a bug in sc_prohibit_stddef_without_use
11487         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
11488         after symbols like NULL, size_t, etc.
11489         Reported by Alfred M. Szmidt.
11490
11491         maint.mk: exempt ENODATA from a syntax-check rule
11492         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
11493         from the sc_prohibit_always-defined_macros syntax-check rule.
11494         Add a comment.  See this for more details:
11495         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
11496
11497 2011-10-23  Jim Meyering  <meyering@redhat.com>
11498
11499         fts: close parent dir FD before returning from post-traversal fts_read
11500         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
11501         unlink A, even though an FD open on A remained.  This is suboptimal
11502         (holding a file descriptor open longer than needed), but otherwise not
11503         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
11504         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
11505         that represents a real problem: it causes the removal of A to fail
11506         with e.g., "rm: cannot remove `A': Device or resource busy"
11507
11508         fts visits each directory twice and keeps a cache (fts_fd_ring) of
11509         directory file descriptors.  After completing the final, FTS_DP,
11510         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
11511         cache, but then proceeded to add a new FD to it via the subsequent
11512         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
11513         final file descriptor would be closed only via fts_close's call to
11514         fd_ring_clear.  Now, it is usually closed earlier, via the final
11515         FTS_DP-returning fts_read call.
11516         * lib/fts.c (restore_initial_cwd): New function, converted from
11517         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
11518         Update callers.
11519         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
11520         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
11521
11522 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
11523             Bruno Haible  <bruno@clisp.org>
11524             Jim Meyering  <jim@meyering.net>
11525
11526         readme-release: improve safety of release prep instructions.
11527         * README-release: Don't git pull all branches when only master
11528         is needed for the release process.
11529         Run make maintainer-clean before changing trees and merging.
11530         Don't try to run ./configure right after git pull in case files
11531         that influence the bootstrap process have changed, move the
11532         ./configure step to after running ./bootstrap.
11533         Don't bootstrap "one last time"... it's the first time!
11534
11535 2011-10-22  Bruno Haible  <bruno@clisp.org>
11536
11537         errno, strerror-override: Support for MSVC 10.
11538         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
11539         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
11540         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
11541         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
11542         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
11543         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
11544         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
11545         Assign values compatible with MSVC 10.
11546         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
11547         New macros.
11548         (GNULIB_defined_EWINSOCK): New macro.
11549         * lib/strerror-override.c (strerror_override): Update accordingly.
11550         * lib/strerror-override.h: Likewise.
11551         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
11552         longer equal to the corresponding errno value.
11553         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11554
11555 2011-10-22  Bruno Haible  <bruno@clisp.org>
11556
11557         perror: Recognize when test program crashes.
11558         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
11559         strerror, set gl_cv_func_perror_works to no.
11560         Reported by Daniel Richard G. <skunk@iskunk.org>.
11561
11562         perror: Fix indentation.
11563         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
11564
11565 2011-10-22  Bruno Haible  <bruno@clisp.org>
11566
11567         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
11568         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
11569         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
11570         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
11571         functions, not as a macro.
11572         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
11573         macros.
11574         (isfinite, isinf, isnan, signbit): Check overloaded functions and
11575         absence of macro.
11576         Suggested by Eric Blake.
11577         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11578
11579 2011-10-21  Bruno Haible  <bruno@clisp.org>
11580
11581         relocatable-prog-wrapper: Don't leave object files behind.
11582         * build-aux/install-reloc: Re-synchronize list of .o files to be
11583         removed with list of compilation units.
11584
11585 2011-10-20  Bruno Haible  <bruno@clisp.org>
11586
11587         openpty, posix_openpt: Remove code duplication.
11588         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
11589         * lib/openpty.c: Include <stdlib.h>.
11590         (openpty): Use posix_openpt on all platforms except IRIX.
11591         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
11592
11593 2011-10-20  Bruno Haible  <bruno@clisp.org>
11594
11595         unlockpt: Detect invalid argument.
11596         * lib/unlockpt.c: Include <fcntl.h>.
11597         (unlockpt): Check whether fd is valid, using fcntl().
11598         * modules/unlockpt (Depends-on): Add fcntl-h.
11599
11600 2011-10-20  Bruno Haible  <bruno@clisp.org>
11601
11602         openpty: Avoid compilation error on AIX 6.1.
11603         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
11604
11605 2011-10-20  Bruno Haible  <bruno@clisp.org>
11606
11607         posix_openpt: Support for OpenBSD.
11608         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
11609         (posix_openpt) [OpenBSD]: New code.
11610         * lib/grantpt.c: Include <fcntl.h>.
11611         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
11612         * modules/grantpt (Depends-on): Add fcntl-h.
11613
11614 2011-10-20  Bruno Haible  <bruno@clisp.org>
11615
11616         posix_openpt test: Coding style.
11617         * tests/test-posix_openpt.c: Use GNU coding style.
11618
11619 2011-10-20  Bruno Haible  <bruno@clisp.org>
11620
11621         grantpt: Support --avoid=pt_chown.
11622         * modules/grantpt (Files): Add lib/pty-private.h.
11623
11624 2011-10-20  Bruno Haible  <bruno@clisp.org>
11625
11626         posix_openpt: Fix autoconf macro.
11627         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
11628         unneeded check for _getpty.
11629
11630 2011-10-20  Bruno Haible  <bruno@clisp.org>
11631
11632         openpty: Update comments.
11633         * lib/openpty.c: Add comments about Minix.
11634
11635 2011-10-19  Eric Blake  <eblake@redhat.com>
11636
11637         openpty: relax license
11638         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
11639
11640         pt_chown: use configmake to simplify build
11641         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
11642
11643         ptsname and others: relax license
11644         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
11645         * modules/unlockpt (License): Likewise.
11646         * modules/pt_chown (License): Likewise.
11647         * modules/ptsname (License): Likewise.
11648         * modules/ttyname_r (License): Likewise.
11649
11650 2011-10-19  Jim Meyering  <meyering@redhat.com>
11651
11652         posix_openpt: remove spurious #endif
11653         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
11654
11655 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
11656
11657         maint.mk: Respect $(build_aux) in web-manual rule.
11658         * top/maint.mk (web-manual): Find gen-announce script in user's
11659         $(build_aux) directory instead of hard-coding 'build-aux'.
11660
11661 2011-10-19  Bruno Haible  <bruno@clisp.org>
11662
11663         posix_openpt: Fix compilation error.
11664         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
11665         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
11666         Mention the openpty module as an alternative.
11667
11668 2011-10-19  Bruno Haible  <bruno@clisp.org>
11669
11670         Support for old NeXTstep 3.3 frexp().
11671         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
11672         execution time of the test to 5 seconds.
11673         Reported by Daniel Richard G. <skunk@iskunk.org>.
11674
11675 2011-10-19  Bruno Haible  <bruno@clisp.org>
11676
11677         Support for old NeXTstep 3.3 sed.
11678         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
11679         part, use /.../, not \|...|. Escape periods in the header file name.
11680         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
11681         Reported by Daniel Richard G. <skunk@iskunk.org>.
11682
11683 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11684
11685         Support for old NeXTstep 3.3 gcc.
11686         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
11687         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
11688         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
11689         * lib/spawn.in.h (_Restrict_arr_): Likewise.
11690         * lib/regex.h (_Restrict_arr_): Likewise.
11691         * lib/regex_internal.h (re_token_t): Likewise.
11692         * lib/regexec.c (check_node_accept_bytes): Likewise.
11693         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
11694
11695 2011-10-18  Eric Blake  <eblake@redhat.com>
11696
11697         posix_openpt: new module
11698         * modules/posix_openpt: New module.
11699         * m4/posix_openpt.m4: New file.
11700         * lib/posix_openpt.c: Likewise.
11701         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
11702         (gl_STDLIB_H_DEFAULTS): Set defaults.
11703         * modules/stdlib (Makefile.am): Substitute macros.
11704         * lib/stdlib.in.h (posix_openpt): Declare.
11705         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
11706         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
11707         * modules/posix_openpt-tests: New test module.
11708         * tests/test-posix_openpt.c: New test.
11709
11710 2011-10-15  Bruno Haible  <bruno@clisp.org>
11711
11712         xstrtoll: Fix compilation failure.
11713         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
11714         from lib/strtol.c.
11715         * doc/posix-headers/limits.texi: Mention missing numerical limits on
11716         some platforms.
11717         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11718
11719 2011-10-15  Bruno Haible  <bruno@clisp.org>
11720
11721         vasnprintf: Optimize bit search operation.
11722         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
11723         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
11724         gl_DOUBLE_EXPONENT_LOCATION.
11725         * modules/vasnprintf (Files): Add m4/exponentd.m4.
11726         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11727         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11728         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11729         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11730         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11731         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11732         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11733         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
11734
11735 2011-10-15  Bruno Haible  <bruno@clisp.org>
11736
11737         vasnprintf: Fix comments.
11738         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
11739
11740 2011-10-14  Bruno Haible  <bruno@clisp.org>
11741
11742         Tests for module 'integer_length_ll'.
11743         * modules/integer_length_ll-tests: New file.
11744         * tests/test-integer_length_ll.c: New file.
11745
11746         New module 'integer_length_ll'.
11747         * lib/integer_length_ll.c: New file.
11748         * modules/integer_length_ll: New file.
11749
11750 2011-10-14  Bruno Haible  <bruno@clisp.org>
11751
11752         Tests for module 'integer_length_l'.
11753         * modules/integer_length_l-tests: New file.
11754         * tests/test-integer_length_l.c: New file.
11755
11756         New module 'integer_length_l'.
11757         * lib/integer_length_l.c: New file.
11758         * modules/integer_length_l: New file.
11759
11760 2011-10-14  Bruno Haible  <bruno@clisp.org>
11761
11762         Tests for module 'integer_length'.
11763         * modules/integer_length-tests: New file.
11764         * tests/test-integer_length.c: New file.
11765
11766         New module 'integer_length'.
11767         * lib/integer_length.h: New file.
11768         * lib/integer_length.c: New file.
11769         * modules/integer_length: New file.
11770
11771 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11772
11773         popen: Fix dependency conditions.
11774         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
11775
11776 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11777
11778         perror: Fix autoconf test.
11779         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
11780         <stdlib.h> and <string.h>.
11781
11782 2011-10-14  Bruno Haible  <bruno@clisp.org>
11783
11784         ffsl: Optimize on 64-bit platforms.
11785         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
11786         unrolling.
11787
11788 2011-10-13  Bruno Haible  <bruno@clisp.org>
11789
11790         ffsl: Optimize on 32-bit platforms.
11791         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
11792         use ffs() without a loop.
11793
11794         ffsl, ffsll: Optimize for GCC.
11795         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
11796         * lib/ffsl.c (GCC_BUILTIN): New macro.
11797         * lib/ffsll.c (GCC_BUILTIN): Likewise.
11798
11799 2011-10-13  Bruno Haible  <bruno@clisp.org>
11800
11801         ffs, bcopy, memset: Support symbol renaming via config.h.
11802         * lib/ffs.c: Include <config.h>.
11803         * lib/bcopy.c: Likewise.
11804         * lib/memset.c: Likewise.
11805
11806 2011-10-10  Bruno Haible  <bruno@clisp.org>
11807
11808         atanl: Simplify for platforms where 'long double' == 'double'.
11809         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11810         alternative implementation.
11811         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11812         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11813         * modules/atanl (Depends-on): Add atan. Update conditions.
11814
11815 2011-10-10  Bruno Haible  <bruno@clisp.org>
11816
11817         acosl: Simplify for platforms where 'long double' == 'double'.
11818         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11819         alternative implementation.
11820         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11821         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11822         * modules/acosl (Depends-on): Add acos. Update conditions.
11823
11824 2011-10-10  Bruno Haible  <bruno@clisp.org>
11825
11826         asinl: Simplify for platforms where 'long double' == 'double'.
11827         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11828         alternative implementation.
11829         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11830         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11831         * modules/asinl (Depends-on): Add asin. Update conditions.
11832
11833 2011-10-10  Bruno Haible  <bruno@clisp.org>
11834
11835         tanl: Simplify for platforms where 'long double' == 'double'.
11836         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11837         implementation.
11838         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11839         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11840         * modules/tanl (Depends-on): Add tan. Update conditions.
11841         (configure.ac): Don't compile trigl.c if
11842         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11843
11844 2011-10-10  Bruno Haible  <bruno@clisp.org>
11845
11846         cosl: Simplify for platforms where 'long double' == 'double'.
11847         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11848         implementation.
11849         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11850         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11851         * modules/cosl (Depends-on): Add cos. Update conditions.
11852         (configure.ac): Don't compile sincosl.c and trigl.c if
11853         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11854
11855 2011-10-10  Bruno Haible  <bruno@clisp.org>
11856
11857         sinl: Simplify for platforms where 'long double' == 'double'.
11858         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11859         implementation.
11860         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11861         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11862         * modules/sinl (Depends-on): Add sin. Update conditions.
11863         (configure.ac): Don't compile sincosl.c and trigl.c if
11864         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11865
11866 2011-10-10  Bruno Haible  <bruno@clisp.org>
11867
11868         logl: Simplify for platforms where 'long double' == 'double'.
11869         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11870         implementation.
11871         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11872         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11873         * modules/logl (Depends-on): Add log. Update conditions.
11874
11875 2011-10-10  Bruno Haible  <bruno@clisp.org>
11876
11877         expl: Simplify for platforms where 'long double' == 'double'.
11878         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11879         implementation.
11880         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11881         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11882         * modules/expl (Depends-on): Add exp. Update conditions.
11883
11884 2011-10-10  Bruno Haible  <bruno@clisp.org>
11885
11886         sqrtl: Simplify for platforms where 'long double' == 'double'.
11887         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11888         alternative implementation.
11889         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11890         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11891         * modules/sqrtl (Depends-on): Update conditions.
11892
11893 2011-10-10  Bruno Haible  <bruno@clisp.org>
11894
11895         ldexpl: Simplify for platforms where 'long double' == 'double'.
11896         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11897         alternative implementation.
11898         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11899         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11900         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
11901
11902 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
11903
11904         ffsll: set correct witness
11905         * modules/ffsll (configure.ac): Fix typo.
11906
11907 2011-10-10  Bruno Haible  <bruno@clisp.org>
11908
11909         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
11910         * lib/printf-frexpl.c: Include <config.h>.
11911         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11912         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
11913         second time.
11914         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
11915         gl_LONG_DOUBLE_VS_DOUBLE.
11916         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
11917         conditions.
11918
11919 2011-10-10  Bruno Haible  <bruno@clisp.org>
11920
11921         frexpl: Simplify for platforms where 'long double' == 'double'.
11922         * lib/frexpl.c: Include <config.h>.
11923         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11924         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11925         time.
11926         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11927         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11928         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
11929         * modules/frexpl (Depends-on): Add frexp. Update conditions.
11930         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
11931         conditions.
11932
11933 2011-10-10  Jim Meyering  <meyering@redhat.com>
11934
11935         test-renameat: don't leave behind a temporary file
11936         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
11937           ERROR: files left in build directory after distclean:
11938           ./gltests/test-renameat.too
11939           make[1]: *** [distcleancheck] Error 1
11940         Reported by Tom G. Christensen.
11941
11942 2011-10-09  Bruno Haible  <bruno@clisp.org>
11943
11944         rint: Determine RINT_LIBM correctly on AIX 7.
11945         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
11946         directly, not only through a function pointer. Also accept an optional
11947         4th argument with extra code.
11948         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
11949         rintf() call by gcc when optimizing.
11950
11951         mathfunc.m4: Refactor.
11952         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
11953         m4 variable.
11954
11955 2011-10-09  Bruno Haible  <bruno@clisp.org>
11956
11957         rintl: Simplify for platforms where 'long double' == 'double'.
11958         * lib/rintl.c: Include <config.h>.
11959         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11960         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11961         time.
11962         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11963         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11964         * modules/rintl (Depends-on): Add rint. Update conditions.
11965
11966 2011-10-09  Bruno Haible  <bruno@clisp.org>
11967
11968         roundl: Simplify for platforms where 'long double' == 'double'.
11969         * lib/roundl.c: Include <config.h>.
11970         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11971         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11972         time.
11973         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11974         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11975         * modules/roundl (Depends-on): Add round. Update conditions.
11976
11977 2011-10-09  Bruno Haible  <bruno@clisp.org>
11978
11979         truncl: Simplify for platforms where 'long double' == 'double'.
11980         * lib/truncl.c: Include <config.h>.
11981         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11982         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11983         time.
11984         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11985         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11986         * modules/truncl (Depends-on): Add trunc. Update conditions.
11987
11988 2011-10-09  Bruno Haible  <bruno@clisp.org>
11989
11990         ceill: Simplify for platforms where 'long double' == 'double'.
11991         * lib/ceill.c: Include <config.h>.
11992         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11993         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11994         time.
11995         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11996         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11997         * modules/ceill (Depends-on): Add ceil. Update conditions.
11998
11999 2011-10-09  Bruno Haible  <bruno@clisp.org>
12000
12001         floorl: Simplify for platforms where 'long double' == 'double'.
12002         * lib/floorl.c: Include <config.h>.
12003         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
12004         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
12005         time.
12006         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12007         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12008         * modules/floorl (Depends-on): Add floor. Update conditions.
12009
12010 2011-10-09  Bruno Haible  <bruno@clisp.org>
12011
12012         rint: Fix ordering constraints.
12013         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
12014         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
12015         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
12016
12017 2011-10-09  Bruno Haible  <bruno@clisp.org>
12018
12019         copysignl: Simplify for platforms where 'long double' == 'double'.
12020         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
12021         alternative.
12022         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12023         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
12024         * modules/copysignl (Depends-on): Add copysign. Update conditions.
12025
12026 2011-10-09  Bruno Haible  <bruno@clisp.org>
12027
12028         Tests for module 'rintl'.
12029         * modules/rintl-tests: New file.
12030         * tests/test-rintl.c: New file.
12031
12032         New module 'rintl'.
12033         * lib/math.in.h (rintl): New declaration.
12034         * lib/rintl.c: New file.
12035         * m4/rintl.m4: New file.
12036         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
12037         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
12038         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
12039         * modules/rintl: New file.
12040         * tests/test-math-c++.cc: Check the declaration of rintl.
12041         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
12042         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
12043         * doc/posix-functions/rintl.texi: Mention the new module.
12044
12045 2011-10-09  Bruno Haible  <bruno@clisp.org>
12046
12047         Tests for module 'rintf'.
12048         * modules/rintf-tests: New file.
12049         * tests/test-rintf.c: New file.
12050
12051         New module 'rintf'.
12052         * lib/math.in.h (rintf): New declaration.
12053         * lib/rintf.c: New file.
12054         * m4/rintf.m4: New file.
12055         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
12056         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
12057         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
12058         * modules/rintf: New file.
12059         * tests/test-math-c++.cc: Check the declaration of rintf.
12060         * doc/posix-functions/rintf.texi: Mention the new module.
12061
12062 2011-10-09  Bruno Haible  <bruno@clisp.org>
12063
12064         rint: Support for MSVC.
12065         * lib/math.in.h (rint): New declaration.
12066         * lib/rint.c: New file.
12067         * m4/rint.m4: New file.
12068         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
12069         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
12070         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
12071         * modules/rint (Description): Fix.
12072         (Files): Add lib/rint.c, m4/rint.m4.
12073         (Depends-on): Add math.
12074         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
12075         gl_MATH_MODULE_INDICATOR.
12076         * tests/test-math-c++.cc: Check the declaration of rint.
12077         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
12078         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
12079         * doc/posix-functions/rint.texi: Mention the replacement provided by
12080         the module.
12081
12082         rint tests: More tests.
12083         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
12084         minus-zero.h, infinity.h, nan.h.
12085         (main): Skip the test if the current rounding mode is not standard. Add
12086         tests for negative numbers, minus zero, infinity, NaN.
12087         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
12088         tests/nan.h.
12089         (Depends-on): Add isnand-nolibm.
12090
12091 2011-10-09  Bruno Haible  <bruno@clisp.org>
12092
12093         Tests for module 'copysignl'.
12094         * modules/copysignl-tests: New file.
12095         * tests/test-copysignl.c: New file.
12096
12097         New module 'copysignl'.
12098         * lib/math.in.h (copysignl): New declaration.
12099         * lib/copysignl.c: New file.
12100         * m4/copysignl.m4: New file.
12101         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
12102         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
12103         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
12104         HAVE_COPYSIGNL.
12105         * modules/copysignl: New file.
12106         * tests/test-math-c++.cc: Check the declaration of copysignl.
12107         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
12108         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
12109         * doc/posix-functions/copysignl.texi: Mention the new module.
12110
12111 2011-10-09  Bruno Haible  <bruno@clisp.org>
12112
12113         Tests for module 'copysignf'.
12114         * modules/copysignf-tests: New file.
12115         * tests/test-copysignf.c: New file.
12116
12117         New module 'copysignf'.
12118         * lib/math.in.h (copysignf): New declaration.
12119         * lib/copysignf.c: New file.
12120         * m4/copysignf.m4: New file.
12121         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
12122         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
12123         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
12124         HAVE_COPYSIGNF.
12125         * modules/copysignf: New file.
12126         * tests/test-math-c++.cc: Check the declaration of copysignf.
12127         * doc/posix-functions/copysignf.texi: Mention the new module.
12128
12129 2011-10-09  Bruno Haible  <bruno@clisp.org>
12130
12131         Ensure that HAVE_* variables are set to 1 before they are set to 0.
12132         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
12133         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
12134         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
12135         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
12136         gl_SIGNAL_H_DEFAULTS.
12137
12138 2011-10-09  Bruno Haible  <bruno@clisp.org>
12139
12140         poll: Make macro safer.
12141         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
12142         ac_cv_header_poll_h is not set.
12143
12144 2011-10-09  Bruno Haible  <bruno@clisp.org>
12145
12146         copysign: Provide replacement.
12147         * lib/math.in.h (copysign): New declaration.
12148         * lib/copysign.c: New file.
12149         * m4/copysign.m4: New file.
12150         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
12151         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
12152         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
12153         HAVE_COPYSIGN.
12154         * modules/copysign (Description): Clarify.
12155         (Files): Add lib/copysign.c, m4/copysign.m4.
12156         (Depends-on): Add math, signbit.
12157         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
12158         gl_MATH_MODULE_INDICATOR.
12159         * tests/test-math-c++.cc: Check the declaration of copysign.
12160         * doc/posix-functions/copysign.texi: Mention the effects of the module
12161         on Minix and MSVC.
12162
12163 2011-10-09  Bruno Haible  <bruno@clisp.org>
12164
12165         isinf: Ensure macro on AIX 5.1.
12166         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
12167         macro.
12168         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
12169
12170 2011-10-09  Bruno Haible  <bruno@clisp.org>
12171
12172         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
12173         * modules/snprintf-posix-tests (configure.ac): Require
12174         gl_LONG_DOUBLE_VS_DOUBLE.
12175         * modules/sprintf-posix-tests (configure.ac): Likewise.
12176         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
12177         * modules/vasprintf-posix-tests (configure.ac): Likewise.
12178         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
12179         * modules/vsprintf-posix-tests (configure.ac): Likewise.
12180         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
12181         tests on platforms where 'long double' is the same as 'double'.
12182         * tests/test-sprintf-posix.h (test_function): Likewise.
12183         * tests/test-vasnprintf-posix.c (test_function): Likewise.
12184         * tests/test-vasprintf-posix.c (test_function): Likewise.
12185
12186         *printf: Fix for platforms where 'long double' == 'double'.
12187         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
12188         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
12189         * modules/dprintf-posix (Files): Add m4/math_h.m4.
12190         * modules/fprintf-posix (Files): Likewise.
12191         * modules/obstack-printf-posix (Files): Likewise.
12192         * modules/snprintf-posix (Files): Likewise.
12193         * modules/sprintf-posix (Files): Likewise.
12194         * modules/vasnprintf (Files): Likewise.
12195         * modules/vasnprintf-posix (Files): Likewise.
12196         * modules/vasprintf-posix (Files): Likewise.
12197         * modules/vdprintf-posix (Files): Likewise.
12198         * modules/vfprintf-posix (Files): Likewise.
12199         * modules/vsnprintf-posix (Files): Likewise.
12200         * modules/vsprintf-posix (Files): Likewise.
12201         * modules/unistdio/u8-vasnprintf (Files): Likewise.
12202         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
12203         * modules/unistdio/u16-vasnprintf (Files): Likewise.
12204         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
12205         * modules/unistdio/u32-vasnprintf (Files): Likewise.
12206         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
12207         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
12208
12209         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
12210         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
12211         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
12212         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
12213         'long double'.
12214         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
12215
12216         isinf: Fix for platforms where 'long double' == 'double'.
12217         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
12218         Don't blindly assume 80-bit 'long double'.
12219
12220         isfinite: Fix for platforms where 'long double' == 'double'.
12221         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
12222         Don't blindly assume 80-bit 'long double'.
12223
12224         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
12225         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
12226         * modules/isfinite-tests (configure.ac): Require
12227         gl_LONG_DOUBLE_VS_DOUBLE.
12228         * modules/isinf-tests (configure.ac): Likewise.
12229         * modules/isnan-tests (configure.ac): Likewise.
12230         * modules/isnanl-tests (configure.ac): Likewise.
12231         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
12232         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
12233         tests on platforms where 'long double' is the same as 'double'.
12234         * tests/test-isinf.c (test_isinfl): Likewise.
12235         * tests/test-isnan.c (test_long_double): Likewise.
12236         * tests/test-isnanl.h (main): Likewise.
12237
12238 2011-10-08  Bruno Haible  <bruno@clisp.org>
12239
12240         Tests for module 'tanhf'.
12241         * modules/tanhf-tests: New file.
12242         * tests/test-tanhf.c: New file.
12243
12244         New module 'tanhf'.
12245         * lib/math.in.h (tanhf): New declaration.
12246         * lib/tanhf.c: New file.
12247         * m4/tanhf.m4: New file.
12248         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
12249         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
12250         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
12251         * modules/tanhf: New file.
12252         * tests/test-math-c++.cc: Check the declaration of tanhf.
12253         * doc/posix-functions/tanhf.texi: Mention the new module.
12254
12255         tanh: Use a .m4 file.
12256         * m4/tanh.m4: New file.
12257         * modules/tanh (Files): Add it.
12258         (configure.ac): Just invoke gl_FUNC_TANH.
12259
12260 2011-10-08  Bruno Haible  <bruno@clisp.org>
12261
12262         Tests for module 'coshf'.
12263         * modules/coshf-tests: New file.
12264         * tests/test-coshf.c: New file.
12265
12266         New module 'coshf'.
12267         * lib/math.in.h (coshf): New declaration.
12268         * lib/coshf.c: New file.
12269         * m4/coshf.m4: New file.
12270         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
12271         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
12272         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
12273         * modules/coshf: New file.
12274         * tests/test-math-c++.cc: Check the declaration of coshf.
12275         * doc/posix-functions/coshf.texi: Mention the new module.
12276
12277         cosh: Use a .m4 file.
12278         * m4/cosh.m4: New file.
12279         * modules/cosh (Files): Add it.
12280         (configure.ac): Just invoke gl_FUNC_COSH.
12281
12282 2011-10-08  Bruno Haible  <bruno@clisp.org>
12283
12284         Tests for module 'sinhf'.
12285         * modules/sinhf-tests: New file.
12286         * tests/test-sinhf.c: New file.
12287
12288         New module 'sinhf'.
12289         * lib/math.in.h (sinhf): New declaration.
12290         * lib/sinhf.c: New file.
12291         * m4/sinhf.m4: New file.
12292         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
12293         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
12294         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
12295         * modules/sinhf: New file.
12296         * tests/test-math-c++.cc: Check the declaration of sinhf.
12297         * doc/posix-functions/sinhf.texi: Mention the new module.
12298
12299         sinh: Use a .m4 file.
12300         * m4/sinh.m4: New file.
12301         * modules/sinh (Files): Add it.
12302         (configure.ac): Just invoke gl_FUNC_SINH.
12303
12304 2011-10-08  Bruno Haible  <bruno@clisp.org>
12305
12306         Tests for module 'atan2f'.
12307         * modules/atan2f-tests: New file.
12308         * tests/test-atan2f.c: New file.
12309
12310         New module 'atan2f'.
12311         * lib/math.in.h (atan2f): New declaration.
12312         * lib/atan2f.c: New file.
12313         * m4/atan2f.m4: New file.
12314         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
12315         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
12316         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
12317         * modules/atan2f: New file.
12318         * tests/test-math-c++.cc: Check the declaration of atan2f.
12319         * doc/posix-functions/atan2f.texi: Mention the new module.
12320
12321         atan2: Use a .m4 file.
12322         * m4/atan2.m4: New file.
12323         * modules/atan2 (Files): Add it.
12324         (configure.ac): Just invoke gl_FUNC_ATAN2.
12325
12326 2011-10-08  Bruno Haible  <bruno@clisp.org>
12327
12328         Tests for module 'atanf'.
12329         * modules/atanf-tests: New file.
12330         * tests/test-atanf.c: New file.
12331
12332         New module 'atanf'.
12333         * lib/math.in.h (atanf): New declaration.
12334         * lib/atanf.c: New file.
12335         * m4/atanf.m4: New file.
12336         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
12337         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
12338         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
12339         * modules/atanf: New file.
12340         * tests/test-math-c++.cc: Check the declaration of atanf.
12341         * doc/posix-functions/atanf.texi: Mention the new module.
12342
12343         atan: Use a .m4 file.
12344         * m4/atan.m4: New file.
12345         * modules/atan (Files): Add it.
12346         (configure.ac): Just invoke gl_FUNC_ATAN.
12347
12348 2011-10-08  Bruno Haible  <bruno@clisp.org>
12349
12350         Tests for module 'acosf'.
12351         * modules/acosf-tests: New file.
12352         * tests/test-acosf.c: New file.
12353
12354         New module 'acosf'.
12355         * lib/math.in.h (acosf): New declaration.
12356         * lib/acosf.c: New file.
12357         * m4/acosf.m4: New file.
12358         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
12359         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
12360         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
12361         * modules/acosf: New file.
12362         * tests/test-math-c++.cc: Check the declaration of acosf.
12363         * doc/posix-functions/acosf.texi: Mention the new module.
12364
12365         acos: Use a .m4 file.
12366         * m4/acos.m4: New file.
12367         * modules/acos (Files): Add it.
12368         (configure.ac): Just invoke gl_FUNC_ACOS.
12369
12370 2011-10-08  Bruno Haible  <bruno@clisp.org>
12371
12372         Tests for module 'asinf'.
12373         * modules/asinf-tests: New file.
12374         * tests/test-asinf.c: New file.
12375
12376         New module 'asinf'.
12377         * lib/math.in.h (asinf): New declaration.
12378         * lib/asinf.c: New file.
12379         * m4/asinf.m4: New file.
12380         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
12381         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
12382         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
12383         * modules/asinf: New file.
12384         * tests/test-math-c++.cc: Check the declaration of asinf.
12385         * doc/posix-functions/asinf.texi: Mention the new module.
12386
12387         asin: Use a .m4 file.
12388         * m4/asin.m4: New file.
12389         * modules/asin (Files): Add it.
12390         (configure.ac): Just invoke gl_FUNC_ASIN.
12391
12392 2011-10-08  Bruno Haible  <bruno@clisp.org>
12393
12394         Tests for module 'tanf'.
12395         * modules/tanf-tests: New file.
12396         * tests/test-tanf.c: New file.
12397
12398         New module 'tanf'.
12399         * lib/math.in.h (tanf): New declaration.
12400         * lib/tanf.c: New file.
12401         * m4/tanf.m4: New file.
12402         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
12403         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
12404         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
12405         * modules/tanf: New file.
12406         * tests/test-math-c++.cc: Check the declaration of tanf.
12407         * doc/posix-functions/tanf.texi: Mention the new module.
12408
12409         tan: Use a .m4 file.
12410         * m4/tan.m4: New file.
12411         * modules/tan (Files): Add it.
12412         (configure.ac): Just invoke gl_FUNC_TAN.
12413
12414 2011-10-08  Bruno Haible  <bruno@clisp.org>
12415
12416         Tests for module 'cosf'.
12417         * modules/cosf-tests: New file.
12418         * tests/test-cosf.c: New file.
12419
12420         New module 'cosf'.
12421         * lib/math.in.h (cosf): New declaration.
12422         * lib/cosf.c: New file.
12423         * m4/cosf.m4: New file.
12424         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
12425         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
12426         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
12427         * modules/cosf: New file.
12428         * tests/test-math-c++.cc: Check the declaration of cosf.
12429         * doc/posix-functions/cosf.texi: Mention the new module.
12430
12431         cos: Use a .m4 file.
12432         * m4/cos.m4: New file.
12433         * modules/cos (Files): Add it.
12434         (configure.ac): Just invoke gl_FUNC_COS.
12435
12436 2011-10-08  Bruno Haible  <bruno@clisp.org>
12437
12438         Tests for module 'sinf'.
12439         * modules/sinf-tests: New file.
12440         * tests/test-sinf.c: New file.
12441
12442         New module 'sinf'.
12443         * lib/math.in.h (sinf): New declaration.
12444         * lib/sinf.c: New file.
12445         * m4/sinf.m4: New file.
12446         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
12447         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
12448         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
12449         * modules/sinf: New file.
12450         * tests/test-math-c++.cc: Check the declaration of sinf.
12451         * doc/posix-functions/sinf.texi: Mention the new module.
12452
12453         sin: Use a .m4 file.
12454         * m4/sin.m4: New file.
12455         * modules/sin (Files): Add it.
12456         (configure.ac): Just invoke gl_FUNC_SIN.
12457
12458 2011-10-08  Bruno Haible  <bruno@clisp.org>
12459
12460         Tests for module 'powf'.
12461         * modules/powf-tests: New file.
12462         * tests/test-powf.c: New file.
12463
12464         New module 'powf'.
12465         * lib/math.in.h (powf): New declaration.
12466         * lib/powf.c: New file.
12467         * m4/powf.m4: New file.
12468         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
12469         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
12470         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
12471         * modules/powf: New file.
12472         * tests/test-math-c++.cc: Check the declaration of powf.
12473         * doc/posix-functions/powf.texi: Mention the new module.
12474
12475         pow: Use a .m4 file.
12476         * m4/pow.m4: New file.
12477         * modules/pow (Files): Add it.
12478         (configure.ac): Just invoke gl_FUNC_POW.
12479
12480 2011-10-08  Bruno Haible  <bruno@clisp.org>
12481
12482         Tests for module 'log10f'.
12483         * modules/log10f-tests: New file.
12484         * tests/test-log10f.c: New file.
12485
12486         New module 'log10f'.
12487         * lib/math.in.h (log10f): New declaration.
12488         * lib/log10f.c: New file.
12489         * m4/log10f.m4: New file.
12490         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
12491         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
12492         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
12493         * modules/log10f: New file.
12494         * tests/test-math-c++.cc: Check the declaration of log10f.
12495         * doc/posix-functions/log10f.texi: Mention the new module.
12496
12497         log10: Use a .m4 file.
12498         * m4/log10.m4: New file.
12499         * modules/log10 (Files): Add it.
12500         (configure.ac): Just invoke gl_FUNC_LOG10.
12501
12502 2011-10-08  Bruno Haible  <bruno@clisp.org>
12503
12504         Tests for module 'logf'.
12505         * modules/logf-tests: New file.
12506         * tests/test-logf.c: New file.
12507
12508         New module 'logf'.
12509         * lib/math.in.h (logf): New declaration.
12510         * lib/logf.c: New file.
12511         * m4/logf.m4: New file.
12512         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
12513         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
12514         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
12515         * modules/logf: New file.
12516         * tests/test-math-c++.cc: Check the declaration of logf.
12517         * doc/posix-functions/logf.texi: Mention the new module.
12518
12519         log: Use a .m4 file.
12520         * m4/log.m4: New file.
12521         * modules/log (Files): Add it.
12522         (configure.ac): Just invoke gl_FUNC_LOG.
12523
12524 2011-10-08  Bruno Haible  <bruno@clisp.org>
12525
12526         Tests for module 'expf'.
12527         * modules/expf-tests: New file.
12528         * tests/test-expf.c: New file.
12529
12530         New module 'expf'.
12531         * lib/math.in.h (expf): New declaration.
12532         * lib/expf.c: New file.
12533         * m4/expf.m4: New file.
12534         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
12535         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
12536         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
12537         * modules/expf: New file.
12538         * tests/test-math-c++.cc: Check the declaration of expf.
12539         * doc/posix-functions/expf.texi: Mention the new module.
12540
12541         exp: Use a .m4 file.
12542         * m4/exp.m4: New file.
12543         * modules/exp (Files): Add it.
12544         (configure.ac): Just invoke gl_FUNC_EXP.
12545
12546 2011-10-08  Bruno Haible  <bruno@clisp.org>
12547
12548         Tests for module 'sqrtf'.
12549         * modules/sqrtf-tests: New file.
12550         * tests/test-sqrtf.c: New file.
12551
12552         New module 'sqrtf'.
12553         * lib/math.in.h (sqrtf): New declaration.
12554         * lib/sqrtf.c: New file.
12555         * m4/sqrtf.m4: New file.
12556         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
12557         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
12558         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
12559         * modules/sqrtf: New file.
12560         * tests/test-math-c++.cc: Check the declaration of sqrtf.
12561         * doc/posix-functions/sqrtf.texi: Mention the new module.
12562
12563 2011-10-08  Bruno Haible  <bruno@clisp.org>
12564
12565         Tests: Avoid link failures w.r.t. libintl.
12566         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
12567         $(LIBINTL).
12568         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
12569         $(LIBINTL).
12570         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
12571         against $(LIBINTL).
12572         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
12573         $(LIBINTL).
12574         * modules/openat-tests (Makefile.am): Link test-fchmodat against
12575         $(LIBINTL).
12576         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
12577
12578 2011-10-08  Bruno Haible  <bruno@clisp.org>
12579
12580         pow tests: Defeat compiler optimizations.
12581         * tests/test-pow.c (main): Assign arguments to x and y before use.
12582
12583 2011-10-08  Bruno Haible  <bruno@clisp.org>
12584
12585         gnulib-tool: Improve last commit.
12586         * gnulib-tool (func_modules_transitive_closure): Simplify code.
12587         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
12588         ignore dependencies that are not among the modules list.
12589
12590 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
12591
12592         gnulib-tool: don't follow dependencies to avoided modules
12593         This fixes a bug that is related to the previous one.
12594         * gnulib-tool (func_modules_transitive_closure)
12595         (func_emit_autoconf_snippets):
12596         Check whether a dependency is acceptable before using it.
12597         (--extract-dependencies): Report an error if --avoid is also used,
12598         since this combination of options is not yet supported.
12599
12600         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
12601         Problem reported by Peter Dyballa in
12602         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
12603         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
12604         when echoing "$condition".
12605
12606 2011-10-07  Bruno Haible  <bruno@clisp.org>
12607
12608         Fix documentation about math functions on MacOS X.
12609         * doc/posix-functions/exp2.texi: Don't say the function is missing on
12610         MacOS X 10.5.
12611         * doc/posix-functions/fdim.texi: Likewise.
12612         * doc/posix-functions/feclearexcept.texi: Likewise.
12613         * doc/posix-functions/fegetenv.texi: Likewise.
12614         * doc/posix-functions/fegetround.texi: Likewise.
12615         * doc/posix-functions/feholdexcept.texi: Likewise.
12616         * doc/posix-functions/feraiseexcept.texi: Likewise.
12617         * doc/posix-functions/fesetenv.texi: Likewise.
12618         * doc/posix-functions/fesetround.texi: Likewise.
12619         * doc/posix-functions/fetestexcept.texi: Likewise.
12620         * doc/posix-functions/feupdateenv.texi: Likewise.
12621         * doc/posix-functions/fmax.texi: Likewise.
12622         * doc/posix-functions/fmin.texi: Likewise.
12623         * doc/posix-functions/log2.texi: Likewise.
12624         * doc/posix-functions/modff.texi: Likewise.
12625         * doc/posix-functions/nan.texi: Likewise.
12626         * doc/posix-functions/nanf.texi: Likewise.
12627         * doc/posix-functions/nextafterf.texi: Likewise.
12628         * doc/posix-functions/remquo.texi: Likewise.
12629
12630 2011-10-07  Bruno Haible  <bruno@clisp.org>
12631
12632         modff: Drop assumption about library that defines modff.
12633         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
12634         AC_CHECK_FUNCS.
12635         * modules/modff (Files): Add m4/mathfunc.m4.
12636
12637 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
12638
12639         raise tests: Avoid a GCC warning.
12640         * tests/test-raise.c (handler): Use _Noreturn.
12641
12642 2011-10-07  Bruno Haible  <bruno@clisp.org>
12643
12644         Tests for module 'ldexpf'.
12645         * modules/ldexpf-tests: New file.
12646         * tests/test-ldexpf.c: New file.
12647
12648         New module 'ldexpf'.
12649         * lib/math.in.h (ldexpf): New declaration.
12650         * lib/ldexpf.c: New file.
12651         * m4/ldexpf.m4: New file.
12652         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
12653         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
12654         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
12655         * modules/ldexpf: New file.
12656         * tests/test-math-c++.cc: Check the declaration of ldexpf.
12657         * doc/posix-functions/ldexpf.texi: Mention the new module.
12658
12659 2011-10-06  Bruno Haible  <bruno@clisp.org>
12660
12661         frexpf: Work around problems on IRIX and mingw.
12662         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
12663         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
12664         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
12665         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
12666         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
12667         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
12668         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
12669
12670 2011-10-06  Bruno Haible  <bruno@clisp.org>
12671
12672         fabsf: Drop assumption about library that defines fabsf.
12673         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
12674         AC_CHECK_FUNCS.
12675         * modules/fabsf (Files): Add m4/mathfunc.m4.
12676
12677 2011-10-06  Bruno Haible  <bruno@clisp.org>
12678
12679         frexpf: Drop assumption about library that defines frexpf.
12680         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
12681         'int *', 'float *', 'long double *', 'float', 'long double'.
12682         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
12683         AC_CHECK_FUNCS.
12684         * modules/frexpf (Files): Add m4/mathfunc.m4.
12685
12686         Tests for module 'frexpf'.
12687         * modules/frexpf-tests: New file.
12688         * tests/test-frexpf.c: New file.
12689
12690         New module 'frexpf'.
12691         * lib/math.in.h (frexpf): New declaration.
12692         * lib/frexpf.c: New file.
12693         * m4/frexpf.m4: New file.
12694         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
12695         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
12696         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
12697         * modules/frexpf: New file.
12698         * tests/test-math-c++.cc: Check the declaration of frexpf.
12699         * doc/posix-functions/frexpf.texi: Mention the new module.
12700
12701 2011-10-06  Bruno Haible  <bruno@clisp.org>
12702
12703         math: Sort function declarations of math.in.h.
12704         * lib/math.in.h (frexp, logb): Move declarations.
12705
12706 2011-10-05  Bruno Haible  <bruno@clisp.org>
12707
12708         Tests for module 'modff'.
12709         * modules/modff-tests: New file.
12710         * tests/test-modff.c: New file.
12711
12712         New module 'modff'.
12713         * lib/math.in.h (modff): New declaration.
12714         * lib/modff.c: New file.
12715         * m4/modff.m4: New file.
12716         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
12717         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
12718         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
12719         * modules/modff: New file.
12720         * tests/test-math-c++.cc: Check the declaration of modff.
12721         * doc/posix-functions/modff.texi: Mention the new module.
12722
12723         modf tests: Make test sharper.
12724         * tests/test-modf.c (main): Strengthen upper bound.
12725
12726         modf: Use a .m4 file.
12727         * m4/modf.m4: New file.
12728         * modules/modf (Files): Add it.
12729         (configure.ac): Just invoke gl_FUNC_MODF.
12730
12731 2011-10-05  Bruno Haible  <bruno@clisp.org>
12732
12733         Tests for module 'fmodf'.
12734         * modules/fmodf-tests: New file.
12735         * tests/test-fmodf.c: New file.
12736
12737         New module 'fmodf'.
12738         * lib/math.in.h (fmodf): New declaration.
12739         * lib/fmodf.c: New file.
12740         * m4/fmodf.m4: New file.
12741         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
12742         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
12743         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
12744         * modules/fmodf: New file.
12745         * tests/test-math-c++.cc: Check the declaration of fmodf.
12746         * doc/posix-functions/fmodf.texi: Mention the new module.
12747
12748         fmod: Use a .m4 file.
12749         * m4/fmod.m4: New file.
12750         * modules/fmod (Files): Add it.
12751         (configure.ac): Just invoke gl_FUNC_FMOD.
12752
12753 2011-10-05  Bruno Haible  <bruno@clisp.org>
12754
12755         Tests for module 'fabsf'.
12756         * modules/fabsf-tests: New file.
12757         * tests/test-fabsf.c: New file.
12758
12759         New module 'fabsf'.
12760         * lib/math.in.h (fabsf): New declaration.
12761         * lib/fabsf.c: New file.
12762         * m4/fabsf.m4: New file.
12763         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
12764         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
12765         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
12766         * modules/fabsf: New file.
12767         * tests/test-math-c++.cc: Check the declaration of fabsf.
12768         * doc/posix-functions/fabsf.texi: Mention the new module.
12769
12770         fabs: Use a .m4 file.
12771         * m4/fabs.m4: New file.
12772         * modules/fabs (Files): Add it.
12773         (configure.ac): Just invoke gl_FUNC_FABS.
12774
12775 2011-10-05  Jim Meyering  <meyering@redhat.com>
12776
12777         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
12778         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
12779         ls -lL regression introduced in coreutils-8.12, it does so at the
12780         cost of an additional stat call in the common case.  Besides, now
12781         that the kernel change that prompted commit 95f7c57f has been reverted
12782         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
12783         we have no use for commit 95f7c57f, "file-has-acl: use
12784         acl_extended_file_nofollow if available".
12785
12786 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
12787
12788         file-has-acl: revert unintended change in behavior of ls -L
12789         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
12790         derived from...
12791         (file_has_acl): ...code here.  Call it.
12792         This problem was introduced with 2011-07-22 commit 95f7c57f,
12793         "file-has-acl: use acl_extended_file_nofollow if available".
12794         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
12795
12796 2011-10-03  Bruno Haible  <bruno@clisp.org>
12797
12798         poll: Avoid link errors on MSVC.
12799         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
12800         * modules/poll (Depends-on): Add sockets.
12801         (Link): New section.
12802         * NEWS: Mention the change.
12803         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
12804         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
12805         $(LIB_POLL) instead of $(LIBSOCKET).
12806
12807 2011-10-03  Bruno Haible  <bruno@clisp.org>
12808
12809         sys_select tests: Fix link error on MSVC 9.
12810         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
12811         with $(LIB_SELECT) instead of $(LIBSOCKET).
12812
12813 2011-10-03  Bruno Haible  <bruno@clisp.org>
12814
12815         sys_select: Fix compilation error on mingw.
12816         * lib/sys_select.in.h: On native Windows, include <io.h>.
12817
12818 2011-10-03  Bruno Haible  <bruno@clisp.org>
12819
12820         wmemset: Support for MSVC.
12821         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
12822         whether wmemset() exists.
12823
12824 2011-10-03  Bruno Haible  <bruno@clisp.org>
12825
12826         wmemmove: Support for MSVC.
12827         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
12828         whether wmemmove() exists.
12829
12830 2011-10-03  Bruno Haible  <bruno@clisp.org>
12831
12832         wmemcpy: Support for MSVC.
12833         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
12834         whether wmemcpy() exists.
12835
12836 2011-10-03  Bruno Haible  <bruno@clisp.org>
12837
12838         wmemcmp: Support for MSVC.
12839         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
12840         whether wmemcmp() exists.
12841
12842 2011-10-03  Bruno Haible  <bruno@clisp.org>
12843
12844         wmemchr: Support for MSVC.
12845         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
12846         whether wmemchr() exists.
12847
12848 2011-10-03  Bruno Haible  <bruno@clisp.org>
12849
12850         glthread/*, strsignal: Support for MSVC.
12851         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
12852         including <winsock.h> on MSVC 9.
12853         * lib/glthread/lock.h: Likewise.
12854         * lib/glthread/thread.h: Likewise.
12855         * lib/glthread/tls.h: Likewise.
12856         * lib/glthread/yield.h: Likewise.
12857         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
12858         if HAVE_UNISTD_H is false.
12859         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
12860
12861 2011-10-03  Bruno Haible  <bruno@clisp.org>
12862
12863         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
12864         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
12865         Set to 100000.
12866
12867 2011-10-03  Bruno Haible  <bruno@clisp.org>
12868
12869         acl: Fix specification.
12870         * lib/file-has-acl.c (file_has_acl): Fix specification.
12871
12872 2011-10-03  Bruno Haible  <bruno@clisp.org>
12873
12874         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
12875         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
12876         (compute_curr_prefix, shared_library_fullname,
12877         find_shared_library_fullname, get_shared_library_fullname, relocate):
12878         Use it together with PIC && INSTALLDIR.
12879         Reported by <jojelino@gmail.com>
12880         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
12881
12882 2011-10-01  Jim Meyering  <meyering@redhat.com>
12883
12884         maint.mk: adjust a release-related rule not to require use of gzip
12885         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
12886         Instead, check each file in $(DIST_ARCHIVES).  This is better for
12887         projects that build only .tar.xz files.  Also fix an erroneous test.
12888
12889         test-linkat: don't leave behind a temporary file
12890         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
12891         Otherwise, coreutils' "make distcheck" would fail with this:
12892           Only in /c/cu/tests/torture/coreutils/test/\
12893             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
12894           make[2]: *** [my-distcheck] Error 1
12895
12896         float, math: add omitted file
12897         * lib/itold.c: Add file, required for yesterday's float change.
12898
12899 2011-10-01  Bruno Haible  <bruno@clisp.org>
12900
12901         isinf: Fix for OpenBSD/x86.
12902         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
12903         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
12904         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
12905
12906 2011-10-01  Bruno Haible  <bruno@clisp.org>
12907
12908         isfinite: Fix syntax error in configure test.
12909         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
12910
12911         isfinite: Fix typo.
12912         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
12913         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
12914
12915 2011-10-01  Bruno Haible  <bruno@clisp.org>
12916
12917         nonblocking tests: Fix test failure on Linux/IA-64.
12918         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
12919         Set to 270000.
12920
12921 2011-10-01  Bruno Haible  <bruno@clisp.org>
12922
12923         mkfifoat tests: Fix a test failure on mingw.
12924         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
12925         with error ENOSYS.
12926
12927 2011-09-30  Bruno Haible  <bruno@clisp.org>
12928
12929         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
12930         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
12931         'long double'. Set REPLACE_ITOLD.
12932         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
12933         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
12934         * lib/itold.c: New file.
12935         * modules/float (Files): Add lib/itold.c.
12936         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
12937         (Makefile.am): Substitute REPLACE_ITOLD.
12938         * modules/math (Depends-on): Add float.
12939         (Makefile.am): Substitute REPLACE_ITOLD.
12940         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
12941         * doc/posix-headers/math.texi: Likewise.
12942         * doc/posix-functions/logl.texi: Likewise.
12943
12944 2011-09-30  Bruno Haible  <bruno@clisp.org>
12945
12946         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
12947         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
12948         Set to 140000.
12949
12950 2011-09-30  Bruno Haible  <bruno@clisp.org>
12951
12952         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
12953         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
12954         invocation, say "right after AC_PROG_CC_STDC", not "right after
12955         AC_PROG_CC".
12956         Reported by Gary V. Vaughan <gary@gnu.org>.
12957
12958 2011-09-30  Bruno Haible  <bruno@clisp.org>
12959
12960         Centralize C99 requirement.
12961         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
12962         * modules/stdarg (configure.ac-early): Invoke it instead of
12963         AC_PROG_CC_STDC.
12964         Reported by Gary V. Vaughan and Paul Eggert.
12965
12966 2011-09-29  Bruno Haible  <bruno@clisp.org>
12967
12968         float: Fix LDBL_MAX value on Linux/PowerPC.
12969         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
12970         on Linux/PowerPC.
12971         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
12972         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
12973         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
12974         platform.
12975         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
12976
12977 2011-09-29  Bruno Haible  <bruno@clisp.org>
12978
12979         doc: Improve doc about gl_EARLY.
12980         * doc/gnulib-tool.texi (Initial import): Mention where to place an
12981         AC_PROG_CC_STDC invocation.
12982         Reported by Gary V. Vaughan <gary@gnu.org>.
12983
12984 2011-09-28  Bruno Haible  <bruno@clisp.org>
12985
12986         fgetc, fputc, fread, fwrite tests: Fix link error.
12987         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
12988         on non-MSVC platforms.
12989         * tests/test-fputc.c (main): Likewise.
12990         * tests/test-fread.c (main): Likewise.
12991         * tests/test-fwrite.c (main): Likewise.
12992         Reported by Jim Meyering.
12993
12994 2011-09-27  Bruno Haible  <bruno@clisp.org>
12995
12996         fputc, fwrite tests: Avoid test failure on MSVC.
12997         * tests/test-fgetc.c: Include msvc-inval.h.
12998         (main): Invoke gl_msvc_inval_ensure_handler.
12999         * tests/test-fputc.c: Include msvc-inval.h.
13000         (main): Invoke gl_msvc_inval_ensure_handler.
13001         * tests/test-fread.c: Include msvc-inval.h.
13002         (main): Invoke gl_msvc_inval_ensure_handler.
13003         * tests/test-fwrite.c: Include msvc-inval.h.
13004         (main): Invoke gl_msvc_inval_ensure_handler.
13005         * modules/fgetc-tests (Depends-on): Add msvc-inval.
13006         * modules/fputc-tests (Depends-on): Likewise.
13007         * modules/fread-tests (Depends-on): Likewise.
13008         * modules/fwrite-tests (Depends-on): Likewise.
13009
13010 2011-09-27  Bruno Haible  <bruno@clisp.org>
13011
13012         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
13013         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
13014         (raise): Remove older, duplicated declaration.
13015         (_gl_raise_SIGPIPE): New declaration.
13016         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
13017         (rpl_raise): Remove function.
13018         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
13019         a gnulib-defined SIGPIPE here.
13020         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
13021         'sigprocmask' has detected missing signal-blocking and the module
13022         'sigpipe' is enabled.
13023         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
13024
13025 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
13026
13027         base64-tests: avoid memory leak
13028         * tests/test-base64.c (main): Plug memory leak.
13029
13030         base32: new module
13031         * modules/base32: New module.
13032         * lib/base32.c: New file.
13033         * lib/base32.h: Likewise.
13034         * m4/base32.m4: Likewise.
13035         * modules/base32-tests: New test.
13036         * tests/test-base32.c: Likewise.
13037         * MODULES.html.sh (Misc): Mention it.
13038
13039 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
13040
13041         gnulib: use more-standard license notice wording
13042         * gnulib-tool (func_emit_copyright_notice): When emitting a
13043         license notice into a file, use the standard wording as suggested
13044         by the current information for GNU maintainers, except say "file"
13045         rather than "program".  The new wording gives a license version
13046         number, which addresses an issue raised by Glenn Morris in
13047         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
13048         * m4/onceonly.m4: Use that same wording here, too.
13049
13050         dup2: minor simplification
13051         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
13052         as lib/dup2.c no longer uses 'inline'.
13053
13054 2011-09-25  Bruno Haible  <bruno@clisp.org>
13055
13056         strings: Fix compilation error on MSVC.
13057         * lib/strings.in.h: Include <stddef.h> for size_t.
13058
13059 2011-09-25  Bruno Haible  <bruno@clisp.org>
13060
13061         fflush et al.: Document limitation on MSVC.
13062         * doc/posix-functions/fflush.texi: Document possible crash in handling
13063         mode other than DEFAULT_HANDLING.
13064         * doc/posix-functions/fgetc.texi: Likewise.
13065         * doc/posix-functions/fputc.texi: Likewise.
13066         * doc/posix-functions/fread.texi: Likewise.
13067         * doc/posix-functions/fwrite.texi: Likewise.
13068
13069 2011-09-25  Bruno Haible  <bruno@clisp.org>
13070
13071         msvc-inval: Allow three invalid parameter handling modes.
13072         * lib/msvc-inval.h: Don't include <stdlib.h> here.
13073         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
13074         macros.
13075         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
13076         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
13077         SANE_LIBRARY_HANDLING as a no-op.
13078         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
13079         <stdlib.h>.
13080         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
13081
13082 2011-09-25  Bruno Haible  <bruno@clisp.org>
13083
13084         msvc-inval: Make handler multithread-safe.
13085         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
13086         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
13087         declarations.
13088         (gl_msvc_inval_current): New declaration.
13089         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
13090         Operate on the structure returned by gl_msvc_inval_current().
13091         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
13092         Remove varaiables.
13093         (tls_index, tls_initialized): New variables.
13094         (not_per_thread): New variable.
13095         (gl_msvc_inval_current): New function.
13096         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
13097         returned by gl_msvc_inval_current().
13098
13099 2011-09-25  Bruno Haible  <bruno@clisp.org>
13100
13101         msvc-inval: Install handler globally.
13102         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
13103         !_MSC_VER.
13104         (gl_msvc_invalid_parameter_handler): Remove declaration.
13105         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
13106         declarations.
13107         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
13108         Install the handler globally, don't uninstall it.
13109         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
13110         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
13111         currently valid, call RaiseException instead.
13112         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
13113         for !_MSC_VER.
13114
13115 2011-09-25  Bruno Haible  <bruno@clisp.org>
13116
13117         strerror_r-posix: Fix for MSVC 9.
13118         * lib/strerror_r.c (local_snprintf): New function.
13119         (snprintf): Define to local_snprintf, not to _snprintf.
13120
13121 2011-09-25  Bruno Haible  <bruno@clisp.org>
13122
13123         ftruncate: Support for MSVC 9.
13124         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
13125         (chsize_nothrow): New function.
13126         (chsize): Redefine as a macro.
13127         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
13128         * modules/ftruncate (Depends-on): Add msvc-inval.
13129
13130 2011-09-25  Bruno Haible  <bruno@clisp.org>
13131
13132         New module 'fstat'.
13133         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
13134         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
13135         * lib/fchdir.c (rpl_fstat): Remove function.
13136         * m4/fstat.m4: New file.
13137         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
13138         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
13139         declared.
13140         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
13141         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
13142         * modules/fstat: New file.
13143         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
13144         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
13145         is set.
13146         * doc/posix-functions/fstat.texi: Mention the new module and the
13147         problem on MSVC.
13148         * NEWS: Mention the change.
13149         * modules/acl (Depends-on): Add fstat.
13150         * modules/chdir-safer (Depends-on): Likewise.
13151         * modules/chown (Depends-on): Likewise.
13152         * modules/copy-file (Depends-on): Likewise.
13153         * modules/fchdir (Depends-on): Likewise.
13154         * modules/fdopendir (Depends-on): Likewise.
13155         * modules/fopen (Depends-on): Likewise.
13156         * modules/fts (Depends-on): Likewise.
13157         * modules/getcwd (Depends-on): Likewise.
13158         * modules/isapipe (Depends-on): Likewise.
13159         * modules/linkat (Depends-on): Likewise.
13160         * modules/lseek (Depends-on): Likewise.
13161         * modules/mkdir-p (Depends-on): Likewise.
13162         * modules/open (Depends-on): Likewise.
13163         * modules/openat (Depends-on): Likewise.
13164         * modules/read-file (Depends-on): Likewise.
13165         * modules/renameat (Depends-on): Likewise.
13166         * modules/utimens (Depends-on): Likewise.
13167
13168 2011-09-25  Bruno Haible  <bruno@clisp.org>
13169
13170         linkat: Fix compilation on MSVC 9.
13171         * lib/linkat.c: Don't include <stdint.h>.
13172
13173 2011-09-25  Bruno Haible  <bruno@clisp.org>
13174
13175         fclose: Support for MSVC 9.
13176         * lib/fclose.c: Include msvc-inval.h.
13177         (fclose_nothrow): New function.
13178         (rpl_fclose): Use it.
13179         * modules/fclose (Depends-on): Add msvc-inval.
13180         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
13181
13182 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
13183
13184         dup2: minor simplifications
13185         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
13186         that it's a performance win.
13187         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
13188         ! defined __CYGWIN__)" to "ifdef F_GETFL".
13189
13190 2011-09-24  Jim Meyering  <meyering@redhat.com>
13191
13192         test-futimens: avoid a warning from gcc -Wshadow
13193         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
13194         to avoid a shadowing warning.
13195
13196 2011-09-24  Bruno Haible  <bruno@clisp.org>
13197
13198         fdopen: Support for MSVC 9.
13199         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
13200         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
13201         * lib/fdopen.c: Include msvc-inval.h.
13202         (fdopen_nothrow): New function.
13203         (rpl_fdopen): Use it.
13204         * modules/fdopen (Depends-on): Add msvc-inval.
13205         * modules/fclose-tests (Depends-on): Add fdopen.
13206         * modules/fflush-tests (Depends-on): Likewise.
13207         * modules/fgetc-tests (Depends-on): Likewise.
13208         * modules/fputc-tests (Depends-on): Likewise.
13209         * modules/fread-tests (Depends-on): Likewise.
13210         * modules/freopen-tests (Depends-on): Likewise.
13211         * modules/fseeko-tests (Depends-on): Likewise.
13212         * modules/ftello-tests (Depends-on): Likewise.
13213         * modules/fwrite-tests  (Depends-on): Likewise.
13214         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
13215
13216 2011-09-24  Bruno Haible  <bruno@clisp.org>
13217
13218         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
13219         * modules/fgetc-tests (Depends-on): Add unistd.
13220         * modules/fputc-tests (Depends-on): Likewise.
13221         * modules/fread-tests (Depends-on): Likewise.
13222         * modules/fwrite-tests (Depends-on): Likewise.
13223
13224 2011-09-24  Bruno Haible  <bruno@clisp.org>
13225
13226         dup: Simplify autoconf test.
13227         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
13228         on gl_MSVC_INVAL's result.
13229
13230 2011-09-24  Bruno Haible  <bruno@clisp.org>
13231
13232         Tests for function fwrite().
13233         * modules/fwrite-tests: New file.
13234         * tests/test-fwrite.c: New file.
13235         * modules/stdio-tests (Depends-on): Add fwrite-tests.
13236
13237         Tests for function fread().
13238         * modules/fread-tests: New file.
13239         * tests/test-fread.c: New file.
13240         * modules/stdio-tests (Depends-on): Add fread-tests.
13241
13242         Activate fputc tests.
13243         * modules/stdio-tests (Depends-on): Add fputc-tests.
13244
13245         Enhance fgetc, fputc tests.
13246         * tests/test-fgetc.c (main): Also test the stream's error indicator.
13247         * tests/test-fputc.c (main): Likewise.
13248
13249 2011-09-24  Bruno Haible  <bruno@clisp.org>
13250
13251         write: Support for MSVC 9.
13252         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
13253         is not 1.
13254         * lib/write.c (write_nothrow): New function.
13255         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
13256         not 1. Use write_nothrow.
13257         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
13258         invalid parameter handler.
13259         (gl_PREREQ_WRITE): New macro.
13260         * modules/write (Depends-on): Add msvc-inval.
13261         (configure.ac): Invoke gl_PREREQ_WRITE.
13262         * doc/posix-functions/write.texi: Mention the problem on MSVC.
13263
13264 2011-09-24  Bruno Haible  <bruno@clisp.org>
13265
13266         read: Fix last commit.
13267         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
13268
13269 2011-09-24  Bruno Haible  <bruno@clisp.org>
13270
13271         dup2: Fix last commit.
13272         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
13273         (rpl_dup2): Disable fcntl workaround on native Windows.
13274
13275         sigprocmask: Make code safer.
13276         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
13277         section that changes macro definitions for this compilation unit.
13278
13279 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
13280
13281         dup2: clarify by coalescing Windows-specific material
13282         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
13283         "msvc-nothrow.h"' to the Windows-specific section, so that the
13284         Emacs source need not contain these include files.
13285         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
13286         Windows-specific fixes into this function rather than just the
13287         nothrow fix, as this shortens and clarifies the code.  Always
13288         define as a function, as that's a bit cleaner than having it be
13289         sometimes a function and sometimes a macro.
13290         (rpl_dup2): Move the Windows-specific stuff out of here and into
13291         ms_windows_dup2.  Don't protect the Haiku-related fix with
13292         "#if !defined __linux__", as the same code also works around
13293         a Linux kernel bug, and it doesn't add any system calls on any
13294         platform.  Add comment about FreeBSD 6.1.
13295
13296         sigprocmask: move #include directive
13297         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
13298         Windows-specific section, so that the Emacs source need not
13299         contain msvc-inval.h.
13300
13301 2011-09-23  Bruno Haible  <bruno@clisp.org>
13302
13303         read: Support for MSVC 9.
13304         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
13305         is not 1.
13306         * lib/read.c (read_nothrow): New function.
13307         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
13308         read_nothrow.
13309         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
13310         invalid parameter handler.
13311         (gl_PREREQ_READ): New macro.
13312         * modules/read (Depends-on): Add msvc-inval.
13313         (configure.ac): Invoke gl_PREREQ_READ.
13314         * doc/posix-functions/read.texi: Mention the problem on MSVC.
13315
13316 2011-09-23  Bruno Haible  <bruno@clisp.org>
13317
13318         close: Support for MSVC 9.
13319         * lib/close.c: Include <errno.h>, msvc-inval.h.
13320         (close_nothrow): New function.
13321         (rpl_close): Use it.
13322         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
13323         invalid parameter handler.
13324         * modules/close (Depends-on): Add msvc-inval.
13325         * modules/dup2-tests (Depends-on): Add close.
13326         * modules/dup3-tests (Depends-on): Likewise.
13327         * modules/fcntl-tests (Depends-on): Likewise.
13328         * modules/spawn-pipe-tests (Depends-on): Likewise.
13329         * modules/unistd-safer-tests (Depends-on): Likewise.
13330         * doc/posix-functions/close.texi: Mention the problem on MSVC.
13331
13332 2011-09-23  Bruno Haible  <bruno@clisp.org>
13333
13334         New module 'dup'.
13335         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
13336         Allow replacement.
13337         * lib/dup.c: New file.
13338         * lib/fchdir.c (rpl_dup): Remove function.
13339         * m4/dup.m4: New file.
13340         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
13341         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
13342         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
13343         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
13344         * modules/dup: New file.
13345         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
13346         'dup' module is in use.
13347         * modules/fdopendir (Depends-on): Add dup.
13348         * modules/fdutimensat-tests (Depends-on): Likewise.
13349         * modules/fts (Depends-on): Likewise.
13350         * modules/futimens-tests (Depends-on): Likewise.
13351         * modules/posix_spawnp-tests (Depends-on): Likewise.
13352         * modules/unistd-safer-tests (Depends-on): Likewise.
13353         * modules/utimens-tests (Depends-on): Likewise.
13354         * doc/posix-functions/dup.texi: Mention the new module and the problem
13355         on MSVC.
13356
13357 2011-09-23  Bruno Haible  <bruno@clisp.org>
13358
13359         getdtablesize: Support for MSVC 9.
13360         * lib/getdtablesize.c: Include msvc-inval.h.
13361         (_setmaxstdio_nothrow): New function.
13362         (_setmaxstdio): Redefine it.
13363         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
13364         * modules/getdtablesize (Depends-on): Add msvc-inval.
13365         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
13366
13367 2011-09-23  Bruno Haible  <bruno@clisp.org>
13368
13369         signal-h: Rename from signal.
13370         * modules/signal-h: Renamed from modules/signal.
13371         * modules/pthread_sigmask (Depends-on): Update.
13372         * modules/raise (Depends-on): Likewise.
13373         * modules/sigaction (Depends-on): Likewise.
13374         * modules/sigpipe (Depends-on): Likewise.
13375         * modules/sigprocmask (Depends-on): Likewise.
13376         * modules/sys_select (Depends-on): Likewise.
13377         * modules/signal-h-tests: Renamed from modules/signal-tests.
13378         (Files, Depends-on, Makefile.am): Update.
13379         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
13380         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
13381         (Files, Makefile.am): Update.
13382         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
13383         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
13384         * modules/signal: New placeholder file.
13385         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
13386         * doc/posix-headers/signal.texi: Update.
13387         * NEWS: Mention the change.
13388
13389 2011-09-23  Bruno Haible  <bruno@clisp.org>
13390
13391         sigprocmask: Avoid crashes through signal() on MSVC 9.
13392         * lib/sigprocmask.c: Include msvc-inval.h.
13393         (signal_nothrow): New function.
13394         (signal): Redefine it.
13395         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
13396         * modules/sigprocmask (Depends-on): Add msvc-inval.
13397         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
13398
13399 2011-09-23  Bruno Haible  <bruno@clisp.org>
13400
13401         Tests for module 'raise'.
13402         * modules/raise-tests: New file.
13403         * tests/test-raise.c: New file.
13404
13405         raise: Support for MSVC.
13406         * lib/signal.in.h (raise): New declaration.
13407         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
13408         for native Windows platforms.
13409         * m4/raise.m4: New file.
13410         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
13411         HAVE_RAISE, REPLACE_RAISE.
13412         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
13413         REPLACE_RAISE.
13414         * modules/raise (Status, Notice): Remove fields.
13415         (Files): Add m4/raise.m4.
13416         (Depends-on): Add signal, msvc-inval.
13417         (configure.ac): Use the common idioms.
13418         (Maintainer): Add me.
13419         * tests/test-signal-c++.cc: Check the signature of raise.
13420         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
13421
13422 2011-09-23  Bruno Haible  <bruno@clisp.org>
13423
13424         pipe2: Fix compilation on pre-C99 compilers.
13425         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
13426
13427 2011-09-23  Bruno Haible  <bruno@clisp.org>
13428
13429         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
13430         * lib/msvc-nothrow.h: New file.
13431         * lib/msvc-nothrow.c: New file.
13432         * m4/msvc-nothrow.m4: New file.
13433         * modules/msvc-nothrow: New file.
13434         * lib/dup2.c: Include msvc-nothrow.h.
13435         (rpl_dup2): No need to protect _get_osfhandle call here.
13436         * lib/accept4.c: Include msvc-nothrow.h.
13437         * lib/error.c: Likewise.
13438         * lib/fcntl.c: Likewise.
13439         * lib/lseek.c: Likewise.
13440         * lib/nonblocking.c: Likewise.
13441         * lib/poll.c: Likewise.
13442         * lib/read.c: Likewise.
13443         * lib/select.c: Likewise.
13444         * lib/sockets.h: Likewise.
13445         * lib/sockets.c: Likewise.
13446         * lib/stdio-read.c: Likewise.
13447         * lib/stdio-write.c: Likewise.
13448         * lib/write.c: Likewise.
13449         * lib/w32sock.h: Likewise.
13450         * lib/w32spawn.h: Likewise.
13451         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
13452         * lib/fsync.c: Likewise.
13453         * lib/isapipe.c: Likewise.
13454         * modules/dup2 (Depends-on): Add msvc-nothrow.
13455         * modules/accept4 (Depends-on): Likewise.
13456         * modules/error (Depends-on): Likewise.
13457         * modules/fcntl (Depends-on): Likewise.
13458         * modules/lseek (Depends-on): Likewise.
13459         * modules/nonblocking (Depends-on): Likewise.
13460         * modules/poll (Depends-on): Likewise.
13461         * modules/read (Depends-on): Likewise.
13462         * modules/select (Depends-on): Likewise.
13463         * modules/sockets (Depends-on): Likewise.
13464         * modules/sigpipe (Depends-on): Likewise.
13465         * modules/write (Depends-on): Likewise.
13466         * modules/accept (Depends-on): Likewise.
13467         * modules/bind (Depends-on): Likewise.
13468         * modules/connect (Depends-on): Likewise.
13469         * modules/gethostname (Depends-on): Likewise.
13470         * modules/getpeername (Depends-on): Likewise.
13471         * modules/getsockname (Depends-on): Likewise.
13472         * modules/getsockopt (Depends-on): Likewise.
13473         * modules/ioctl (Depends-on): Likewise.
13474         * modules/listen (Depends-on): Likewise.
13475         * modules/recv (Depends-on): Likewise.
13476         * modules/recvfrom (Depends-on): Likewise.
13477         * modules/send (Depends-on): Likewise.
13478         * modules/sendto (Depends-on): Likewise.
13479         * modules/setsockopt (Depends-on): Likewise.
13480         * modules/shutdown (Depends-on): Likewise.
13481         * modules/socket (Depends-on): Likewise.
13482         * modules/execute (Depends-on): Likewise.
13483         * modules/spawn-pipe (Depends-on): Likewise.
13484         * modules/flock (Depends-on): Likewise.
13485         * modules/fsync (Depends-on): Likewise.
13486         * modules/isapipe (Depends-on): Likewise.
13487         * tests/test-cloexec.c: Include msvc-nothrow.h.
13488         * tests/test-dup-safer.c: Likewise.
13489         * tests/test-dup2.c: Likewise.
13490         * tests/test-dup3.c: Likewise.
13491         * tests/test-fcntl.c: Likewise.
13492         * tests/test-pipe.c: Likewise.
13493         * tests/test-pipe2.c: Likewise.
13494         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
13495         * modules/unistd-safer-tests (Depends-on): Likewise.
13496         * modules/dup2-tests (Depends-on): Likewise.
13497         * modules/dup3-tests (Depends-on): Likewise.
13498         * modules/fcntl-tests (Depends-on): Likewise.
13499         * modules/pipe-posix-tests (Depends-on): Likewise.
13500         * modules/pipe2-tests (Depends-on): Likewise.
13501
13502 2011-09-23  Bruno Haible  <bruno@clisp.org>
13503
13504         dup2: Make code more maintainable.
13505         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
13506         (rpl_dup2): Use it.
13507         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
13508         * modules/dup2 (configure.ac): Invoke it.
13509         Reported by Paul Eggert.
13510
13511 2011-09-23  Bruno Haible  <bruno@clisp.org>
13512
13513         msvc-inval: Fix compilation error.
13514         * lib/msvc-inval.h: Include <excpt.h>.
13515
13516 2011-09-23  Bruno Haible  <bruno@clisp.org>
13517
13518         mkdir: Tweak for MSVC 9.
13519         * lib/sys_stat.in.h: Update comments.
13520         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
13521
13522         Tests for module 'chdir'.
13523         * modules/chdir-tests: New file.
13524         * tests/test-chdir.c: New file.
13525
13526         New module 'chdir'.
13527         * modules/chdir: New file.
13528         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
13529         (chdir): New declaration.
13530         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
13531         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
13532         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
13533         * tests/test-unistd-c++.cc: Check signature of chdir.
13534         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
13535         * modules/chdir-long (Depends-on): Add chdir.
13536         * modules/fchdir (Depends-on): Likewise.
13537         * modules/rename (Depends-on): Likewise.
13538         * modules/savewd (Depends-on): Likewise.
13539
13540         rmdir: Support for mingw, MSVC 9.
13541         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
13542         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
13543
13544         getcwd: Tweak for MSVC 9.
13545         * lib/unistd.in.h: Update comments.
13546         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
13547
13548 2011-09-22  Bruno Haible  <bruno@clisp.org>
13549
13550         strerror_r-posix: Avoid a link error on MSVC.
13551         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
13552         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
13553
13554 2011-09-22  Bruno Haible  <bruno@clisp.org>
13555
13556         select: Avoid link errors on MSVC.
13557         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
13558         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
13559         * modules/pselect (Link): Likewise.
13560         * NEWS: Mention the change.
13561         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
13562         test-select-stdin against $(LIB_SELECT).
13563         * modules/pselect-tests (Makefile.am): Link test-pselect against
13564         $(LIB_SELECT).
13565
13566 2011-09-22  Bruno Haible  <bruno@clisp.org>
13567
13568         select: Avoid compilation error on MSVC.
13569         * lib/select.c: Don't include <stdbool.h>.
13570
13571 2011-09-21  Bruno Haible  <bruno@clisp.org>
13572
13573         Consolidate all uses of PATH_MAX in *.m4 files.
13574         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
13575         macros.
13576         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
13577         and gl_PATHMAX_SNIPPET.
13578         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13579         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13580         * modules/chdir-long (Files): Add m4/pathmax.m4.
13581         * modules/getcwd (Files): Likewise.
13582
13583 2011-09-21  Bruno Haible  <bruno@clisp.org>
13584
13585         ftruncate: Un-deprecate, concentrate on Win32 support.
13586         * modules/ftruncate (Status, Notice): Remove sections.
13587         (Depends-on): Add largefile.
13588         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
13589         non-mingw platforms.
13590         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
13591         include <io.h>.
13592         * modules/perror-tests (Depends-on): Add ftruncate.
13593         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
13594         'ftruncate' module.
13595
13596 2011-09-21  Bruno Haible  <bruno@clisp.org>
13597
13598         Add dependencies to new dirent related modules.
13599         * modules/opendir (Depends-on): Add closedir.
13600         * modules/getcwd (Depends-on): Add opendir, closedir.
13601         * modules/dirent-safer-tests (Depends-on): Likewise.
13602         * modules/fdopendir-tests (Depends-on): Likewise.
13603         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
13604         * modules/renameat-tests (Depends-on): Likewise.
13605
13606 2011-09-21  Bruno Haible  <bruno@clisp.org>
13607
13608         opendir: Avoid compilation error on mingw.
13609         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
13610         * modules/opendir (Depends-on): Add unistd.
13611
13612 2011-09-21  Bruno Haible  <bruno@clisp.org>
13613
13614         ftruncate tests: Avoid a test failure on mingw.
13615         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
13616
13617 2011-09-21  Bruno Haible  <bruno@clisp.org>
13618
13619         select tests: Avoid test failures on OSF/1 5.1 and mingw.
13620         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
13621         native Windows.
13622
13623 2011-09-21  Bruno Haible  <bruno@clisp.org>
13624
13625         New module 'fdopen'.
13626         * lib/stdio.in.h (fdopen): New declaration.
13627         * lib/fdopen.c: New file.
13628         * m4/fdopen.m4: New file.
13629         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
13630         REPLACE_FDOPEN.
13631         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
13632         REPLACE_FDOPEN.
13633         * modules/fdopen: New file.
13634         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
13635         * tests/test-stdio-c++.cc: Check signature of fdopen.
13636         * doc/posix-functions/fdopen.texi: Mention the new module.
13637
13638 2011-09-21  Bruno Haible  <bruno@clisp.org>
13639
13640         unlockpt tests: Avoid test failure on NetBSD 5.1.
13641         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
13642         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
13643
13644 2011-09-21  Bruno Haible  <bruno@clisp.org>
13645
13646         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
13647         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
13648         * tests/test-getlogin_r.c (main): Likewise.
13649
13650 2011-09-20  Bruno Haible  <bruno@clisp.org>
13651
13652         time tests: Don't require pid_t.
13653         * doc/posix-headers/time.texi: Revert last change.
13654         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
13655         * tests/test-time.c: Comment out the check for pid_t.
13656
13657 2011-09-20  Bruno Haible  <bruno@clisp.org>
13658
13659         fsync tests: Avoid a test failure on mingw.
13660         * tests/test-fsync.c (main): Allow a failure with EIO.
13661
13662 2011-09-20  Bruno Haible  <bruno@clisp.org>
13663
13664         euidaccess: Update comments.
13665         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
13666
13667 2011-09-20  Bruno Haible  <bruno@clisp.org>
13668
13669         Ensure EBADF returns for socket functions on mingw.
13670         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
13671         descriptor is invalid.
13672         * lib/bind.c (rpl_bind): Likewise.
13673         * lib/connect.c (rpl_connect): Likewise.
13674         * lib/getpeername.c (rpl_getpeername): Likewise.
13675         * lib/getsockname.c (rpl_getsockname): Likewise.
13676         * lib/getsockopt.c (rpl_getsockopt): Likewise.
13677         * lib/listen.c (rpl_listen): Likewise.
13678         * lib/recv.c (rpl_recv): Likewise.
13679         * lib/recvfrom.c (rpl_recvfrom): Likewise.
13680         * lib/send.c (rpl_send): Likewise.
13681         * lib/sendto.c (rpl_sendto): Likewise.
13682         * lib/setsockopt.c (rpl_setsockopt): Likewise.
13683         * lib/shutdown.c (rpl_shutdown): Likewise.
13684
13685 2011-09-20  Bruno Haible  <bruno@clisp.org>
13686
13687         select tests: EBADF tests.
13688         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
13689         test_bad_fd): New functions.
13690         (test_function): Invoke also test_bad_fd.
13691
13692 2011-09-20  Bruno Haible  <bruno@clisp.org>
13693
13694         Tests for module 'posix_spawn_file_actions_addopen.
13695         * modules/posix_spawn_file_actions_addopen-tests: New file.
13696         * tests/test-posix_spawn_file_actions_addopen.c: New file.
13697
13698         Tests for module 'posix_spawn_file_actions_adddup2'.
13699         * modules/posix_spawn_file_actions_adddup2-tests: New file.
13700         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
13701
13702         Tests for module 'posix_spawn_file_actions_addclose'.
13703         * modules/posix_spawn_file_actions_addclose-tests: New file.
13704         * tests/test-posix_spawn_file_actions_addclose.c: New file.
13705
13706 2011-09-20  Bruno Haible  <bruno@clisp.org>
13707
13708         Tests for module 'unlockpt'.
13709         * modules/unlockpt-tests: New file.
13710         * tests/test-unlockpt.c: New file.
13711         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
13712
13713         Tests for module 'grantpt'.
13714         * modules/grantpt-tests: New file.
13715         * tests/test-grantpt.c: New file.
13716         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
13717
13718 2011-09-20  Bruno Haible  <bruno@clisp.org>
13719
13720         freopen tests: EBADF tests.
13721         * tests/test-freopen.c: Include errno.h, unistd.h.
13722         (main): Add tests for EBADF, commented out for the moment.
13723
13724         fclose tests: EBADF tests.
13725         * tests/test-fclose.c (main): Add tests for EBADF.
13726
13727         fflush tests: EBADF tests.
13728         * tests/test-fflush.c: Include errno.h, macros.h.
13729         (main): Add tests for EBADF.
13730
13731         ftello tests: EBADF tests.
13732         * tests/test-ftello4.sh: New file.
13733         * tests/test-ftello4.c: New file.
13734         * modules/ftello-tests (Files): Add them.
13735         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
13736
13737         fseeko tests: EBADF tests.
13738         * tests/test-fseeko4.sh: New file.
13739         * tests/test-fseeko4.c: New file.
13740         * modules/fseeko-tests (Files): Add them.
13741         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
13742
13743         Tests for function fputc().
13744         * modules/fputc-tests: New file.
13745         * tests/test-fputc.c: New file.
13746         * modules/stdio-tests (Depends-on): Add fputc-tests.
13747
13748         Tests for function fgetc().
13749         * modules/fgetc-tests: New file.
13750         * tests/test-fgetc.c: New file.
13751         * modules/stdio-tests (Depends-on): Add fgetc-tests.
13752
13753         Tests for function fdopen().
13754         * modules/fdopen-tests: New file.
13755         * tests/test-fdopen.c: New file.
13756         * modules/stdio-tests (Depends-on): Add fdopen-tests.
13757
13758         Tests for module 'vdprintf'.
13759         * modules/vdprintf-tests: New file.
13760         * tests/test-vdprintf.c: New file.
13761
13762         Tests for module 'dprintf'.
13763         * modules/dprintf-tests: New file.
13764         * tests/test-dprintf.c: New file.
13765
13766 2011-09-20  Bruno Haible  <bruno@clisp.org>
13767
13768         Tests for module 'ioctl'.
13769         * modules/ioctl-tests: New file.
13770         * tests/test-ioctl.c: New file.
13771
13772 2011-09-20  Bruno Haible  <bruno@clisp.org>
13773
13774         fcntl tests: EBADF tests.
13775         * tests/test-fcntl.c (main): Add more tests for EBADF.
13776
13777 2011-09-20  Bruno Haible  <bruno@clisp.org>
13778
13779         utimensat tests: EBADF tests.
13780         * tests/test-utimensat.c (main): Add tests for EBADF.
13781
13782         renameat tests: EBADF tests.
13783         * tests/test-renameat.c (main): Add tests for EBADF.
13784
13785         mkfifoat tests: EBADF tests.
13786         * tests/test-mkfifoat.c (main): Add tests for EBADF.
13787
13788         readlinkat tests: EBADF tests.
13789         * tests/test-readlinkat.c (main): Add tests for EBADF.
13790
13791         symlinkat tests: EBADF tests.
13792         * tests/test-symlinkat.c (main): Add tests for EBADF.
13793
13794         linkat tests: EBADF tests.
13795         * tests/test-linkat.c (main): Add tests for EBADF.
13796
13797         Tests for module 'faccessat'.
13798         * modules/faccessat-tests: New file.
13799         * tests/test-faccessat.c: New file.
13800
13801         fdopendir tests: EBADF tests.
13802         * tests/test-fdopendir.c (main): Add more tests for EBADF.
13803
13804         openat tests: EBADF tests.
13805         * tests/test-fchownat.c (main): Add tests for EBADF.
13806         * tests/test-fstatat.c (main): Likewise.
13807         * tests/test-mkdirat.c (main): Likewise.
13808         * tests/test-openat.c (main): Likewise.
13809         * tests/test-unlinkat.c (main): Likewise.
13810         * tests/test-fchmodat.c: New file.
13811         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
13812         (Makefile.am): Also run 'test-fchmodat'.
13813
13814 2011-09-20  Bruno Haible  <bruno@clisp.org>
13815
13816         utimens, futimens, fdutimensat tests: EBADF tests.
13817         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
13818
13819         Tests for function fstat().
13820         * modules/fstat-tests: New file.
13821         * tests/test-fstat.c: New file.
13822         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
13823
13824 2011-09-20  Bruno Haible  <bruno@clisp.org>
13825
13826         test-ttyname_r tests: EBADF tests.
13827         * tests/test-ttyname_r.c (main): Add tests for EBADF.
13828
13829         Tests for module 'isatty'.
13830         * modules/isatty-tests: New file.
13831         * tests/test-isatty.c: New file.
13832
13833         Tests for module 'write'.
13834         * modules/write-tests: New file.
13835         * tests/test-write.c: New file.
13836
13837         Tests for module 'read'.
13838         * modules/read-tests: New file.
13839         * tests/test-read.c: New file.
13840
13841         pwrite tests: EBADF tests.
13842         * tests/test-pwrite.c (main): Add tests for EBADF.
13843
13844         pread tests: EBADF tests.
13845         * tests/test-pread.c (main): Add tests for EBADF.
13846
13847         lseek tests: EBADF tests.
13848         * tests/test-lseek.c (main): Add more tests for EBADF.
13849
13850         Tests for module 'ftruncate'.
13851         * modules/ftruncate-tests: New file.
13852         * tests/test-ftruncate.sh: New file.
13853         * tests/test-ftruncate.c: New file.
13854
13855         fsync tests: EBADF tests.
13856         * tests/test-fsync.c (main): Add more tests for EBADF.
13857
13858         fdatasync tests: EBADF tests.
13859         * tests/test-fdatasync.c (main): Add more tests for EBADF.
13860
13861         Tests for module 'fchown'.
13862         * modules/fchown-tests: New file.
13863         * tests/test-fchown.c: New file.
13864
13865         Tests for module 'fchmod'.
13866         * modules/fchmod-tests: New file.
13867         * tests/test-fchmod.c: New file.
13868
13869         fchdir tests: EBADF tests.
13870         * tests/test-fchdir.c (main): Add more tests for EBADF.
13871
13872         dup2 tests: EBADF tests.
13873         * tests/test-dup2.c (main): Add more tests for EBADF.
13874
13875         Tests for module 'dup'.
13876         * modules/dup-tests: New file.
13877         * tests/test-dup.c: New file.
13878
13879         Tests for module 'close'.
13880         * modules/close-tests: New file.
13881         * tests/test-close.c: New file.
13882
13883 2011-09-20  Bruno Haible  <bruno@clisp.org>
13884
13885         Tests for module 'shutdown'.
13886         * modules/shutdown-tests: New file.
13887         * tests/test-shutdown.c: New file.
13888
13889         Tests for module 'setsockopt'.
13890         * modules/setsockopt-tests: New file.
13891         * tests/test-setsockopt.c: New file.
13892
13893         Tests for module 'sendto'.
13894         * modules/sendto-tests: New file.
13895         * tests/test-sendto.c: New file.
13896
13897         Tests for module 'send'.
13898         * modules/send-tests: New file.
13899         * tests/test-send.c: New file.
13900
13901         Tests for module 'recvfrom'.
13902         * modules/recvfrom-tests: New file.
13903         * tests/test-recvfrom.c: New file.
13904
13905         Tests for module 'recv'.
13906         * modules/recv-tests: New file.
13907         * tests/test-recv.c: New file.
13908
13909         Tests for module 'listen'.
13910         * modules/listen-tests: New file.
13911         * tests/test-listen.c: New file.
13912
13913         Tests for module 'getsockopt'.
13914         * modules/getsockopt-tests: New file.
13915         * tests/test-getsockopt.c: New file.
13916
13917         Tests for module 'getsockname'.
13918         * modules/getsockname-tests: New file.
13919         * tests/test-getsockname.c: New file.
13920
13921         Tests for module 'getpeername'.
13922         * modules/getpeername-tests: New file.
13923         * tests/test-getpeername.c: New file.
13924
13925         Tests for module 'connect'.
13926         * modules/connect-tests: New file.
13927         * tests/test-connect.c: New file.
13928
13929         Tests for module 'bind'.
13930         * modules/bind-tests: New file.
13931         * tests/test-bind.c: New file.
13932
13933         accept4 tests: Fix for native Windows.
13934         * tests/test-accept4.c: Include sockets.h.
13935         (main): Invoke gl_sockets_startup.
13936         * modules/accept4-tests (Depends-on): Add sockets.
13937
13938         accept tests: Fix for native Windows.
13939         * tests/test-accept.c: Include sockets.h.
13940         (main): Invoke gl_sockets_startup.
13941         * modules/accept-tests (Depends-on): Add sockets.
13942
13943 2011-09-19  Bruno Haible  <bruno@clisp.org>
13944
13945         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
13946         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
13947         do...while(0).
13948         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
13949         Suggested by Paul Eggert.
13950
13951 2011-09-19  Bruno Haible  <bruno@clisp.org>
13952
13953         sched: Ensure pid_t is defined.
13954         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
13955         not define pid_t.
13956         * lib/sched.in.h: Include <sys/types.h>.
13957         * doc/posix-headers/sched.texi: Mention the pid_t problem.
13958         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13959
13960 2011-09-19  Bruno Haible  <bruno@clisp.org>
13961
13962         msvc-inval: Ensure the entire expansion is a single statement.
13963         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
13964         of braces.
13965
13966 2011-09-19  Jim Meyering  <meyering@redhat.com>
13967
13968         tests: use printf, not echo in init.sh's warn_ function
13969         * tests/init.sh (warn_): Use printf, not echo.  The latter would
13970         misbehave when given strings containing a backslash or starting
13971         with e.g., -n.  James Youngman suggested setting IFS.
13972
13973 2011-09-19  Eric Blake  <eblake@redhat.com>
13974
13975         futimens: enhance test
13976         * tests/test-futimens.h (test_futimens): Also check for EBADF on
13977         closed non-negative fd.
13978
13979         date: accept 'hence' as opposite of 'ago'
13980         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
13981         * tests/test-parse-datetime.c (main): Enhance test.
13982         Suggested by Jesse Wilson.
13983
13984 2011-09-19  Jim Meyering  <meyering@redhat.com>
13985
13986         getcwd: don't fail in a deep directory on a system without openat
13987         Before this change, getcwd would fail when called from a directory
13988         of depth PATH_MAX / 3 or greater.  That was due to the fact that
13989         the non-openat implementation used "..", "../..", "../../..", etc.
13990         to access ancestor directories.  With too many, that string would
13991         be longer than PATH_MAX.
13992         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
13993         using gnulib's openat replacement.
13994         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
13995         we're using the replacement function.
13996
13997 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
13998
13999         maint.mk: avoid warnings from perl about missing files
14000         * top/maint.mk (def_sym_regex): Ignore files listed in
14001         $(gl_other_headers_) that do not exist, say because a project
14002         does not use a corresponding module.
14003
14004 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
14005
14006         stat: use pathmax.h only if needed
14007         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
14008         This is better for Emacs, which does not have a mingw port and
14009         therefore can avoid the pathmax module.
14010
14011         utimens: remove dependency on dup2
14012         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
14013         to work around the Linux kernel bug.
14014         * modules/utimens (Depends-on): Remove dup2.
14015
14016 2011-09-18  Bruno Haible  <bruno@clisp.org>
14017
14018         inet_ntop, inet_pton: Look for it also in libresolv.
14019         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
14020         libnsl, search for it in libresolv.
14021         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
14022         Needed on Solaris 7.
14023
14024 2011-09-18  Bruno Haible  <bruno@clisp.org>
14025
14026         accept, accept4 tests: Avoid link error on Solaris.
14027         * modules/accept-tests (Makefile.am): Link test-accept against
14028         $(LIBSOCKET).
14029         * modules/accept4-tests (Makefile.am): Link test-accept4 against
14030         $(LIBSOCKET).
14031
14032         accept4: Avoid link error on Solaris.
14033         * modules/accept4 (Link): New section.
14034
14035         socket functions: Avoid link errors on Solaris.
14036         * modules/accept (Depends-on): Add socketlib.
14037         (Link): New section.
14038         * modules/bind (Depends-on): Add socketlib.
14039         (Link): New section.
14040         * modules/connect (Depends-on): Add socketlib.
14041         (Link): New section.
14042         * modules/getpeername (Depends-on): Add socketlib.
14043         (Link): New section.
14044         * modules/getsockname (Depends-on): Add socketlib.
14045         (Link): New section.
14046         * modules/getsockopt (Depends-on): Add socketlib.
14047         (Link): New section.
14048         * modules/listen (Depends-on): Add socketlib.
14049         (Link): New section.
14050         * modules/recv (Depends-on): Add socketlib.
14051         (Link): New section.
14052         * modules/recvfrom (Depends-on): Add socketlib.
14053         (Link): New section.
14054         * modules/send (Depends-on): Add socketlib.
14055         (Link): New section.
14056         * modules/sendto (Depends-on): Add socketlib.
14057         (Link): New section.
14058         * modules/setsockopt (Depends-on): Add socketlib.
14059         (Link): New section.
14060         * modules/shutdown (Depends-on): Add socketlib.
14061         (Link): New section.
14062         * modules/socket (Depends-on): Add socketlib.
14063         (Link): New section.
14064
14065 2011-09-18  Bruno Haible  <bruno@clisp.org>
14066
14067         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
14068         * tests/test-ptsname.c (main): Terminate the test if it takes longer
14069         than 5 seconds.
14070         * modules/ptsname-tests (configure.ac): Test for alarm.
14071
14072 2011-09-18  Bruno Haible  <bruno@clisp.org>
14073
14074         posix_spawn_file_actions_add*: Fix module dependencies.
14075         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
14076         posix_spawn_file_actions_init.
14077         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
14078         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
14079
14080 2011-09-18  Bruno Haible  <bruno@clisp.org>
14081
14082         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
14083         * tests/test-rename.h (test_rename): Allow error code EEXIST.
14084         * tests/test-renameat.c (main): Likewise.
14085
14086 2011-09-18  Bruno Haible  <bruno@clisp.org>
14087
14088         Tests for module 'accept4'.
14089         * modules/accept4-tests: New file.
14090         * tests/test-accept4.c: New file.
14091
14092 2011-09-18  Bruno Haible  <bruno@clisp.org>
14093
14094         Tests for module 'accept'.
14095         * modules/accept-tests: New file.
14096         * tests/test-accept.c: New file.
14097
14098 2011-09-18  Bruno Haible  <bruno@clisp.org>
14099
14100         dup2: Support for MSVC.
14101         * lib/dup2.c: Include msvc-inval.h.
14102         (rpl_dup2): Handle invalid parameter notifications during dup2 and
14103         _get_osfhandle calls.
14104         * modules/dup2 (Depends-on): Add msvc-inval.
14105         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
14106
14107         New module 'msvc-inval'.
14108         * lib/msvc-inval.h: New file.
14109         * lib/msvc-inval.c: New file.
14110         * m4/msvc-inval.m4: New file.
14111         * modules/msvc-inval: New file.
14112
14113 2011-09-17  Bruno Haible  <bruno@clisp.org>
14114
14115         Tests for module 'pclose'.
14116         * modules/pclose-tests: New file.
14117
14118         New module 'pclose'.
14119         * lib/stdio.in.h (pclose): New declaration.
14120         * lib/pclose.c: New file.
14121         * m4/pclose.m4: New file.
14122         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
14123         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
14124         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
14125         * modules/pclose: New file.
14126         * modules/popen-tests (Depends-on): Add pclose.
14127         * modules/popen-safer-tests (Depends-on): Likewise.
14128         * doc/posix-functions/pclose.texi: Mention the new module.
14129
14130 2011-09-17  Bruno Haible  <bruno@clisp.org>
14131
14132         popen: Support for MSVC.
14133         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
14134         * lib/popen.c (popen): Provide alternate definition for native Windows.
14135         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
14136         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
14137         * modules/popen (Depends-on, configure.ac): Update condition.
14138         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
14139         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
14140         fixed.
14141
14142 2011-09-17  Bruno Haible  <bruno@clisp.org>
14143
14144         isnanl, isnand, isnanf: Work around MSVC bug.
14145         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
14146
14147 2011-09-17  Bruno Haible  <bruno@clisp.org>
14148
14149         sys_socket tests: Fix recent mistake.
14150         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
14151
14152 2011-09-17  Bruno Haible  <bruno@clisp.org>
14153
14154         putenv: Support for MSVC.
14155         * modules/putenv (Depends-on): Add environ.
14156         * lib/putenv.c (environ): Disable declaration.
14157         * lib/unistd.in.h: Update comment.
14158
14159 2011-09-17  Bruno Haible  <bruno@clisp.org>
14160
14161         math: Avoid macro redefinition warnings on MSVC.
14162         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
14163         Undefine before redefining.
14164
14165 2011-09-17  Bruno Haible  <bruno@clisp.org>
14166
14167         doc: Mention functions which are declared as macros.
14168         * doc/posix-functions/*[fl].texi: Mention that some functions are
14169         defined as macros with arguments only.
14170
14171 2011-09-17  Bruno Haible  <bruno@clisp.org>
14172
14173         Add dependencies to new dirent related modules.
14174         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
14175         * modules/fts (Depends-on): Likewise.
14176         * modules/glob (Depends-on): Likewise.
14177         * modules/savedir (Depends-on): Likewise.
14178         * modules/scandir (Depends-on): Likewise.
14179         * modules/dirent-safer (Depends-on): Add opendir, closedir.
14180         * modules/fdopendir (Depends-on): Add opendir.
14181
14182 2011-09-17  Bruno Haible  <bruno@clisp.org>
14183
14184         inet_pton: Support for MSVC on Windows Vista or newer.
14185         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
14186         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
14187         HAVE_DECL_INET_PTON is defined.
14188         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
14189         On platforms with <winsock2.h>, test whether inet_pton is declared in
14190         <ws2tcpip.h>. If so, arrange to replace it.
14191         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
14192         REPLACE_INET_PTON.
14193         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
14194         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
14195         (Depends-on, configure.ac): Update condition.
14196         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
14197
14198 2011-09-17  Bruno Haible  <bruno@clisp.org>
14199
14200         inet_ntop: Support for MSVC on Windows Vista or newer.
14201         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
14202         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
14203         HAVE_DECL_INET_NTOP is defined.
14204         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
14205         On platforms with <winsock2.h>, test whether inet_ntop is declared in
14206         <ws2tcpip.h>. If so, arrange to replace it.
14207         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
14208         REPLACE_INET_NTOP.
14209         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
14210         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
14211         (Depends-on, configure.ac): Update condition.
14212         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
14213
14214 2011-09-16  Eric Blake  <eblake@redhat.com>
14215
14216         test-fsync: yet another enhancement
14217         * tests/test-fsync.c (main): Also test behavior on read-only text
14218         file.
14219
14220 2011-09-16  Bruno Haible  <bruno@clisp.org>
14221
14222         Enhance fsync, fdatasync tests.
14223         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
14224         * tests/test-fdatasync.c (main): Likewise.
14225
14226 2011-09-16  Bruno Haible  <bruno@clisp.org>
14227
14228         Support for MSVC compiler: Ensure mode_t gets defined.
14229         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
14230         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14231         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
14232         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
14233         * tests/test-fcntl-h.c: Check that mode_t is defined.
14234         * tests/test-sys_stat.c: Likewise.
14235         * tests/test-sys_types.c: Likewise.
14236         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
14237         * doc/posix-headers/sys_stat.texi: Likewise.
14238         * doc/posix-headers/sys_types.texi: Likewise.
14239
14240 2011-09-16  Bruno Haible  <bruno@clisp.org>
14241
14242         sys_stat: Support for MSVC.
14243         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
14244         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
14245         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
14246         MSVC.
14247
14248 2011-09-16  Bruno Haible  <bruno@clisp.org>
14249
14250         Support for MSVC compiler: Ensure off_t gets defined.
14251         * lib/unistd.in.h: Include <sys/types.h>.
14252         * tests/test-fcntl-h.c: Check that off_t is defined.
14253         * tests/test-sys_stat.c: Likewise.
14254         * tests/test-sys_types.c: Likewise.
14255
14256 2011-09-16  Eric Blake  <eblake@redhat.com>
14257
14258         fdatasync: port to Solaris
14259         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
14260         * modules/fdatasync (Link): Document it.
14261         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
14262
14263         fdatasync: port to MacOS X 10.7
14264         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
14265         declared.
14266         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
14267         * modules/unistd (Makefile.am): Substitute it.
14268         * lib/unistd.in.h (fdatasync): Declare on MacOS.
14269         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
14270
14271         fdatasync: minor improvements
14272         * modules/fdatasync (Depends-on): Add condition for fsync.
14273         * lib/fdatasync.c (fdatasync): Add comment.
14274         * tests/test-unistd-c++.cc: Test fdatasync.
14275
14276         unistd: update refs to newer POSIX
14277         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
14278         Suggested by Bruno Haible.
14279
14280         fdatasync: new module
14281         * modules/fsync (Description): Document difference to fdatasync.
14282         * modules/fdatasync: New module.
14283         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
14284         * lib/fdatasync.c (fdatasync): Likewise.
14285         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
14286         defaults.
14287         * modules/unistd (Makefile.am): Set witnesses.
14288         * lib/unistd.in.h (fdatasync): Declare.
14289         * MODULES.html.sh: Document it.
14290         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
14291         * modules/fdatasync-tests: New test.
14292         * tests/test-fdatasync.c: Likewise.
14293
14294 2011-09-16  Eric Blake  <eblake@redhat.com>
14295
14296         test-fsync: enhance tests
14297         * modules/fsync-tests (Depends-on): Add errno, for mingw.
14298         * tests/test-fsync.c (main): Enhance test.
14299
14300 2011-09-15  Bruno Haible  <bruno@clisp.org>
14301
14302         Support for MSVC compiler: Ensure ssize_t gets defined.
14303         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
14304         * doc/posix-headers/stdio.texi: Likewise.
14305         * modules/stdio (Depends-on): Add ssize_t.
14306         * modules/sys_socket (Depends-on): Likewise.
14307         * modules/sys_types (Depends-on): Likewise.
14308         * modules/sys_uio (Depends-on): Likewise.
14309         * modules/unistd (Depends-on): Likewise.
14310         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
14311         * tests/test-sys_types.c: Check that ssize_t is defined.
14312
14313 2011-09-14  Bruno Haible  <bruno@clisp.org>
14314
14315         Avoid using #, the m4 comment starter character, near brackets.
14316         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
14317         delimiter character in sed expressions.
14318         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
14319         Suggested by Eric Blake.
14320
14321         Properly quote AC_CHECK_DECLS' 4th argument.
14322         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
14323         argument.
14324         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
14325         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14326         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
14327         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
14328         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
14329         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
14330         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
14331         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
14332         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
14333         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
14334         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
14335         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
14336         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
14337         * m4/isinf.m4 (gl_ISINF): Likewise.
14338         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
14339         * m4/readutmp.m4 (gl_READUTMP): Likewise.
14340         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
14341         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14342         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14343         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
14344         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
14345         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
14346         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
14347         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14348         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14349         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14350         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
14351         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
14352         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
14353         Reported by Eric Blake.
14354
14355         Properly quote AC_CHECK_DECL's 4th argument.
14356         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
14357         argument.
14358         * m4/argp.m4 (gl_ARGP): Likewise.
14359         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
14360         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
14361         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
14362         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
14363         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
14364         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
14365         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
14366         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
14367         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
14368         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
14369         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
14370         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
14371         Reported by Eric Blake.
14372
14373 2011-09-14  Eric Blake  <eblake@redhat.com>
14374
14375         opendir: avoid compile warning
14376         * lib/opendir.c (includes): Always include errno.h.
14377         Reported by Tatsuro MATSUOKA.
14378
14379 2011-09-14  Jim Meyering  <meyering@redhat.com>
14380
14381         maint.mk: sc_tight_scope: propagate failure from sub-make
14382         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
14383         Reported by Martin von Gagern.
14384
14385 2011-09-13  Bruno Haible  <bruno@clisp.org>
14386
14387         tempname: Support for MSVC.
14388         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
14389         MSVC.
14390         * modules/tempname (Depends-on): Add fcntl-h.
14391
14392 2011-09-13  Bruno Haible  <bruno@clisp.org>
14393
14394         sys_time: Support for MSVC.
14395         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
14396         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
14397         include <winsock2.h>.
14398         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
14399         function declarations that collide with POSIX.
14400         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
14401         (Makefile.am): Substitute HAVE_WINSOCK2_H.
14402
14403 2011-09-13  Bruno Haible  <bruno@clisp.org>
14404
14405         stat: Support for MSVC.
14406         * lib/stat.c: Include pathmax.h.
14407         * modules/stat (Depends-on): Add pathmax.
14408
14409         pathmax: Support for native Windows.
14410         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
14411
14412 2011-09-12  Bruno Haible  <bruno@clisp.org>
14413
14414         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
14415         * lib/dirent.in.h (struct dirent): New type.
14416         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
14417         DT_WHT): New macros.
14418         (DIR): New type.
14419         (opendir, closedir): Declare only if the module 'opendir' is enabled.
14420         (readdir, rewinddir): New declarations.
14421         * lib/dirent-private.h: New file.
14422         * lib/opendir.c: New file.
14423         * lib/readdir.c: New file.
14424         * lib/rewinddir.c: New file.
14425         * lib/closedir.c: New file.
14426         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
14427         * m4/opendir.m4: New file.
14428         * m4/readdir.m4: New file.
14429         * m4/rewinddir.m4: New file.
14430         * m4/closedir.m4: New file.
14431         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
14432         REPLACE_CLOSEDIR here.
14433         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
14434         readdir, rewinddir are declared.
14435         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
14436         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
14437         HAVE_REWINDDIR, HAVE_CLOSEDIR.
14438         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
14439         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
14440         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
14441         * modules/opendir: New file.
14442         * modules/readdir: New file.
14443         * modules/rewinddir: New file.
14444         * modules/closedir: New file.
14445         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
14446         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
14447         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
14448         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
14449         * NEWS: Mention the 'fchdir' change.
14450
14451 2011-09-11  Bruno Haible  <bruno@clisp.org>
14452
14453         asm-underscore.m4: Support for MSVC.
14454         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
14455         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
14456
14457 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
14458
14459         Doc about crypt functions.
14460         * doc/posix-functions/crypt.texi: Expand range of glibc versions
14461         needing for _GNU_SOURCE to get crypt.
14462         * doc/posix-functions/encrypt.texi: Likewise.
14463         * doc/posix-functions/setkey.texi: Likewise.
14464
14465 2011-09-11  Bruno Haible  <bruno@clisp.org>
14466
14467         doc: Update regarding MSVC 9.
14468         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
14469         tested".
14470         * doc/posix-functions/*.texi: Update with info about MSVC 9.
14471         * doc/posix-headers/*.texi: Likewise.
14472         * doc/pastposix-functions/*.texi: Likewise.
14473         * doc/glibc-functions/*.texi: Likewise.
14474         * doc/glibc-headers/*.texi: Likewise.
14475
14476 2011-09-11  Bruno Haible  <bruno@clisp.org>
14477
14478         unistd et al.: Don't assume <unistd.h> exists.
14479         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
14480         does not exist.
14481         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
14482         exist. But include <stdlib.h>.
14483         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
14484         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
14485         symlink() does not exist.
14486         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
14487         include <io.h> instead.
14488         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
14489         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
14490         include <direct.h> instead.
14491         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
14492         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
14493         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
14494         <io.h> instead.
14495         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
14496         correctly if the system does not have hard links.
14497         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
14498         <direct.h> instead.
14499         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
14500         it when looking for function declarations.
14501         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
14502         <direct.h> and <io.h> instead.
14503         * doc/posix-headers/unistd.texi: More details about MSVC problem.
14504
14505 2011-09-11  Bruno Haible  <bruno@clisp.org>
14506
14507         strcase: Support for MSVC.
14508         * modules/strcase (Status, Notice): Remove obsoletion mark.
14509         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
14510         * doc/posix-functions/strncasecmp.texi: Likewise.
14511
14512         strings: Don't assume <strings.h> exists.
14513         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
14514         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
14515         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
14516         * doc/posix-headers/strings.texi: Mention the MSVC problem.
14517
14518 2011-09-11  Bruno Haible  <bruno@clisp.org>
14519
14520         dirent: Don't assume <dirent.h> exists.
14521         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
14522         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
14523         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
14524         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
14525
14526 2011-09-11  Bruno Haible  <bruno@clisp.org>
14527
14528         Fix wint_t on MSVC.
14529         * lib/wchar.in.h (wint_t): On MSVC, override it.
14530         * lib/wctype.in.h (wint_t): Likewise.
14531         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
14532         MSVC.
14533         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
14534         * doc/posix-headers/wctype.texi: Likewise.
14535
14536 2011-09-11  Bruno Haible  <bruno@clisp.org>
14537
14538         sys_types: Fix typo.
14539         * lib/sys_types.in.h: Fix typo in comment.
14540         Reported by Paul Eggert.
14541
14542         Support for MSVC compiler: Ensure size_t gets defined.
14543         * modules/strings (Depends-on): Add 'sys_types'.
14544         * modules/sys_uio (Depends-on): Likewise.
14545         * lib/sys_uio.in.h: Update comment.
14546
14547         C++ tests for module 'sys_types'.
14548         * modules/sys_types-c++-tests: New file.
14549         * tests/test-sys_types-c++.cc: New file.
14550
14551         Tests for module 'sys_types'.
14552         * modules/sys_types-tests: New file.
14553         * tests/test-sys_types.c: New file.
14554
14555         New module 'sys_types'.
14556         * lib/sys_types.in.h: New file.
14557         * m4/sys_types_h.m4: New file.
14558         * modules/sys_types: New file.
14559         * doc/posix-headers/sys_types.texi: Mention the new module and the
14560         size_t problem on MSVC 9.
14561
14562 2011-09-11  Bruno Haible  <bruno@clisp.org>
14563
14564         Support for MSVC compiler: Avoid division by a literal 0.
14565         * lib/math.in.h (NAN): Define through a function call also on MSVC.
14566         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
14567         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
14568         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
14569         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
14570         * tests/infinity.h: New file.
14571         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
14572         on MSVC.
14573         * tests/test-ceilf1.c: Include infinity.h.
14574         (main): Use Infinityf.
14575         * tests/test-ceil1.c: Include infinity.h.
14576         (main): Use Infinityd.
14577         * tests/test-ceill.c: Include infinity.h.
14578         (main): Use Infinityl.
14579         * tests/test-dprintf-posix.c: Include infinity.h.
14580         (test_function): Use Infinityd.
14581         * tests/test-floorf1.c: Include infinity.h.
14582         (main): Use Infinityf.
14583         * tests/test-floor1.c: Include infinity.h.
14584         (main): Use Infinityd.
14585         * tests/test-floorl.c: Include infinity.h.
14586         (main): Use Infinityl.
14587         * tests/test-fprintf-posix.c: Include infinity.h.
14588         (test_function): Use Infinityd.
14589         * tests/test-frexp.c: Include infinity.h.
14590         (main): Use Infinityd.
14591         * tests/test-frexpl.c: Include infinity.h.
14592         (main): Use Infinityl.
14593         * tests/test-isfinite.c: Include infinity.h.
14594         (test_isfinitef): Use Infinityf.
14595         (test_isfinited): Use Infinityd.
14596         (test_isfinitel): Use Infinityl.
14597         * tests/test-isinf.c: Include infinity.h.
14598         (test_isinff): Use Infinityf.
14599         (test_isinfd): Use Infinityd.
14600         (test_isinfl): Use Infinityl.
14601         * tests/test-isnan.c: Include infinity.h.
14602         (test_float): Use Infinityf.
14603         (test_double): Use Infinityd.
14604         (test_long_double): Use Infinityl.
14605         * tests/test-isnanf.h: Include infinity.h.
14606         (main): Use Infinityf.
14607         * tests/test-isnand.h: Include infinity.h.
14608         (main): Use Infinityd.
14609         * tests/test-isnanl.h: Include infinity.h.
14610         (main): Use Infinityl.
14611         * tests/test-ldexpl.c: Include infinity.h.
14612         (main): Use Infinityl.
14613         * tests/test-printf-posix.h: Include infinity.h.
14614         (test_function): Use Infinityd.
14615         * tests/test-roundf1.c: Include infinity.h.
14616         (main): Use Infinityf.
14617         * tests/test-round1.c: Include infinity.h.
14618         (main): Use Infinityd.
14619         * tests/test-roundl.c: Include infinity.h.
14620         (main): Use Infinityl.
14621         * tests/test-signbit.c: Include infinity.h.
14622         (test_signbitf): Use Infinityf.
14623         (test_signbitd): Use Infinityd.
14624         (test_signbitl): Use Infinityl.
14625         * tests/test-snprintf-posix.h: Include infinity.h.
14626         (test_function): Use Infinityd, Infinityl.
14627         * tests/test-sprintf-posix.h: Include infinity.h.
14628         (test_function): Use Infinityd, Infinityl.
14629         * tests/test-truncf1.c: Include infinity.h.
14630         (main): Use Infinityf.
14631         * tests/test-trunc1.c: Include infinity.h.
14632         (main): Use Infinityd.
14633         * tests/test-truncl.c: Include infinity.h.
14634         (main): Use Infinityl.
14635         * tests/test-vasnprintf-posix.c: Include infinity.h.
14636         (test_function): Use Infinityd, Infinityl.
14637         * tests/test-vasprintf-posix.c: Include infinity.h.
14638         (test_function): Use Infinityd, Infinityl.
14639         * modules/ceilf-tests (Files): Add tests/infinity.h.
14640         * modules/ceil-tests (Files): Likewise.
14641         * modules/ceill-tests (Files): Likewise.
14642         * modules/dprintf-posix-tests (Files): Likewise.
14643         * modules/floorf-tests (Files): Likewise.
14644         * modules/floor-tests (Files): Likewise.
14645         * modules/floorl-tests (Files): Likewise.
14646         * modules/fprintf-posix-tests (Files): Likewise.
14647         * modules/frexp-tests (Files): Likewise.
14648         * modules/frexp-nolibm-tests (Files): Likewise.
14649         * modules/frexpl-tests (Files): Likewise.
14650         * modules/frexpl-nolibm-tests (Files): Likewise.
14651         * modules/isfinite-tests (Files): Likewise.
14652         * modules/isinf-tests (Files): Likewise.
14653         * modules/isnan-tests (Files): Likewise.
14654         * modules/isnanf-tests (Files): Likewise.
14655         * modules/isnanf-nolibm-tests (Files): Likewise.
14656         * modules/isnand-tests (Files): Likewise.
14657         * modules/isnand-nolibm-tests (Files): Likewise.
14658         * modules/isnanl-tests (Files): Likewise.
14659         * modules/isnanl-nolibm-tests (Files): Likewise.
14660         * modules/ldexpl-tests (Files): Likewise.
14661         * modules/printf-posix-tests (Files): Likewise.
14662         * modules/roundf-tests (Files): Likewise.
14663         * modules/round-tests (Files): Likewise.
14664         * modules/roundl-tests (Files): Likewise.
14665         * modules/signbit-tests (Files): Likewise.
14666         * modules/snprintf-posix-tests (Files): Likewise.
14667         * modules/sprintf-posix-tests (Files): Likewise.
14668         * modules/truncf-tests (Files): Likewise.
14669         * modules/trunc-tests (Files): Likewise.
14670         * modules/truncl-tests (Files): Likewise.
14671         * modules/vasnprintf-posix-tests (Files): Likewise.
14672         * modules/vasprintf-posix-tests (Files): Likewise.
14673         * modules/vdprintf-posix-tests (Files): Likewise.
14674         * modules/vfprintf-posix-tests (Files): Likewise.
14675         * modules/vprintf-posix-tests (Files): Likewise.
14676         * modules/vsnprintf-posix-tests (Files): Likewise.
14677         * modules/vsprintf-posix-tests (Files): Likewise.
14678         * modules/xprintf-posix-tests (Files): Likewise.
14679
14680 2011-09-11  Bruno Haible  <bruno@clisp.org>
14681
14682         Ensure pid_t gets defined.
14683         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
14684         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14685         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
14686         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14687         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
14688         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14689         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
14690         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14691         * tests/test-fcntl-h.c: Check that pid_t is defined.
14692         * tests/test-sched.c: Likewise.
14693         * tests/test-termios.c: Likewise.
14694         * tests/test-time.c: Likewise.
14695         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
14696         * doc/posix-headers/signal.texi: Likewise.
14697         * doc/posix-headers/sys_types.texi: Likewise.
14698         * doc/posix-headers/time.texi: Likewise.
14699
14700 2011-09-11  Bruno Haible  <bruno@clisp.org>
14701
14702         acl: Fix compilation on Solaris 10 (older version).
14703         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
14704         of ACE_EVERYONE.
14705         * lib/set-mode-acl.c (qset_acl): Likewise.
14706         Reported by Christian Jullien <eligis@orange.fr>.
14707
14708 2011-09-10  Bruno Haible  <bruno@clisp.org>
14709
14710         iconv, unsetenv: Add support for MSVC compiler.
14711         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
14712         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
14713
14714 2011-09-10  Bruno Haible  <bruno@clisp.org>
14715
14716         *printf: Add support for MSVC compiler.
14717         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
14718         handles the exception caused by the %n directive. When cross-compiling,
14719         guess no on native Windows.
14720         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
14721         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
14722         emulate it through vsnprintf.
14723         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
14724         * doc/posix-functions/dprintf.texi: Update documentation regarding
14725         MSVC 9.
14726         * doc/posix-functions/fprintf.texi: Likewise.
14727         * doc/posix-functions/printf.texi: Likewise.
14728         * doc/posix-functions/snprintf.texi: Likewise.
14729         * doc/posix-functions/sprintf.texi: Likewise.
14730         * doc/posix-functions/swprintf.texi: Likewise.
14731         * doc/posix-functions/vdprintf.texi: Likewise.
14732         * doc/posix-functions/vfprintf.texi: Likewise.
14733         * doc/posix-functions/vprintf.texi: Likewise.
14734         * doc/posix-functions/vsnprintf.texi: Likewise.
14735         * doc/posix-functions/vsprintf.texi: Likewise.
14736         * doc/glibc-functions/asprintf.texi: Likewise.
14737         * doc/glibc-functions/obstack_printf.texi: Likewise.
14738         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
14739         * doc/glibc-functions/vasprintf.texi: Likewise.
14740
14741 2011-09-10  Bruno Haible  <bruno@clisp.org>
14742
14743         nocrash: Add support for native Windows.
14744         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
14745
14746 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
14747             Bruno Haible  <bruno@clisp.org>
14748
14749         absolute-header, include-next: Add support for MSVC compiler.
14750         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
14751         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
14752         directory separator in #line directives.
14753         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
14754         recognize also backslash as directory separator in #line directives.
14755
14756 2011-09-08  Jim Meyering  <meyering@redhat.com>
14757
14758         maint.mk: mark the post-release commit log with "maint: " prefix
14759         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
14760         one-line commit-log summary.
14761
14762 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
14763             Bruno Haible  <bruno@clisp.org>
14764
14765         Doc about crypt functions.
14766         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
14767         systems.
14768         * doc/posix-functions/encrypt.texi: Likewise.
14769         * doc/posix-functions/setkey.texi: Likewise.
14770
14771 2011-09-08  Simon Josefsson  <simon@josefsson.org>
14772
14773         * lib/gc.h: Fix copyright header.
14774
14775 2011-09-07  Bruno Haible  <bruno@clisp.org>
14776
14777         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
14778         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
14779         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
14780
14781 2011-09-07  Bruno Haible  <bruno@clisp.org>
14782
14783         openat: Work around compilation error with OSF/1 5.1 DTK cc.
14784         * lib/fopen.c: Use different syntax for include of <stdio.h>.
14785         * lib/freopen.c: Likewise.
14786         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
14787         * lib/lstat.c: Likewise.
14788         * lib/stat.c: Likewise.
14789         * lib/open.c: Use different syntax for include of <fcntl.h>.
14790         * lib/openat.c: Include fcntl.h again, explicitly.
14791
14792 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
14793
14794         parse-datetime: document the newly accepted format
14795         * doc/parse-datetime.texi (Combined date and time of day items):
14796         New section.
14797
14798 2011-09-06  Bruno Haible  <bruno@clisp.org>
14799
14800         acl: Fix a test failure on newer Solaris 10 with ZFS.
14801         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
14802         ENOSYS as no ACL.
14803         Reported by Jim Meyering.
14804
14805 2011-09-06  Bruno Haible  <bruno@clisp.org>
14806
14807         acl: Update for AIX >= 5.3 with NFS.
14808         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
14809         ENOSYS as no ACL.
14810
14811         acl: Fix a test failure on AIX >= 5.3 with NFS.
14812         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
14813         as no ACL.
14814
14815 2011-09-06  Bruno Haible  <bruno@clisp.org>
14816
14817         acl: Fix a test failure on IRIX 6.5 with NFS.
14818         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
14819         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
14820         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
14821         * lib/copy-acl.c (qcopy_acl): Likewise.
14822
14823 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14824
14825         openat: port to AIX 7.1 with large files
14826         AIX 7.1 does a "#define openat open64at" if large files are in use,
14827         so we can't simply #undef openat.  Use the orig_openat trick (similar
14828         to orig_open in lib/open.c) to work around the problem.  Problem
14829         reported by Kevin Brott for GNU tar, in the thread containing
14830         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
14831         * lib/openat.c (__need_system_fcntl_h): Define first.
14832         Include <fcntl.h> and <sys/types.h> before undefining.
14833         (orig_openat) [HAVE_OPENAT]: New inline function.
14834         (openat) [HAVE_OPENAT]: Do not undef.
14835         (rpl_openat): Use orig_openat, not openat.
14836
14837 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
14838             Bruno Haible  <bruno@clisp.org>
14839
14840         acl: Avoid errors on NonStop Kernel.
14841         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
14842         ENOTSUP errors.
14843
14844 2011-09-05  Bruno Haible  <bruno@clisp.org>
14845
14846         acl: Clean up Solaris code.
14847         * lib/acl-internal.h: Remove no-op #if.
14848         * lib/file-has-acl.c: Likewise.
14849         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
14850         * lib/copy-acl.c (qcopy_acl): Likewise.
14851
14852 2011-09-05  Bruno Haible  <bruno@clisp.org>
14853
14854         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
14855         binaries built on the original Solaris 10.
14856         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
14857         trivial.
14858
14859 2011-09-05  Bruno Haible  <bruno@clisp.org>
14860
14861         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14862         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
14863         10.
14864         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
14865         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
14866         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
14867         instead of acl_get, facl_get, acl_set, facl_set.
14868
14869 2011-09-05  Bruno Haible  <bruno@clisp.org>
14870
14871         copy-file: Try unit tests on more file systems.
14872         * tests/test-copy-file-1.sh: New file.
14873         * tests/test-copy-file-2.sh: New file.
14874         * modules/copy-file-tests (Files): Add them.
14875         (Makefile.am): Add them to TESTS.
14876
14877         acl: Try unit tests on more file systems.
14878         * tests/test-file-has-acl-1.sh: New file.
14879         * tests/test-file-has-acl-2.sh: New file.
14880         * tests/test-set-mode-acl-1.sh: New file.
14881         * tests/test-set-mode-acl-2.sh: New file.
14882         * tests/test-copy-acl-1.sh: New file.
14883         * tests/test-copy-acl-2.sh: New file.
14884         * modules/acl-tests (Files): Add them.
14885         (Makefile.am): Add them to TESTS.
14886
14887 2011-09-04  Bruno Haible  <bruno@clisp.org>
14888
14889         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14890         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
14891         10.
14892         (OLD_ALLOW, OLD_DENY): New macros.
14893         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
14894         ACE_ACCESS_ALLOWED_ACE_TYPE.
14895         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
14896         ACE_ACCESS_DENIED_ACE_TYPE.
14897         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
14898         (NEW_ACE_EXECUTE): Fix value.
14899         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
14900         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
14901         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
14902         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
14903         NEW_ACE_SYNCHRONIZE): New macros.
14904         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
14905         instead of acl_fromtext, acl_set, facl_set.
14906         Fixes a coreutils/tests/cp/perm failure.
14907
14908 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
14909
14910         openat: test for fstatat (..., 0) bug
14911         Further testing with tar suggests that fstatat (..., 0)
14912         does not work in general, on AIX 7.1; see
14913         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
14914         So, give up entirely on AIX 7.1's fstatat, and fall back on our
14915         replacement fstatat (which is what older AIX releases were using
14916         anyway).
14917         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
14918         use is now changed to orig_fstatat.  This was probably the right
14919         thing to do anyway.
14920         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
14921         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
14922         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
14923         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
14924         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
14925         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
14926         if the bug is found.
14927
14928         openat: test for fstatat (AT_FDCWD, ..., 0) bug
14929         This tests for another fstatat bug on AIX 7.1:
14930         fstatat (AT_FDCWD, ..., 0) does not work.  See
14931         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
14932         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
14933         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
14934         (rpl_fstatat): Adjust so that it works around either (or both)
14935         bugs if present.
14936         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
14937
14938 2011-09-03  Karl Berry  <karl@gnu.org>
14939
14940         * doc/regex.texi (Character Class Operators): Avoid literal ":"
14941         in index entries.
14942
14943 2011-09-02  Bruno Haible  <bruno@clisp.org>
14944
14945         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
14946         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
14947         values of AR, ARFLAGS, RANLIB.
14948         Reported by John W. Eaton <jwe@gnu.org> for Octave.
14949
14950 2011-09-02  Bruno Haible  <bruno@clisp.org>
14951
14952         Find 'ar' program that fits with --host argument.
14953         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
14954
14955 2011-09-02  Bruno Haible  <bruno@clisp.org>
14956
14957         tests: init.sh: Support any non-GNU diff.
14958         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
14959         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
14960         Solaris 8.
14961
14962 2011-09-02  Bruno Haible  <bruno@clisp.org>
14963
14964         tests: init.sh: work also with any non-GNU diff that supports -u
14965         * tests/init.sh: Relax check for diff -u support.
14966         Rather than checking for GNU diff via --version, simply check
14967         for support for -u itself.  Useful at least on OpenBSD 4.9,
14968         AIX 7.1, IRIX 6.5, and Solaris 10.
14969
14970 2011-09-01  Bruno Haible  <bruno@clisp.org>
14971
14972         strtoimax, strtoumax: Document problem on HP-UX 11.
14973         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
14974         * doc/posix-functions/strtoumax.texi: Likewise.
14975
14976 2011-09-01  Bruno Haible  <bruno@clisp.org>
14977
14978         strtoumax: Avoid link error on OSF/1 with DTK cc.
14979         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
14980         defined as a function.
14981         * modules/strtoumax (Depends-on, configure.ac): Test only whether
14982         strtoumax is defined, not whether it is declared.
14983
14984 2011-09-01  Bruno Haible  <bruno@clisp.org>
14985
14986         strtoimax: Avoid link error on OSF/1 with DTK cc.
14987         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
14988         defined as a function.
14989         * modules/strtoimax (Depends-on, configure.ac): Test only whether
14990         strtoimax is defined, not whether it is declared.
14991
14992 2011-09-01  Bruno Haible  <bruno@clisp.org>
14993
14994         imaxdiv: Avoid link error on OSF/1 with DTK cc.
14995         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
14996         as a function.
14997         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
14998         whether it is declared.
14999
15000 2011-09-01  Bruno Haible  <bruno@clisp.org>
15001
15002         imaxabs: Avoid link error on OSF/1 with DTK cc.
15003         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
15004         as a function.
15005         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
15006         whether it is declared.
15007
15008 2011-09-01  Bruno Haible  <bruno@clisp.org>
15009
15010         Tests for module 'strtoumax'.
15011         * modules/strtoumax-tests: New file.
15012         * tests/test-strtoumax.c: New file.
15013
15014         Tests for module 'strtoimax'.
15015         * modules/strtoimax-tests: New file.
15016         * tests/test-strtoimax.c: New file.
15017
15018         Tests for module 'imaxdiv'.
15019         * modules/imaxdiv-tests: New file.
15020         * tests/test-imaxdiv.c: New file.
15021
15022         Tests for module 'imaxabs'.
15023         * modules/imaxabs-tests: New file.
15024         * tests/test-imaxabs.c: New file.
15025
15026 2011-09-01  Bruno Haible  <bruno@clisp.org>
15027
15028         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
15029         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
15030         pthread_create.
15031
15032 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15033
15034         openat: work around AIX 7.1 fstatat issue
15035         This should fix the problem that was not properly fixed
15036         in the previous change, dated 2011-08-30.
15037         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
15038         __need_system_stat_h defined.
15039         (orig_fstatat) [HAVE_FSTATAT]: New function.
15040         (rpl_fstatat): Go back to the old way of doing things,
15041         except call orig_fstatat instead of fstatat.
15042         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
15043         Remove unnecessary check whether fstatat fills in st_size etc.
15044
15045 2011-09-01  Bruno Haible  <bruno@clisp.org>
15046
15047         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
15048         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
15049         just include the system's header.
15050
15051 2011-08-31  Jim Meyering  <meyering@redhat.com>
15052
15053         tests: avoid spurious assertion failure in test-float.c on ppc64
15054         * tests/test-float.c (test_long_double): Comment out an assertion,
15055         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
15056         with gcc-4.4.4.
15057
15058         maint: indent with spaces, not TABs
15059         I need to get in the habit of running gnulib's "make check".
15060         Both of these would have been caught.
15061         * m4/largefile.m4: Indent with spaces, not TABs.
15062         * lib/parse-datetime.y (iso_8601_time): Likewise.
15063         Spotted by Pádraig Brady.
15064
15065         test-parse-datetime.c: accommodate a relatively strict gcc warning
15066         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
15067         to avoid a warning from gcc's -Werror=missing-declarations.
15068         Insert a few spaces-before-funcall-parenthesis.
15069
15070 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
15071
15072         parse-datetime: accept ISO 8601 date and time rep with "T" separator
15073         The parser now accepts ISO 8601 date-time strings with "T" as the
15074         separator.  It has long parsed dates like "2004-02-29 16:21:42"
15075         with a space between the date and time strings.  Now it also parses
15076         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
15077         variants like "2004-02-29T16:21:42.333-07:00"
15078         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
15079         of day representation using the 'T' separator character.
15080         * doc/parse-datetime.texi (General date syntax): replace use of
15081         deprecated --iso-8601 option with --rfc-3339 in example of date
15082         command output formats that can be parsed.
15083         * tests/test-parse-datetime.c (tm_diff): New function, taken from
15084         lib/parse-datetime.y.
15085         (gmt_offset): New function.
15086         (main): Add additional test cases to validate ISO8601 extended
15087         date and time of day parsing.
15088
15089 2011-08-31  Bruno Haible  <bruno@clisp.org>
15090
15091         freopen: Documentation.
15092         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
15093         name.
15094         Reported by Claudio Bley <claudio.bley@gmail.com>.
15095
15096 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
15097
15098         freopen: Don't crash if the filename argument is NULL.
15099         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
15100         NULL.
15101
15102 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
15103
15104         openat: work around AIX 7.1 fstatat bug
15105         Problem reported by Kevin Brott for GNU tar, in the thread containing
15106         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
15107         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
15108         FSTATAT_ST_SIZE_ETC_BROKEN.
15109         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
15110         rpl_fstatat.
15111         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
15112         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
15113         AC_CHECK_FUNCS_ONCE for fstatat.
15114         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
15115         fchmodat, mkdirat, openat and unlinkat.
15116
15117 2011-08-30  Bruno Haible  <bruno@clisp.org>
15118
15119         Avoid endless recursions if config.h includes some header files.
15120         * lib/fopen.c (__need_FILE): Define already before including config.h.
15121         * lib/freopen.c (__need_FILE): Likewise.
15122         * lib/open.c (__need_system_fcntl_h): Likewise.
15123         * lib/stat.c (__need_system_sys_stat_h): Likewise.
15124         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
15125         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
15126
15127 2011-08-25  Karl Berry  <karl@gnu.org>
15128
15129         * config/srclist.txt (ylwrap): new try.
15130         * build-aux/ylwrap: new file.
15131
15132 2011-08-23  Bruno Haible  <bruno@clisp.org>
15133
15134         tmpdir: Use a good default directory on native Windows.
15135         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
15136         (P_tmpdir): Default to _P_tmpdir on native Windows.
15137         (path_search): On native Windows, try the value returned by GetTempPath
15138         before trying P_tmpdir.
15139         * modules/tmpdir (Depends-on): Add pathmax.
15140         Suggested by John Darrington <john@darrington.wattle.id.au>.
15141
15142 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
15143
15144         doc: fix typo in README-release
15145         * top/README-release: Capitalize first word of a sentence.
15146
15147 2011-08-19  Jim Meyering  <meyering@redhat.com>
15148
15149         fts: do not exhaust memory when processing million-entry directories
15150         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
15151         directory would require about 256*N bytes of memory.  Thus, it was
15152         easy to construct a directory too large to be processed by any of
15153         those tools.  With this change, fts' maximum memory utilization is
15154         now limited to around 30MB.
15155         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
15156         (fts_read): When we've processed the final entry (i.e., when
15157         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
15158         using the parent entry to read any remaining entries.  Dispatch
15159         depending on what fts_build returns:
15160         - NULL+stop, aka failure: stop
15161         - NULL otherwise: move up in the dir hierarchy
15162         - non-NULL: handle this new entry
15163         (fts_build): Declare and use new local, continue_readdir.
15164         Prepare to be called from fts_read, when the entries
15165         from a partially-read directory have just been exhausted.
15166         In that case, we'll skip the opendir and instead use the parent's
15167         fts_dirp and derive dir_fd from that.
15168         Finally, in the readdir loop, if we read max_entries entries,
15169         exit the loop ensuring *not* to call closedir.  This is required
15170         so that fts_dirp can be reused on a subsequent call.
15171         Prompted by Ben England's report of memory exhaustion in find
15172         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
15173
15174         maint: fts: move decl of `dp' down into while loop; split a long line
15175         * lib/fts.c (fts_build): No semantic change.
15176
15177         fts: add/use new struct member, fts_dirp
15178         We are about to use this to manage any directory with
15179         too many entries to read all of them into memory at once.
15180         To do that, we'll need to save the DIR* pointer in each
15181         affected FTSENT struct.
15182         * lib/fts_.h: Include <dirent.h>.
15183         (struct FTSENT) [fts_dirp]: New member.
15184         * lib/fts.c (closedir_and_clear): Define.
15185         Use it in place of closedir so that we are sure to
15186         clear the new fts_dirp member when done with it.
15187         (fts_alloc): Initialize the new member.
15188         (fts_lfree): Free, if needed.
15189
15190         maint: fts: give __opendir2 a new parameter and rename
15191         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
15192         than surreptitiously using sole caller's "dir_fd".
15193         (fts_opendir): Rename from __opendir2.
15194
15195         maint: fts.c: remove __opendir2's now-unused parameter, oflag
15196         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
15197
15198         maint: fts.c: correct off-by-one indentation
15199         * lib/fts.c (fts_build): Correct indentation, change style
15200         of a couple of block comments, and bracing style.
15201
15202         maint: fts.c: move __opendir2 #define "up" out of function body
15203         * lib/fts.c (__opendir2): Move "up".  No semantic change.
15204
15205         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
15206         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
15207         out for a long time and besides was useful only on BSD systems.
15208
15209 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
15210
15211         regex: port to Stratus OpenVOS
15212         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
15213         define to empty, rather than attempting nonportable optimizations.
15214         Problem reported by Paul Green in:
15215         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
15216         and fix suggested by Eric Blake in:
15217         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
15218
15219 2011-08-17  Eric Blake  <eblake@redhat.com>
15220
15221         getcwd: fix test failures on mingw
15222         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
15223         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
15224         test if long directory cannot be created, and allow mingw errno.
15225
15226         getcwd-lgpl: fix m4 to match relaxed test for BSD
15227         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
15228         (gl_FUNC_GETCWD_SIGNATURE): New macro.
15229         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
15230         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
15231         signature problem.
15232
15233         getcwd: fix compilation on mingw64
15234         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
15235         getcwd.
15236         Reported by Marc-André Lureau.
15237
15238         pipe2: silence compiler warning
15239         * lib/pipe2.c (pipe2): Hide label if it is not used.
15240
15241 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
15242
15243         relocatable-prog: fix link error
15244         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
15245         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
15246         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
15247         into modules/relocatable-lib without noticing that
15248         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
15249         also needs to build relocatable.c.
15250
15251 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15252
15253         getaddrinfo: fix sh typo in gai_strerrorA decl checking
15254         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
15255         shell code: it contained a 'break' that was not in a loop.
15256         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
15257         via a shell-language loop; this may have been true in old Autoconf
15258         versions, but it's not true in Autoconf 2.68.  I found this bug
15259         when testing coreutils git on Solaris 8, whose shell complains
15260         about the syntax error.
15261
15262 2011-08-12  Simon Josefsson  <simon@josefsson.org>
15263
15264         * lib/base64.c: Fix comment to reference RFC 4648.
15265         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
15266         <gvtulder@gmail.com>.
15267
15268 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
15269
15270         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
15271
15272         po/Makefile.in.in: fix make -q problem
15273         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
15274         rule, since there's no file named 'check-macro-version' and its
15275         use as a file breaks make -q.
15276         (all): Don't depend on check-macro-version.
15277         (CHECK_MACRO_VERSION): New macro.
15278         (stamp-po): Use it.
15279
15280         configmake: fix make -q problem
15281         * modules/configmake (configmake.h): Update configmake.h's time stamp
15282         even if the file does not change.  Otherwise, 'make -q' fails.
15283         Problem reported by Simon Josefsson in
15284         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
15285
15286 2011-08-11  Jim Meyering  <meyering@redhat.com>
15287
15288         git-version-gen: correct the advice in a comment
15289         * build-aux/git-version-gen: Correct comment.
15290         Don't recommend to list .tarball-version in .gitignore.
15291
15292 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
15293
15294         base64: fix off-by-one buffer size bug
15295         Problem and (trivial) fix reported by Gijs van Tulder in
15296         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
15297         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
15298         * tests/test-base64.c (main): Catch the bug.
15299
15300 2011-08-10  Eric Blake  <eblake@redhat.com>
15301
15302         closein: correct comments
15303         * lib/closein.c (close_stdin): Improve comments.
15304
15305 2011-08-09  Bruno Haible  <bruno@clisp.org>
15306
15307         More tests for 'fseeko'.
15308         * tests/test-fseeko3.c: New file, from Eric Blake.
15309         * tests/test-fseeko3.sh: New file.
15310         * modules/fseeko-tests (Files): Add them.
15311         (TESTS): Add test-fseeko3.sh.
15312         (check_PROGRAMS): Add test-fseeko3.
15313
15314 2011-08-09  Eric Blake  <eblake@redhat.com>
15315
15316         fseeko: remove unneeded hack
15317         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
15318
15319         fseeko: fix bug on glibc
15320         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
15321         Reported by John W. Eaton.
15322
15323 2011-08-08  Bruno Haible  <bruno@clisp.org>
15324
15325         unictype/base: Fix interoperability with preinstalled libunistring.
15326         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
15327         Reported by Simon Josefsson.
15328
15329 2011-08-08  Bruno Haible  <bruno@clisp.org>
15330
15331         iswblank: Detect declaration correctly.
15332         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
15333         AC_CHECK_DECLS invocation.
15334
15335 2011-08-08  Bruno Haible  <bruno@clisp.org>
15336
15337         tcgetsid: Detect declaration correctly.
15338         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
15339         AC_CHECK_DECLS invocation.
15340         Reported by Simon Josefsson.
15341
15342 2011-08-08  Eric Blake  <eblake@redhat.com>
15343
15344         largefile: fix typo that regressed large file support
15345         * modules/largefile (configure.ac-early): Fix section name.
15346
15347 2011-08-06  Karl Berry  <karl@gnu.org>
15348
15349         * MODULES.html.sh (func_all_files): _Noreturn is no longer
15350         a separate module.
15351
15352 2011-08-05  Simon Josefsson  <simon@josefsson.org>
15353
15354         openat: Fix warnings and commens when building unlinkat.c on Hurd.
15355         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
15356         get prototype for free.
15357
15358 2011-08-04  Bruno Haible  <bruno@clisp.org>
15359
15360         Tests for module 'pathmax'.
15361         * modules/pathmax-tests: New file.
15362         * tests/test-pathmax.c: New file.
15363
15364         canonicalize-lgpl: Support larger filenames on the Hurd.
15365         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
15366         Reported by Paul Eggert.
15367
15368         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
15369         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
15370         * lib/chdir-long.h: Include pathmax.h.
15371         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
15372         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
15373         (PATH_MAX): Remove code that is done by pathmax.h.
15374         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
15375         * lib/tmpfile.c: Add a comment.
15376         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
15377         * modules/chdir-long (Depends-on): Add pathmax.
15378         * modules/getcwd (Depends-on): Add pathmax.
15379         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
15380         is not defined.
15381         * doc/posix-headers/limits.texi: Mention the pathmax module.
15382         * NEWS: Mention the change.
15383
15384 2011-08-02  Bruno Haible  <bruno@clisp.org>
15385
15386         pthread_sigmask: Actually use results of gl_THREADLIB.
15387         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
15388         gl_THREADLIB, not gl_[]THREADLIB.
15389         Reported by Eric Blake.
15390
15391 2011-08-02  Jim Meyering  <meyering@redhat.com>
15392
15393         maint.mk: relax the default _gl_TS_function_match regexp
15394         * top/maint.mk (_gl_TS_function_match): Don't require at least one
15395         space between function name and "(" in an "extern" declaration.
15396         That would fail to match a decl with no space there: extern void foo();
15397
15398 2011-07-31  Iain Nicol  <iain@thenicols.net>
15399
15400         git-version-gen: document that EXTRA_DIST must include .version
15401         * build-aux/git-version-gen: In the how-to-use comment, document
15402         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
15403         will fail when run from an unpacked distribution tarball.
15404
15405 2011-08-01  Bruno Haible  <bruno@clisp.org>
15406
15407         wctype-h: Fix last change.
15408         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
15409         REPLACE_TOWLOWER to 0.
15410         Reported by Sam Steingold <sds@gnu.org>.
15411
15412 2011-07-31  Bruno Haible  <bruno@clisp.org>
15413
15414         frexpl: Update autoconf test.
15415         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
15416         according to changes of 2011-06-20.
15417
15418 2011-07-31  Bruno Haible  <bruno@clisp.org>
15419
15420         sys_utsname: Add support for Minix.
15421         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
15422         <sys/utsname.h>.
15423         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15424         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
15425
15426 2011-07-31  Bruno Haible  <bruno@clisp.org>
15427
15428         strings: Add support for Minix.
15429         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
15430         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
15431         * doc/posix-headers/strings.texi: Document the Minix problem.
15432
15433 2011-07-31  Bruno Haible  <bruno@clisp.org>
15434
15435         wctype-h: Add support for Minix.
15436         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
15437         REPLACE_TOWLOWER.
15438         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
15439         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
15440         REPLACE_ISWCNTRL.
15441
15442 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
15443
15444         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
15445         This is a performance improvement for 64-bit hosts: it causes the
15446         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
15447
15448 2011-07-31  Bruno Haible  <bruno@clisp.org>
15449
15450         stdioext: Add support for Minix.
15451         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
15452         * lib/fpurge.c (fpurge): Likewise.
15453         * lib/freadahead.c (freadahead): Likewise.
15454         * lib/freadable.c (freadable): Likewise.
15455         * lib/freading.c (freading): Likewise.
15456         * lib/freadptr.c (freadptr): Likewise.
15457         * lib/freadseek.c (freadptrinc): Likewise.
15458         * lib/fseeko.c (rpl_fseeko): Likewise.
15459         * lib/fseterr.c (fseterr): Likewise.
15460         * lib/fwritable.c (fwritable): Likewise.
15461         * lib/fwriting.c (fwriting): Likewise.
15462         * lib/fflush.c (clear_ungetc_buffer): Update comment.
15463         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
15464
15465 2011-07-31  Bruno Haible  <bruno@clisp.org>
15466
15467         errno: Port to Minix.
15468         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
15469         ECONNABORTED are defined.
15470         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
15471         GNULIB_defined_ECONNABORTED): New macros.
15472         * lib/strerror-override.h (strerror_override): Test also
15473         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
15474         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
15475         ECONNABORTED.
15476         * doc/posix-headers/errno.texi: Mention the Minix problem.
15477
15478 2011-07-31  Bruno Haible  <bruno@clisp.org>
15479
15480         Work around declaration collisions on Minix.
15481         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
15482         defined, set REPLACE_MBSINIT.
15483         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
15484         defined, set REPLACE_MBRTOWC.
15485         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
15486         set REPLACE_MBRLEN.
15487         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
15488         defined, set REPLACE_MBSRTOWCS.
15489         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
15490         defined, set REPLACE_WCRTOMB.
15491         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
15492         defined, set REPLACE_WCSRTOMBS.
15493
15494 2011-07-31  Bruno Haible  <bruno@clisp.org>
15495
15496         Add support for Minix with ACK compiler.
15497         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
15498         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
15499         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
15500
15501 2011-07-31  Bruno Haible  <bruno@clisp.org>
15502
15503         Documentation about Minix.
15504         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
15505         * doc/glibc-headers/*.texi: Likewise.
15506         * doc/posix-functions/*.texi: Likewise.
15507         * doc/glibc-functions/*.texi: Likewise.
15508
15509 2011-07-31  Bruno Haible  <bruno@clisp.org>
15510
15511         snippet/warn-on-use: Fix indentation.
15512         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
15513
15514 2011-07-25  Jim Meyering  <meyering@redhat.com>
15515
15516         tests: test-update-copyright.sh: remove unnecessary "rm" commands
15517         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
15518         commands.
15519
15520 2011-07-27  Jim Meyering  <meyering@redhat.com>
15521
15522         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
15523         * top/maint.mk (gl_extract_significant_defines_): Now that
15524         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
15525         gnulib/lib/signal.in.h, and now that we recommend to
15526         define-if-undefined those two symbols in application code,
15527         we must filter them out of the "significant" list.
15528         This avoids a "make syntax-check" failure in coreutils.
15529
15530 2011-07-26  Eric Blake  <eblake@redhat.com>
15531
15532         warnings: add comments about previous patch
15533         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
15534         * m4/include_next.m4: Likewise.
15535         * m4/warn-on-use.m4: Likewise.
15536         * m4/warnings.m4: Likewise, and simplify use.
15537         Suggested by Stefano Lattarini.
15538
15539         include-next, warnings: support older autoconf
15540         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
15541         AS_VAR_PUSHDEF in a way that works with older autoconf.
15542         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
15543         Reported by Daniel P. Berrange.
15544
15545 2011-07-25  Bruno Haible  <bruno@clisp.org>
15546
15547         fseek, ftell: Fix doc.
15548         * doc/posix-functions/fseek.texi: Reword statement about
15549         AC_SYS_LARGEFILE.
15550         * doc/posix-functions/ftell.texi: Likewise.
15551
15552 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15553             Bruno Haible  <bruno@clisp.org>
15554
15555         Add dependencies to the 'largefile' module.
15556         * modules/fopen (Depends-on): Add 'largefile'.
15557         * modules/freopen (Depends-on): Likewise.
15558         * modules/fseeko (Depends-on): Likewise.
15559         * modules/ftello (Depends-on): Likewise.
15560         * modules/glob (Depends-on): Likewise.
15561         * modules/lseek (Depends-on): Likewise.
15562         * modules/lstat (Depends-on): Likewise.
15563         * modules/mkostemp (Depends-on): Likewise.
15564         * modules/mkostemps (Depends-on): Likewise.
15565         * modules/mkstemp (Depends-on): Likewise.
15566         * modules/mkstemps (Depends-on): Likewise.
15567         * modules/open (Depends-on): Likewise.
15568         * modules/openat (Depends-on): Likewise.
15569         * modules/pread (Depends-on): Likewise.
15570         * modules/pwrite (Depends-on): Likewise.
15571         * modules/scandir (Depends-on): Likewise.
15572         * modules/stat (Depends-on): Likewise.
15573         * modules/tmpfile (Depends-on): Likewise.
15574         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
15575         since the containing module now depends on the largefile module.
15576         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
15577         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
15578         off_t is fixed by gnulib.
15579         * doc/posix-functions/freopen.texi: Likewise.
15580         * doc/posix-functions/fseeko.texi: Likewise.
15581         * doc/posix-functions/fstatat.texi: Likewise.
15582         * doc/posix-functions/ftello.texi: Likewise.
15583         * doc/posix-functions/glob.texi: Likewise.
15584         * doc/posix-functions/lseek.texi: Likewise.
15585         * doc/posix-functions/lstat.texi: Likewise.
15586         * doc/posix-functions/mkstemp.texi: Likewise.
15587         * doc/posix-functions/open.texi: Likewise.
15588         * doc/posix-functions/openat.texi: Likewise.
15589         * doc/posix-functions/pread.texi: Likewise.
15590         * doc/posix-functions/pwrite.texi: Likewise.
15591         * doc/posix-functions/scandir.texi: Likewise.
15592         * doc/posix-functions/stat.texi: Likewise.
15593         * doc/posix-functions/tmpfile.texi: Likewise.
15594         * doc/glibc-functions/mkostemp.texi: Likewise.
15595         * doc/glibc-functions/mkostemps.texi: Likewise.
15596         * doc/glibc-functions/mkstemps.texi: Likewise.
15597
15598 2011-07-25  Bruno Haible  <bruno@clisp.org>
15599
15600         fcntl: Move AC_LIBOBJ invocation to module description.
15601         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
15602         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
15603
15604         fcntl: Remove call-in from fchdir.m4.
15605         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
15606         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
15607
15608         dup3: Remove potential call-in from fchdir.m4.
15609         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
15610         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
15611
15612         dup2: Move AC_LIBOBJ invocation to module description.
15613         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
15614         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
15615         Don't invoke AC_LIBOBJ.
15616         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
15617
15618         dup2: Remove call-in from fchdir.m4.
15619         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
15620         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
15621
15622         fclose: Move AC_LIBOBJ invocation to module description.
15623         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
15624         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
15625         to 1.
15626         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
15627
15628         fclose: Remove call-in from close.m4.
15629         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
15630         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
15631
15632         close: Move AC_LIBOBJ invocation to module description.
15633         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
15634         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
15635         1.
15636         * modules/close (configure.ac): Invoke AC_LIBOBJ.
15637
15638         close: Remove call-in from fchdir.m4.
15639         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
15640         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
15641
15642         open: Move AC_LIBOBJ invocation to module description.
15643         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
15644         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
15645         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
15646
15647         open: Remove call-in from fchdir.m4.
15648         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
15649         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
15650
15651         fchdir: Start to remove gl_REPLACE_* idiom.
15652         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
15653         (gl_FUNC_FCHDIR): Invoke it.
15654
15655 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15656
15657         * lib/ftell.c (ftell): Comment out cast.
15658
15659         close: use gl_REPLACE_FCLOSE only if defined
15660         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
15661         is defined.  The close module doesn't depend on the fclose module
15662         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
15663         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
15664         I reproduced the problem with "./gnulib-tool --test close sys_socket".
15665
15666 2011-07-24  Jim Meyering  <meyering@redhat.com>
15667
15668         test-select.h: avoid warning when using gcc's -Wmissing-declarations
15669         * tests/test-select.h (test_function): Declare as "static".
15670
15671 2011-07-24  Bruno Haible  <bruno@clisp.org>
15672
15673         doc: Mention the effects of AC_SYS_LARGEFILE.
15674         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
15675         on this function.
15676         * doc/posix-functions/aio_error.texi: Likewise.
15677         * doc/posix-functions/aio_fsync.texi: Likewise.
15678         * doc/posix-functions/aio_read.texi: Likewise.
15679         * doc/posix-functions/aio_return.texi: Likewise.
15680         * doc/posix-functions/aio_suspend.texi: Likewise.
15681         * doc/posix-functions/aio_write.texi: Likewise.
15682         * doc/posix-functions/fgetpos.texi: Likewise.
15683         * doc/posix-functions/fopen.texi: Likewise.
15684         * doc/posix-functions/freopen.texi: Likewise.
15685         * doc/posix-functions/fsetpos.texi: Likewise.
15686         * doc/posix-functions/fstatvfs.texi: Likewise.
15687         * doc/posix-functions/ftruncate.texi: Likewise.
15688         * doc/posix-functions/ftw.texi: Likewise.
15689         * doc/posix-functions/getrlimit.texi: Likewise.
15690         * doc/posix-functions/glob.texi: Likewise.
15691         * doc/posix-functions/lio_listio.texi: Likewise.
15692         * doc/posix-functions/lockf.texi: Likewise.
15693         * doc/posix-functions/mkstemp.texi: Likewise.
15694         * doc/posix-functions/mmap.texi: Likewise.
15695         * doc/posix-functions/nftw.texi: Likewise.
15696         * doc/posix-functions/openat.texi: Likewise.
15697         * doc/posix-functions/opendir.texi: Likewise.
15698         * doc/posix-functions/posix_fadvise.texi: Likewise.
15699         * doc/posix-functions/posix_fallocate.texi: Likewise.
15700         * doc/posix-functions/pread.texi: Likewise.
15701         * doc/posix-functions/pwrite.texi: Likewise.
15702         * doc/posix-functions/readdir.texi: Likewise.
15703         * doc/posix-functions/readdir_r.texi: Likewise.
15704         * doc/posix-functions/rewinddir.texi: Likewise.
15705         * doc/posix-functions/scandir.texi: Likewise.
15706         * doc/posix-functions/seekdir.texi: Likewise.
15707         * doc/posix-functions/setrlimit.texi: Likewise.
15708         * doc/posix-functions/statvfs.texi: Likewise.
15709         * doc/posix-functions/telldir.texi: Likewise.
15710         * doc/posix-functions/tmpfile.texi: Likewise.
15711         * doc/posix-functions/truncate.texi: Likewise.
15712         * doc/glibc-functions/fallocate.texi: Likewise.
15713         * doc/glibc-functions/fstatfs.texi: Likewise.
15714         * doc/glibc-functions/fts_children.texi: Likewise.
15715         * doc/glibc-functions/fts_read.texi: Likewise.
15716         * doc/glibc-functions/getdirentries.texi: Likewise.
15717         * doc/glibc-functions/mkostemp.texi: Likewise.
15718         * doc/glibc-functions/mkostemps.texi: Likewise.
15719         * doc/glibc-functions/mkstemps.texi: Likewise.
15720         * doc/glibc-functions/preadv.texi: Likewise.
15721         * doc/glibc-functions/pwritev.texi: Likewise.
15722         * doc/glibc-functions/sendfile.texi: Likewise.
15723         * doc/glibc-functions/statfs.texi: Likewise.
15724
15725 2011-07-24  Bruno Haible  <bruno@clisp.org>
15726
15727         doc: Fix typo.
15728         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
15729
15730 2011-07-24  Bruno Haible  <bruno@clisp.org>
15731
15732         doc: Mention fsusage.
15733         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
15734
15735 2011-07-24  Bruno Haible  <bruno@clisp.org>
15736
15737         doc: Mention new glibc headers and functions.
15738         * doc/glibc-headers/gshadow.texi: New file.
15739         * doc/glibc-functions/endsgent.texi: New file.
15740         * doc/glibc-functions/fgetsgent.texi: New file.
15741         * doc/glibc-functions/fgetsgent_r.texi: New file.
15742         * doc/glibc-functions/getsgent.texi: New file.
15743         * doc/glibc-functions/getsgent_r.texi: New file.
15744         * doc/glibc-functions/getsgnam.texi: New file.
15745         * doc/glibc-functions/getsgnam_r.texi: New file.
15746         * doc/glibc-functions/putsgent.texi: New file.
15747         * doc/glibc-functions/setsgent.texi: New file.
15748         * doc/glibc-functions/sgetsgent.texi: New file.
15749         * doc/glibc-functions/sgetsgent_r.texi: New file.
15750         * doc/glibc-functions/malloc_info.texi: New file.
15751         * doc/glibc-functions/preadv.texi: New file.
15752         * doc/glibc-functions/pwritev.texi: New file.
15753         * doc/glibc-functions/register_printf_modifier.texi: New file.
15754         * doc/glibc-functions/register_printf_specifier.texi: New file.
15755         * doc/glibc-functions/register_printf_type.texi: New file.
15756         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
15757         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
15758         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
15759         * doc/glibc-functions/pthread_getname_np.texi: New file.
15760         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
15761         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
15762         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
15763         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
15764         * doc/glibc-functions/pthread_setname_np.texi: New file.
15765         * doc/glibc-functions/pthread_sigqueue.texi: New file.
15766         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
15767         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
15768         * doc/glibc-functions/qsort_r.texi: New file.
15769         * doc/glibc-functions/quick_exit.texi: New file.
15770         * doc/glibc-functions/syncfs.texi: New file.
15771         * doc/gnulib.texi: Include them.
15772         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
15773         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
15774         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
15775         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
15776         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
15777         * doc/glibc-functions/execvpe.texi: Likewise.
15778
15779 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15780
15781         ftell: don't include <unistd.h>
15782         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
15783         guaranteed to define off_t, and the ftell module depends on the
15784         stdio module.
15785
15786         ftell: do not assume wraparound signed arithmetic
15787         * lib/ftell.c: Include <limits.h>.
15788         (ftell): Don't assume wraparound signed arithmetic.
15789
15790 2011-07-24  Bruno Haible  <bruno@clisp.org>
15791
15792         close: No longer depend on module 'fclose'.
15793         * modules/close (Depends-on): Remove fclose.
15794         * NEWS: Mention the change.
15795         Suggested by Sam Steingold <sds@gnu.org>.
15796
15797 2011-07-24  Bruno Haible  <bruno@clisp.org>
15798
15799         fsusage: Enable large volume support on AIX >= 5.2.
15800         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
15801         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
15802         instead of STAT_STATVFS.
15803         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
15804
15805         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
15806         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
15807         f_blocks field only on MacOS X.
15808
15809         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
15810         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
15811         * modules/fsusage (Depends-on): Add largefile.
15812
15813 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15814
15815         * README: Modernize discussion of signed integers.
15816         Assuming overflow wraparound is no longer safe.
15817         Mention ones' complement and signed magnitude.
15818
15819 2011-07-22  Bruno Haible  <bruno@clisp.org>
15820
15821         select tests, pselect tests: Refactor.
15822         * tests/test-select.h: New file, extracted from tests/test-select.c.
15823         (select_fn): New type.
15824         (test, do_select, do_select_nowait, do_select_wait, test_tty,
15825         test_connect_first, test_accept_first, test_pair, test_socket_pair,
15826         test_pipe): Add my_select argument.
15827         (test_function): Renamed from main. Add my_select argument.
15828         * tests/test-select.c: Move most code to tests/test-select.h. Include
15829         test-select.h.
15830         * modules/select-tests (Files): Add tests/test-select.h.
15831         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
15832         (my_select, main): New functions.
15833         * modules/pselect-tests (Files): Add tests/test-select.h,
15834         tests/macros.h, tests/signature.h.
15835         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
15836         (configure.ac): Check for <sys/wait.h>.
15837
15838 2011-07-22  Bruno Haible  <bruno@clisp.org>
15839
15840         sys_select tests: Check the signature of FD_*.
15841         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
15842         signature tests from here...
15843         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
15844         here.
15845         * modules/sys_select-tests (Files): Add tests/signature.h.
15846
15847 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
15848
15849         largefile: new module, replacing large-inode
15850         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
15851         * MODULES.html.sh: Add largefile, remove large-inode.
15852         * modules/largefile, m4/largefile.m4: New files.
15853         * modules/large-inode, m4/large-inode.m4: Remove.
15854
15855         fsusage: port to MacOS X 10.7 with 4 TiB file systems
15856         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
15857         implementations that use only 32 bits to count blocks.
15858         On typical hosts with 1024-byte blocks, this fails with file
15859         systems as small as 4 TiB.  Problem reported by Herb Wartens
15860         <http://debbugs.gnu.org/9140> and this should also fix a similar
15861         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
15862
15863         large-inode: New module
15864         * MODULES.html.sh: Add it.
15865         * modules/large-inode, m4/large-inode.m4: New files.
15866
15867         extensions: Enable extensions on MacOS X 10.5 and later.
15868         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
15869
15870 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
15871
15872         file-has-acl: use acl_extended_file_nofollow if available
15873         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
15874         (acl_extended_file): New macro.
15875         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
15876         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
15877
15878 2011-07-21  Bruno Haible  <bruno@clisp.org>
15879
15880         Declare system functions in a way that works with C++.
15881         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
15882         declare fdopendir as extern "C".
15883         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
15884         declare frexpl as extern "C".
15885         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
15886         declare gai_strerror as extern "C".
15887         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
15888         programs, declare gai_strerror as extern "C".
15889         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
15890         declare getlogin_r as extern "C".
15891         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
15892         as extern "C".
15893         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
15894         declare ldexpl as extern "C".
15895         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
15896         as extern "C".
15897         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
15898         program, declare getmntinfo as extern "C".
15899         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
15900         stpncpy as extern "C".
15901         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
15902         program, declare __xpg_strerror_r as extern "C".
15903         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
15904         strndup as extern "C".
15905         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
15906         declare memset and bzero as extern "C".
15907         Reported by Sam Steingold <sds@gnu.org>.
15908
15909 2011-07-12  Jim Meyering  <meyering@redhat.com>
15910
15911         maint.mk: prohibit inclusion of "verify.h" without use
15912         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
15913
15914 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15915
15916         timer-time: A new module to check for timer_settime()
15917         * m4/timer_time.m4: Check for the posix function.
15918         * modules/timer-time: Add the new module.
15919         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
15920         Mention it.
15921
15922 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
15923             Bruno Haible  <bruno@clisp.org>
15924
15925         pthread_sigmask: assume POSIX threads if --avoid=threadlib
15926         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
15927         not defined, assume POSIX threads and look for pthread_sigmask in
15928         $LIBS, without changing $CPPFLAGS.
15929
15930 2011-07-19  Bruno Haible  <bruno@clisp.org>
15931
15932         strstr: Update cross-compilation guess.
15933         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
15934         CPUs, guess no, in view of glibc
15935         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
15936         Suggested by Eric Blake. Reported by Reuben Thomas.
15937
15938 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15939
15940         getopt-gnu: suppress core dumps from detection code
15941         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
15942         to suppress core dumps that may well occur on glibc systems.
15943         * modules/getopt-gnu: Depend on nocrash.
15944
15945 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
15946
15947         pthread_sigmask: ensure usleep is declared
15948         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
15949         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
15950
15951 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
15952
15953         doc: Document NonStop portability issues.
15954         * doc/posix-functions/sigaction.texi (sigaction):
15955         * doc/posix-headers/signal.texi (signal.h):
15956         Document NonStop.  See Joachim Schmitz in
15957         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
15958
15959 2011-07-15  Bruno Haible  <bruno@clisp.org>
15960
15961         ffsl, ffsll: Avoid unportable behaviour.
15962         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
15963
15964 2011-07-15  Bruno Haible  <bruno@clisp.org>
15965
15966         ffs: More tests.
15967         * tests/test-ffs.c (NBITS): New macro.
15968         (main): Add more tests.
15969         * tests/test-ffsl.c (NBITS): New macro.
15970         (main): Add more tests.
15971         * tests/test-ffsll.c (NBITS): New macro.
15972         (main): Add more tests.
15973
15974 2011-07-15  Eric Blake  <eblake@redhat.com>
15975
15976         ffsl, ffsll: new modules
15977         * modules/ffsl: New file.
15978         * modules/ffsll: Likewise.
15979         * m4/ffsl.m4: Likewise.
15980         * m4/ffsll.m4: Likewise.
15981         * lib/ffsl.c: Likewise.
15982         * lib/ffsl.h: Likewise.
15983         * lib/ffsll.c: Likewise.
15984         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
15985         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
15986         * modules/string (Makefile.am): Substitute witnesses.
15987         * lib/strings.in.h (ffsl, ffsll): Declare.
15988         * modules/ffsl-tests: New test file.
15989         * modules/ffsll-tests: Likewise.
15990         * tests/test-ffsl.c: Likewise.
15991         * tests/test-ffsll.c: Likewise.
15992         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15993         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
15994         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
15995
15996         ffs: fix m4 prerequisite
15997         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
15998
15999         ffs: avoid undefined behavior
16000         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
16001         * tests/test-ffs.c (naive, main): Avoid signed shifts.
16002         Reported by Bruno Haible.
16003
16004 2011-07-12  Bruno Haible  <bruno@clisp.org>
16005
16006         pthread_sigmask: Rely on module 'threadlib'.
16007         * modules/pthread_sigmask (Depends-on): Add threadlib.
16008         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
16009         is defined.
16010
16011 2011-07-12  Bruno Haible  <bruno@clisp.org>
16012
16013         regex: Depend on module 'strcase'.
16014         * modules/regex (Depends-on): Add strcase, for strcasecmp().
16015
16016 2011-07-12  Jim Meyering  <meyering@redhat.com>
16017
16018         warn-on-use: fix typo in file name
16019         * modules/snippet/warn-on-use (Files): Correct file name:
16020         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
16021
16022 2011-07-12  Bruno Haible  <bruno@clisp.org>
16023
16024         strings: Document module.
16025         * doc/posix-headers/strings.texi: Mention module 'strings'.
16026
16027 2011-07-12  Bruno Haible  <bruno@clisp.org>
16028
16029         Rename module '_Noreturn' to 'snippet/_Noreturn'.
16030         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
16031         (Files, Makefile.am): Update.
16032         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
16033         * modules/stdlib (Depends-on): Update.
16034
16035 2011-07-12  Bruno Haible  <bruno@clisp.org>
16036
16037         * NEWS: Mention the changes.
16038
16039         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
16040         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
16041         (Files, Makefile.am): Update.
16042         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
16043         * modules/arpa_inet (Depends-on): Update.
16044         * modules/ctype (Depends-on): Update.
16045         * modules/dirent (Depends-on): Update.
16046         * modules/fcntl-h (Depends-on): Update.
16047         * modules/glob (Depends-on): Update.
16048         * modules/iconv-h (Depends-on): Update.
16049         * modules/inttypes-incomplete (Depends-on): Update.
16050         * modules/langinfo (Depends-on): Update.
16051         * modules/locale (Depends-on): Update.
16052         * modules/math (Depends-on): Update.
16053         * modules/netdb (Depends-on): Update.
16054         * modules/poll-h (Depends-on): Update.
16055         * modules/pty (Depends-on): Update.
16056         * modules/search (Depends-on): Update.
16057         * modules/signal (Depends-on): Update.
16058         * modules/spawn (Depends-on): Update.
16059         * modules/stdio (Depends-on): Update.
16060         * modules/stdlib (Depends-on): Update.
16061         * modules/string (Depends-on): Update.
16062         * modules/strings (Depends-on): Update.
16063         * modules/sys_file (Depends-on): Update.
16064         * modules/sys_ioctl (Depends-on): Update.
16065         * modules/sys_select (Depends-on): Update.
16066         * modules/sys_socket (Depends-on): Update.
16067         * modules/sys_stat (Depends-on): Update.
16068         * modules/sys_time (Depends-on): Update.
16069         * modules/sys_times (Depends-on): Update.
16070         * modules/sys_utsname (Depends-on): Update.
16071         * modules/sys_wait (Depends-on): Update.
16072         * modules/termios (Depends-on): Update.
16073         * modules/time (Depends-on): Update.
16074         * modules/unistd (Depends-on): Update.
16075         * modules/wchar (Depends-on): Update.
16076         * modules/wctype-h (Depends-on): Update.
16077         * MODULES.html.sh (Support for building libraries and executables):
16078         Update.
16079
16080         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
16081         * modules/snippet/unused-parameter: Renamed from
16082         modules/unused-parameter.
16083         (Files, Makefile.am): Update.
16084         * build-aux/snippet/unused-parameter.h: Renamed from
16085         build-aux/unused-parameter.h.
16086         * modules/selinux-h (Depends-on): Update.
16087         * modules/unistr/base (Depends-on): Update.
16088         * MODULES.html.sh (Core language properties): Update.
16089
16090         Rename module 'link-warning' to 'snippet/link-warning'.
16091         * modules/snippet/link-warning: Renamed from modules/link-warning.
16092         (Files, Makefile.am): Update.
16093         * build-aux/snippet/link-warning.h: Renamed from
16094         build-aux/link-warning.h.
16095         * MODULES.html.sh (Support for building libraries and executables):
16096         Update.
16097
16098         Rename module 'c++defs' to 'snippet/c++defs'.
16099         * modules/snippet/c++defs: Renamed from modules/c++defs.
16100         (Files, Makefile.am): Update.
16101         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
16102         * modules/arpa_inet (Depends-on): Update.
16103         * modules/ctype (Depends-on): Update.
16104         * modules/dirent (Depends-on): Update.
16105         * modules/fcntl-h (Depends-on): Update.
16106         * modules/glob (Depends-on): Update.
16107         * modules/iconv-h (Depends-on): Update.
16108         * modules/langinfo (Depends-on): Update.
16109         * modules/locale (Depends-on): Update.
16110         * modules/math (Depends-on): Update.
16111         * modules/netdb (Depends-on): Update.
16112         * modules/poll-h (Depends-on): Update.
16113         * modules/pty (Depends-on): Update.
16114         * modules/search (Depends-on): Update.
16115         * modules/signal (Depends-on): Update.
16116         * modules/spawn (Depends-on): Update.
16117         * modules/stdio (Depends-on): Update.
16118         * modules/stdlib (Depends-on): Update.
16119         * modules/string (Depends-on): Update.
16120         * modules/strings (Depends-on): Update.
16121         * modules/sys_ioctl (Depends-on): Update.
16122         * modules/sys_select (Depends-on): Update.
16123         * modules/sys_socket (Depends-on): Update.
16124         * modules/sys_stat (Depends-on): Update.
16125         * modules/sys_time (Depends-on): Update.
16126         * modules/sys_wait (Depends-on): Update.
16127         * modules/termios (Depends-on): Update.
16128         * modules/time (Depends-on): Update.
16129         * modules/unistd (Depends-on): Update.
16130         * modules/wchar (Depends-on): Update.
16131         * modules/wctype-h (Depends-on): Update.
16132
16133         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
16134         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
16135         (Files, Makefile.am): Update.
16136         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
16137         * modules/argv-iter (Depends-on): Update.
16138         * modules/arpa_inet (Depends-on): Update.
16139         * modules/dirent (Depends-on): Update.
16140         * modules/fcntl-h (Depends-on): Update.
16141         * modules/fnmatch (Depends-on): Update.
16142         * modules/getopt-posix (Depends-on): Update.
16143         * modules/glob (Depends-on): Update.
16144         * modules/iconv-h (Depends-on): Update.
16145         * modules/inttypes-incomplete (Depends-on): Update.
16146         * modules/locale (Depends-on): Update.
16147         * modules/math (Depends-on): Update.
16148         * modules/netdb (Depends-on): Update.
16149         * modules/search (Depends-on): Update.
16150         * modules/signal (Depends-on): Update.
16151         * modules/spawn (Depends-on): Update.
16152         * modules/stdio (Depends-on): Update.
16153         * modules/stdlib (Depends-on): Update.
16154         * modules/string (Depends-on): Update.
16155         * modules/strings (Depends-on): Update.
16156         * modules/sys_socket (Depends-on): Update.
16157         * modules/sys_stat (Depends-on): Update.
16158         * modules/sys_time (Depends-on): Update.
16159         * modules/sys_times (Depends-on): Update.
16160         * modules/sys_utsname (Depends-on): Update.
16161         * modules/time (Depends-on): Update.
16162         * modules/unistd (Depends-on): Update.
16163         * modules/wchar (Depends-on): Update.
16164         * MODULES.html.sh (Support for building libraries and executables):
16165         Update.
16166
16167 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
16168
16169         Improvements on _Noreturn and related modules.
16170
16171         modules/_Exit-tests: test _Noreturn too
16172         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
16173         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
16174         (main): Use them.
16175
16176         stdnoreturn, stdnoreturn-tests: remove modules
16177         They're not needed here and a bit premature for use elsewhere.  See
16178         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
16179         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
16180         * tests/test-stdnoreturn.c: Remove files.
16181         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
16182         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
16183         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
16184         and using noreturn.
16185         * modules/openat, modules/sigpipe-die, modules/xalloc:
16186         * modules/xmemdup0, modules/xstrtol:
16187         Remove dependency on stdnoreturn.
16188
16189         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
16190         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
16191         Reparenthesize to avoid GCC warning.
16192         Support Microsoft's syntax.
16193         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
16194
16195         _Noreturn-tests: remove module
16196         * modules/_Noreturn-tests: Remove.
16197         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
16198         * tests/test-_Noreturn.c: Remove.
16199         * tests/test-stdnoreturn.c: Merge from the old
16200         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
16201
16202 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
16203
16204         _Noreturn, stdnoreturn, and related modules.
16205
16206         * top/maint.mk: Adjust to new noreturn support.
16207         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
16208         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
16209
16210         xalloc: use stdnoreturn.h
16211         * lib/xalloc.h: Include <stdnoreturn.h>.
16212         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16213         * modules/xalloc (Depends-on): Add stdnoreturn.
16214
16215         xstrtol: use stdnoreturn.h
16216         * lib/xstrtol.h: Include <stdnoreturn.h>.
16217         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16218         * modules/xstrtol (Depends-on): Add stdnoreturn.
16219
16220         xmemdup0: use stdnoreturn.h
16221         * lib/xmemdup0.h: Include <stdnoreturn.h>.
16222         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16223         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
16224
16225         sigpipe-die: use stdnoreturn.h
16226         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
16227         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16228         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
16229
16230         openat: use stdnoreturn.h
16231         * lib/openat.h: Include <stdnoreturn.h>.
16232         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16233         * modules/openat (Depends-on): Add stdnoreturn.
16234
16235         * lib/openat-die.c (openat_save_fail): Modernize comment.
16236
16237         * lib/xalloc-die.c (xalloc_die): Modernize comment.
16238
16239         * lib/glthread/thread.h: Modernize comment.
16240
16241         obstack: use _Noreturn
16242         * lib/obstack.c (__attribute__): Remove macro.
16243         (print_and_abort): Use _Noreturn.
16244
16245         c-stack: use _Noreturn
16246         * lib/c-stack.c (die, overflow_handler, segv_handler):
16247         Use _Noreturn rather than __attribute__((noreturn)).
16248
16249         argmatch-tests, exclude_tests: use _Noreturn
16250         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
16251         Remove.
16252         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
16253
16254         stdlib: use _Noreturn
16255         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
16256         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
16257         * modules/stdlib (Depends-on): Add _Noreturn.
16258         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
16259
16260         stdnoreturn-tests: new module
16261         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
16262
16263         stdnoreturn: new module
16264         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
16265         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
16266
16267         _Noreturn-tests: new module
16268         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
16269
16270         _Noreturn: new module
16271         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
16272         New section, mentioning it.
16273         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
16274
16275         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
16276
16277 2011-07-11  Eric Blake  <eblake@redhat.com>
16278
16279         ffs: new module
16280         * modules/ffs: New file.
16281         * m4/ffs.m4: Likewise.
16282         * lib/ffs.c: Likewise.
16283         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
16284         * modules/strings (Makefile.am): Substitute witness.
16285         (Depends-on): Add c++defs.
16286         * lib/strings.in.h (ffs): Declare.
16287         * modules/ffs-tests: New test file.
16288         * tests/test-ffs.c: Test new module.
16289         * MODULES.html.sh (Integer arithmetic functions): Mention it.
16290         * doc/posix-functions/ffs.texi (ffs): Likewise.
16291
16292         regex: avoid compiler warning
16293         * lib/regex.c (includes): Include <strings.h>, for use of
16294         strcasecmp in regcomp.c.
16295         Reported by Joachim Schmitz.
16296
16297 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
16298
16299         stdint: respect system's intmax_t if INTMAX_MAX
16300         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
16301         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
16302         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
16303         long but int64_t is long long, and where we will clash with the
16304         system intmax_t if we override it.  See
16305         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
16306         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
16307         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
16308         similarly for UINTMAX_C.
16309
16310 2011-07-08  Bruno Haible  <bruno@clisp.org>
16311
16312         pthread_sigmask tests: Avoid a compiler warning.
16313         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
16314         non-zero.
16315
16316         sigprocmask tests: A better way to avoid a compiler warning.
16317         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
16318         (main): Complain if system() returns non-zero.
16319         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
16320
16321 2011-07-08  Bruno Haible  <bruno@clisp.org>
16322
16323         pthread_sigmask: Work around IRIX bug.
16324         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
16325         bug.
16326         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
16327         there may be unblocked pending signals.
16328         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
16329
16330 2011-07-08  Bruno Haible  <bruno@clisp.org>
16331
16332         pthread_sigmask: Work around Cygwin bug.
16333         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
16334         bug.
16335         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
16336         the system's pthread_sigmask function.
16337         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
16338
16339 2011-07-08  Bruno Haible  <bruno@clisp.org>
16340
16341         pthread_sigmask: Work around bug in single-threaded implementation.
16342         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
16343         FreeBSD, HP-UX, Solaris bug.
16344         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
16345         * lib/pthread_sigmask.c: Include <stddef.h>.
16346         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
16347         the system's pthread_sigmask function.
16348         * modules/pthread_sigmask (configure.ac): Invoke
16349         gl_PREREQ_PTHREAD_SIGMASK.
16350         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
16351         HP-UX, Solaris.
16352
16353 2011-07-08  Eric Blake  <eblake@redhat.com>
16354
16355         test-sigprocmask: avoid compiler warning
16356         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
16357         * tests/test-sigprocmask.c (main): Use it to silence warning.
16358         Reported by Jim Meyering.
16359
16360         test-snprintf: avoid compiler warning
16361         * tests/test-snprintf.c (main): Avoid shadowed declaration.
16362         * tests/test-vsnprintf.c (main): Likewise.
16363         Reported by Jim Meyering.
16364
16365 2011-07-08  Bruno Haible  <bruno@clisp.org>
16366
16367         Tests for module 'pthread_sigmask'.
16368         * modules/pthread_sigmask-tests: New file.
16369         * tests/test-pthread_sigmask1.c: New file, based on
16370         tests/test-sigprocmask.c.
16371         * tests/test-pthread_sigmask2.c: New file.
16372
16373 2011-07-08  Jim Meyering  <meyering@redhat.com>
16374
16375         test-getopt.h: avoid warning about an unused variable
16376         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
16377
16378 2011-07-07  Jim Meyering  <meyering@redhat.com>
16379
16380         maint: reduce list of files exempt from sc_prohibit_leading_TABs
16381         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
16382         now that it no longer contains leading TABs.
16383         Remove unused "url=FIXME" statement.
16384
16385 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
16386
16387         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
16388         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16389         When gl_THREADLIB is not in use, assume that the POSIX sematics
16390         are desired.  This is better for Emacs, which uses POSIX semantics
16391         on GNUish and/or POSIXish platforms, and does not use threads at
16392         all otherwise.
16393
16394         pthread_sigmask: fix typo when testing for libraries
16395         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16396         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
16397
16398 2011-07-08  Eric Blake  <eblake@redhat.com>
16399
16400         fts: introduce FTS_NOATIME
16401         * lib/fts_.h (FTS_NOATIME): New bit flag.
16402         (FTS_OPTIONMASK): Adjust.
16403         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
16404         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
16405
16406 2011-07-08  Bruno Haible  <bruno@clisp.org>
16407
16408         Tests for module 'thread'.
16409         * modules/thread-tests: New file.
16410         * tests/test-thread_self.c: New file.
16411         * tests/test-thread_create.cc: New file.
16412
16413 2011-07-08  Bruno Haible  <bruno@clisp.org>
16414
16415         thread: Avoid gcc warnings when using gl_thread_self().
16416         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
16417         'void *'.
16418         (gl_thread_self_pointer): Update.
16419
16420 2011-07-07  Bruno Haible  <bruno@clisp.org>
16421
16422         signal-c++-tests: Check declaration of pthread_sigmask.
16423         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
16424         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
16425         $(LIB_PTHREAD_SIGMASK).
16426
16427 2011-07-07  Bruno Haible  <bruno@clisp.org>
16428
16429         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
16430         * lib/signal.in.h (pthread_sigmask): Override if
16431         REPLACE_PTHREAD_SIGMASK is 1.
16432         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
16433         REPLACE_PTHREAD_SIGMASK.
16434         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
16435         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
16436         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
16437         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
16438         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
16439
16440 2011-07-07  Bruno Haible  <bruno@clisp.org>
16441
16442         pthread_sigmask: Ensure declaration in <signal.h>.
16443         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
16444         include <pthread.h>.
16445         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
16446         problem.
16447
16448 2011-07-07  Bruno Haible  <bruno@clisp.org>
16449
16450         pthread_sigmask: Document the module.
16451         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
16452
16453 2011-07-07  Bruno Haible  <bruno@clisp.org>
16454
16455         pthread_sigmask: Follow gnulib conventions.
16456         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
16457         gl_PTHREAD_SIGMASK.
16458         * modules/pthread_sigmask (configure.ac): Update.
16459
16460 2011-07-07  Bruno Haible  <bruno@clisp.org>
16461
16462         pthread_sigmask: Make declaration C++ safe.
16463         * lib/signal.in.h: In two special conditions, just do an #include_next.
16464         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
16465         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
16466         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
16467         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
16468         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
16469         not REPLACE_PTHREAD_MASK.
16470         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
16471         not REPLACE_PTHREAD_MASK.
16472         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
16473
16474 2011-07-07  Bruno Haible  <bruno@clisp.org>
16475
16476         pthread_sigmask: Fix return value.
16477         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
16478         * lib/pthread_sigmask.c: New file.
16479         * modules/pthread_sigmask (Files): Add it.
16480         (configure.ac): Invoke AC_LIBOBJ.
16481
16482 2011-07-07  Eric Blake  <eblake@redhat.com>
16483
16484         getopt: more portable argv creation
16485         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
16486         const, use char arrays rather than strings.
16487         Suggested by Paul Eggert.
16488
16489 2011-07-07  Bruno Haible  <bruno@clisp.org>
16490
16491         Tests for module 'sigprocmask'.
16492         * modules/sigprocmask-tests: New file.
16493         * tests/test-sigprocmask.c: New file.
16494
16495 2011-07-07  Bruno Haible  <bruno@clisp.org>
16496
16497         float tests: Tweak.
16498         * tests/test-float.c (main): Tweak skip message.
16499
16500 2011-07-07  Eric Blake  <eblake@redhat.com>
16501
16502         getopt: avoid compiler warning during configure
16503         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
16504         assigning string literals to non-const pointer.
16505
16506         getopt-gnu: avoid crash in glibc getopt
16507         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
16508         * tests/test-getopt.h (test_getopt): Enhance test.
16509         * tests/test-getopt_long.h (test_getopt_long): Likewise.
16510         * doc/posix-functions/getopt.texi (getopt): Document it.
16511         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
16512         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
16513         Likewise.
16514
16515 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
16516
16517         getopt: handle W; without long options in getopt [BZ #12922]
16518         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
16519         but no long options are defined, just return 'W'.
16520
16521 2011-07-07  Bruno Haible  <bruno@clisp.org>
16522
16523         Avoid literal tabs.
16524         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
16525         variable containing a tab instead of a literal tab.
16526         Reported by Jim Meyering.
16527
16528 2011-07-07  Bruno Haible  <bruno@clisp.org>
16529
16530         Comments.
16531         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
16532
16533 2011-07-06  Bruno Haible  <bruno@clisp.org>
16534
16535         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
16536         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
16537         <winsock2.h>.
16538         (rpl_fd_isset, FD_ISSET): New definitions, copied from
16539         lib/sys_socket.in.h.
16540         (close, gethostname): Hide declarations from <winsock2.h>.
16541         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
16542         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
16543         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
16544         (select): Don't override if gnulib's <sys/select.h> was already
16545         included.
16546         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
16547         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
16548         setsockopt, shutdown, select): Tweak indentation.
16549
16550 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16551
16552         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
16553         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
16554         in an application that does not use the sys_select module.
16555
16556 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
16557
16558         poll: do not return 0 on timeout=-1
16559         * lib/poll.c: Loop with yield if no events occurred.
16560
16561 2011-07-06  Eric Blake  <eblake@redhat.com>
16562
16563         pthread_sigmask: always replace when not using pthread
16564         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
16565         replacement when using some threading other than pthread.  Fix
16566         logic bug.
16567
16568 2011-07-06  Bruno Haible  <bruno@clisp.org>
16569
16570         Comments.
16571         * m4/printf.m4: Update comments about mingw.
16572
16573 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16574
16575         sys_select: define sigset_t more portably
16576         * lib/sys_select.in.h: Always include <sys/types.h>, since
16577         we now need sigset_t and mingw defines it there.
16578         Include <signal.h> before split inclusion guard, to avoid
16579         mishaps on Solaris, whose <signal.h> eventually includes us.
16580         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
16581         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
16582         which come from ...
16583         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
16584         gl_CHECK_TYPE_SIGSET_T.
16585         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
16586         does the real work.
16587         * modules/sys_select (Depends-on): Add 'signal'.
16588
16589         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
16590         Suggested by Bruno Haible.
16591
16592         pselect: Use pthread_sigmask, not sigprocmask.
16593         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
16594         multithreaded apps better than sigprocmask does.
16595         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
16596         sigprocmask directly.
16597
16598 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
16599
16600         * lib/pselect.c (pselect): Use plain name, without "rpl_".
16601         Don't #undef,  since we don't need any underlying pselect.
16602         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
16603         (Depends-on): Add select.
16604         (Link): Add $(LIBSOCKET).
16605         These changes suggested by Bruno Haible.
16606
16607         pselect: document better
16608         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16609         * doc/posix-functions/pselect.texi (pselect): Document new module.
16610
16611         pthread_sigmask: new module
16612         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16613         * doc/posix-functions/pthread_sigmask.texi: Document new module.
16614         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
16615         This is done only as a macro; I don't know how well that'll
16616         work for C++.  Move <sys/types.h> include before the include_next,
16617         to avoid mishap on Solaris.
16618         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
16619         * modules/signal (Makefile.am): Substitute the check's results.
16620         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
16621
16622         test-pselect: new module
16623         * modules/pselect-tests, tests/test-pselect.c: New files.
16624         * tests/test-select.c, tests/test-sys_select-c++.cc:
16625         If TEST_PSELECT is defined, test pselect instead of testing select.
16626
16627         * tests/test-sys_select.c (sigset_t): Test for it, too.
16628         Suggested by Bruno Haible.
16629
16630 2011-07-05  Eric Blake  <eblake@redhat.com>
16631
16632         snprintf: guarantee %1$d, for libintl
16633         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
16634         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
16635         * doc/posix-functions/snprintf.texi (snprintf): Update.
16636         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16637         * tests/test-snprintf.c (main): Enhance test.
16638         * tests/test-vsnprintf.c (main): Likewise.
16639
16640 2011-07-05  Jim Meyering  <meyering@redhat.com>
16641
16642         maint: exempt stdio-read.c and stdio-write.c from the cppi check
16643         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
16644         per Bruno's request, to accommodate this idiom (no space after "#")
16645         even when the function is inside an #if block:
16646         char *
16647         gets (char *s)
16648         #undef gets
16649         {
16650           ...
16651         }
16652
16653 2011-07-04  Jim Meyering  <meyering@redhat.com>
16654
16655         maint: indent with spaces, not TABs, and add a rule to check this
16656         * tests/test-userspec.c: Indent with spaces, not TABs.
16657         * tests/test-argp.c: Likewise.
16658         * tests/test-c-stack2.sh: Likewise.
16659         * tests/test-parse-duration.sh: Likewise
16660         * m4/strtod.m4: Likewise.
16661         * m4/alloca.m4: Likewise.
16662         * m4/pselect.m4: Likewise.
16663         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
16664
16665 2011-07-03  Jim Meyering  <meyering@redhat.com>
16666
16667         maint.mk: correct omissions in prohibit_argmatch_without_use check
16668         This rule would mistakenly report that argmatch.h is included without
16669         use even when both the argmatch and invalid_arg macro were used.
16670         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
16671         of argmatch and invalid_arg.
16672
16673 2011-07-03  Bruno Haible  <bruno@clisp.org>
16674
16675         Comments about EINTR.
16676         * lib/safe-read.h: Explain the purpose of this module.
16677         * lib/safe-write.h: Likewise.
16678         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
16679         module.
16680         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
16681         module.
16682         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16683
16684 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
16685
16686         xnanosleep: Rewrite to use new dtotimespec module.
16687         It has the conversion code that used to be in xnanosleep.
16688         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
16689         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
16690         (TIME_T_MAX): Remove.
16691         (xnanosleep): Rewrite in terms of dtotimespec.
16692         * modules/xnanosleep (Depends-on): Add dtotimespec.
16693         Remove intprops, stdbool.
16694
16695         timespec-add, timespec-sub: new modules
16696         * lib/timespec.h (timespec_add, timespec_sub): New decls.
16697         * lib/timespec-add.c, lib/timespec-sub.c:
16698         * modules/timespec-add, modules/timespec-sub: New files.
16699
16700         dtotimespec: new module
16701         * lib/timespec.h (dtotimespec): New decl.
16702         * lib/dtotimespec.c, modules/dtotimespec: New files.
16703
16704         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
16705
16706         pselect: new module
16707         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
16708         (pselect): New decls.
16709         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
16710         since the standard pselect decl uses 'restrict'.
16711         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
16712         HAVE_PSELECT, REPLACE_PSELECT.
16713         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
16714         HAVE_PSELECT, REPLACE_PSELECT.
16715         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
16716
16717         sys_select: don't depend on sys_socket
16718         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
16719         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
16720         This fix works on GNU and GNU-like platforms, but has not been tested
16721         on native Windows.
16722         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
16723         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
16724         gl_HEADER_SYS_SOCKET.
16725         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
16726         gl_PREREQ_SYS_H_WINSOCK2.
16727
16728 2011-06-29  Eric Blake  <eblake@redhat.com>
16729
16730         pipe2: fix C89 compile problem
16731         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
16732         Reported by Bruno Haible.
16733
16734         pipe, pipe2: don't corrupt fd on error
16735         * lib/pipe.c (pipe): Leave fd unchanged on error.
16736         * lib/pipe2.c (pipe2): Likewise.
16737         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
16738         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
16739
16740 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
16741
16742         mmap-anon: do not use regular expressions inadvertently
16743         * m4/mmap-anon.m4: Remove trailing period from strings sought
16744         in the output.
16745
16746 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
16747
16748         nanosleep: fix integer overflow problem
16749         * lib/nanosleep.c (my_usleep): Don't assume signed integer
16750         arithmetic wraps around on overflow.
16751
16752         nanosleep: simplify carrying
16753         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
16754         first call to the underyling nanosleep, not for the last one.
16755         This doesn't fix any bugs, but it simplifies the computation of
16756         the remaining delay.  Found while auditing integer overflow issues.
16757
16758         dup2: remove test for existence of fcntl
16759         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
16760         "#if HAVE_FCNTL", in the configure-time test program.
16761         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
16762         and therefore speeds up "configure" a bit.  Found while
16763         adding the dup2 module to Emacs.
16764
16765 2011-06-24  Eric Blake  <eblake@redhat.com>
16766
16767         maint.mk: enhance useless header checks
16768         * top/maint.mk (_sc_header_without_use): Check both include
16769         styles.
16770         (sc_prohibit_assert_without_use)
16771         (sc_prohibit_close_stream_without_use)
16772         (sc_prohibit_getopt_without_use)
16773         (sc_prohibit_quotearg_without_use)
16774         (sc_prohibit_quote_without_use)
16775         (sc_prohibit_long_options_without_use)
16776         (sc_prohibit_inttostr_without_use)
16777         (sc_prohibit_ignore_value_without_use)
16778         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
16779         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
16780         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
16781         (sc_prohibit_hash_pjw_without_use)
16782         (sc_prohibit_safe_read_without_use)
16783         (sc_prohibit_argmatch_without_use)
16784         (sc_prohibit_canonicalize_without_use)
16785         (sc_prohibit_root_dev_ino_without_use)
16786         (sc_prohibit_openat_without_use)
16787         (sc_prohibit_c_ctype_without_use)
16788         (sc_prohibit_signal_without_use)
16789         (sc_prohibit_stdio--_without_use)
16790         (sc_prohibit_stdio-safer_without_use)
16791         (sc_prohibit_strings_without_use)
16792         (sc_prohibit_intprops_without_use)
16793         (sc_prohibit_stddef_without_use)
16794         (sc_prohibit_xfreopen_without_use): Update clients.
16795
16796 2011-06-24  Jim Meyering  <meyering@redhat.com>
16797
16798         syntax-check: keep one maint.mk rule in sync with its header
16799         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
16800         of the bug Eric has just fixed, with today's commit 25e4c2ec.
16801         I prefer to avoid temporary files here, so use <(...), but that
16802         is not supported by /bin/sh, so...
16803         (SHELL): Define to /bin/bash.
16804
16805 2011-06-24  Eric Blake  <eblake@redhat.com>
16806
16807         maint.mk: update sc_prohibit_intprops_without_use
16808         * top/maint.mk (_intprops_names): Match recent changes.
16809
16810 2011-06-24  Bruno Haible  <bruno@clisp.org>
16811
16812         strerror-override: No-op tweak.
16813         * lib/strerror-override.h (strerror_override): Reorder conditions,
16814         for consistency with lib/strerror-override.c.
16815
16816 2011-06-23  Eric Blake  <eblake@redhat.com>
16817
16818         maint.mk: test further PATH_MAX issues
16819         * top/maint.mk (sc_prohibit_path_max_array): Rename...
16820         (sc_prohibit_path_max_allocation): ...and also test alloca.
16821         Suggested by Jim Meyering.
16822
16823 2011-06-22  Eric Blake  <eblake@redhat.com>
16824
16825         maint.mk: add syntax-check to avoid char[PATH_MAX]
16826         * top/maint.mk (sc_prohibit_path_max_array): New rule.
16827
16828         stat: be robust to PATH_MAX definition
16829         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
16830         * modules/stat (Depends-on): Add verify.
16831
16832         link: work around IRIX bug
16833         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
16834         * lib/link.c (rpl_link): Work around it.
16835         * tests/test-link.h (test_link): Enhance test.
16836         * doc/posix-functions/link.texi (link): Document the bug.
16837
16838         getopt: silence clang warning
16839         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
16840         dereference.
16841         Reported by Gustavo Martin Domato.
16842
16843 2011-06-22  Jim Meyering  <meyering@redhat.com>
16844
16845         bootstrap: do not insert a blank line into each .gitignore file
16846         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
16847
16848 2011-06-21  Eric Blake  <eblake@redhat.com>
16849
16850         perror: test for output mismatch
16851         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
16852         perror on IRIX.
16853
16854         strerror_r: fix OpenBSD behavior on out-of-range
16855         * lib/strerror_r.c (strerror_r): Always use maximal string.
16856         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16857
16858         strerror_r: fix OpenBSD behavior on 0
16859         * lib/strerror-override.c (strerror_override): Also override 0
16860         when needed.
16861         * lib/strerror-override.h (strerror_override): Likewise.
16862         * lib/strerror.c (strerror): Simplify, now that 0 override is done
16863         earlier.
16864         * lib/strerror_r.c (strerror_r): Likewise.
16865         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
16866         behavior...
16867         (gl_FUNC_STRERROR_0): ...into new macro.
16868         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
16869         is overridden.
16870         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
16871         * modules/strerror-override (Files): Add strerror.m4.
16872         (configure.ac): Also provide override for 0 when needed.
16873         * doc/posix-functions/strerror.texi (strerror): Document this.
16874         * doc/posix-functions/perror.texi (perror): Likewise.
16875
16876         perror: adjust array size
16877         * modules/perror (Depends-on): Add strerror-override.
16878         * lib/perror.c (perror): Use it to avoid magic number.
16879
16880         strerror-override: reduce size
16881         * lib/strerror-override.c (strerror_override): Use fewer lines.
16882
16883 2011-06-20  Bruno Haible  <bruno@clisp.org>
16884
16885         pathmax: Ensure correct value for PATH_MAX on HP-UX.
16886         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
16887
16888 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
16889
16890         alloca: port to compilers that can optimize like GCC 4.6.0
16891         * lib/alloca.c (find_stack_direction): New signature, taken from
16892         Autoconf git.  This works with GCC 4.6.0.  This code should never
16893         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
16894         be used with other compilers that optimize as well as GCC 4.6.0 does.
16895         (alloca): Adjust to new signature.
16896         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
16897         New macro, which patches Autoconf in a similar way.
16898
16899         c-stack: stop worrying about stack direction
16900         * lib/c-stack.c (find_stack_direction): Remove.
16901         (segv_handler): Don't worry about stack direction growth, as it's
16902         too much of a pain to configure this correctly, given how compilers
16903         are optimizing-away our stack-growth detection code.  Instead, assume
16904         that any access to just before or just after the stack is OK.
16905         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
16906         Don't require AC_FUNC_ALLOCA; no longer needed.
16907
16908 2011-06-20  Eric Blake  <eblake@redhat.com>
16909
16910         test-stat: don't allocate PATH_MAX bytes
16911         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
16912         PATH_MAX-sized buffer.
16913         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
16914         * modules/stat-tests (Depends-on): Likewise.
16915         * tests/test-fstatat.c (includes): Drop pathmax.h.
16916         * tests/test-stat.c (includes): Likewise.
16917         Reported by Bruno Haible.
16918
16919 2011-06-20  Bruno Haible  <bruno@clisp.org>
16920
16921         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
16922         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
16923         * lib/float.c: New file.
16924         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
16925         REPLACE_FLOAT_LDBL.
16926         * modules/float (Files): Add lib/float.c.
16927         (configure.ac): Invoke AC_LIBOBJ.
16928         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
16929
16930 2011-06-20  Bruno Haible  <bruno@clisp.org>
16931
16932         Tests for module 'float'.
16933         * modules/float-tests: New file.
16934         * tests/test-float.c: New file.
16935
16936 2011-06-19  Bruno Haible  <bruno@clisp.org>
16937
16938         isinf: Coding style.
16939         * lib/isinf.c: Use GNU coding style.
16940
16941 2011-06-19  Bruno Haible  <bruno@clisp.org>
16942
16943         linkat test: Avoid test failure on AIX 7.1.
16944         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
16945         * tests/test-link.h (test_link): Likewise.
16946
16947 2011-06-19  Bruno Haible  <bruno@clisp.org>
16948
16949         pread test: Avoid test failure on OpenBSD 4.9.
16950         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
16951
16952 2011-06-19  Bruno Haible  <bruno@clisp.org>
16953
16954         sprintf-posix: Fix test failure on AIX 7.1.
16955         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
16956         * doc/posix-functions/dprintf.texi: Mention limited precision problem
16957         on AIX.
16958         * doc/posix-functions/fprintf.texi: Likewise.
16959         * doc/posix-functions/printf.texi: Likewise.
16960         * doc/posix-functions/snprintf.texi: Likewise.
16961         * doc/posix-functions/sprintf.texi: Likewise.
16962         * doc/posix-functions/vdprintf.texi: Likewise.
16963         * doc/posix-functions/vfprintf.texi: Likewise.
16964         * doc/posix-functions/vprintf.texi: Likewise.
16965         * doc/posix-functions/vsnprintf.texi: Likewise.
16966         * doc/posix-functions/vsprintf.texi: Likewise.
16967
16968 2011-06-19  Bruno Haible  <bruno@clisp.org>
16969
16970         roundl-ieee: Fix test failure on AIX 7.1.
16971         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
16972         * doc/posix-functions/roundl.texi: Mention problem with negative
16973         arguments.
16974
16975 2011-06-19  Bruno Haible  <bruno@clisp.org>
16976
16977         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16978         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
16979         * doc/posix-functions/round.texi: Mention problem with negative
16980         arguments.
16981         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
16982
16983 2011-06-19  Bruno Haible  <bruno@clisp.org>
16984
16985         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16986         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
16987         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
16988         * doc/posix-functions/roundf.texi: Mention problem with negative
16989         arguments.
16990         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
16991
16992 2011-06-19  Bruno Haible  <bruno@clisp.org>
16993
16994         ceilf-ieee: Work around bug on MacOS X 10.5.
16995         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
16996
16997         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
16998         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
16999         IEEE compliant, avoid compiler optimizations.
17000         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
17001         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
17002         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
17003         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
17004         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
17005         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
17006         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
17007         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
17008         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
17009         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
17010
17011 2011-06-19  Bruno Haible  <bruno@clisp.org>
17012
17013         ceilf-ieee: Work around bug on AIX 7.1.
17014         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
17015         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
17016
17017 2011-06-19  Bruno Haible  <bruno@clisp.org>
17018
17019         ceil-ieee: Work around bug on AIX 7.1.
17020         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
17021         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
17022
17023 2011-06-18  Bruno Haible  <bruno@clisp.org>
17024
17025         fsync test: Avoid test failure on MacOS X and AIX.
17026         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
17027         EINVAL.
17028
17029 2011-06-18  Bruno Haible  <bruno@clisp.org>
17030
17031         openat, fdopendir tests: Fix link errors.
17032         * modules/openat-tests (Depends-on): Add progname.
17033         * modules/fdopendir-tests (Depends-on): Likewise.
17034         * tests/test-fchownat.c: Include progname.h.
17035         (main): Call set_program_name.
17036         * tests/test-fstatat.c: Include progname.h.
17037         (main): Call set_program_name.
17038         * tests/test-mkdirat.c: Include progname.h.
17039         (main): Call set_program_name.
17040         * tests/test-openat.c: Include progname.h.
17041         (main): Call set_program_name.
17042         * tests/test-unlinkat.c: Include progname.h.
17043         (main): Call set_program_name.
17044         * tests/test-fdopendir.c: Include progname.h.
17045         (main): Call set_program_name.
17046
17047 2011-06-18  Bruno Haible  <bruno@clisp.org>
17048
17049         Doc update.
17050         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
17051         HP-UX.
17052         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
17053
17054 2011-06-18  Bruno Haible  <bruno@clisp.org>
17055
17056         getcwd tests: Avoid compilation error on HP-UX 11.31.
17057         * modules/getcwd-tests (Depends-on): Add pathmax.
17058         * tests/test-getcwd.c: Include pathmax.h.
17059
17060 2011-06-18  Bruno Haible  <bruno@clisp.org>
17061
17062         isfinite, isinf: Fix link error on AIX 6 and 7.
17063         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
17064         needed, also test the macro with a 'float' argument.
17065         * m4/isinf.m4 (gl_ISINF): Likewise.
17066
17067 2011-06-18  Bruno Haible  <bruno@clisp.org>
17068
17069         getloadavg: Don't clobber LIBS. Regression from previous commit.
17070         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
17071         AC_CHECK_LIB from here...
17072         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
17073         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
17074         gl_func_getloadavg_done.
17075         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17076
17077 2011-06-18  Bruno Haible  <bruno@clisp.org>
17078
17079         clean-temp: Improve documentation.
17080         * lib/clean-temp.h: Explain better how to use this module.
17081         Reported by John Darrington <john@darrington.wattle.id.au>.
17082
17083 2011-06-17  Bruno Haible  <bruno@clisp.org>
17084
17085         pread, pwrite: Avoid cc warning on AIX.
17086         * lib/unistd.in.h (pread): Undefine before defining as a macro.
17087         (pwrite): Likewise.
17088
17089 2011-06-17  Bruno Haible  <bruno@clisp.org>
17090
17091         spawn-pipe tests: Fix link error.
17092         * tests/test-spawn-pipe-child.c: Undefine fprintf.
17093         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17094
17095 2011-06-17  Bruno Haible  <bruno@clisp.org>
17096
17097         Tests: Remove unnecessary dependency.
17098         * modules/canonicalize-tests (Depends-on): Remove progname.
17099         * modules/chown-tests (Depends-on): Likewise.
17100         * modules/dirname-tests (Depends-on): Likewise.
17101         * modules/fdopendir-tests (Depends-on): Likewise.
17102         * modules/fdutimensat-tests (Depends-on): Likewise.
17103         * modules/hash-tests (Depends-on): Likewise.
17104         * modules/lchown-tests (Depends-on): Likewise.
17105         * modules/linkat-tests (Depends-on): Likewise.
17106         * modules/renameat-tests (Depends-on): Likewise.
17107         * modules/spawn-pipe-tests (Depends-on): Likewise.
17108         * modules/utimensat-tests (Depends-on): Likewise.
17109
17110 2011-06-17  Bruno Haible  <bruno@clisp.org>
17111
17112         spawn-pipe tests: Fix link error.
17113         * tests/test-spawn-pipe-child.c: Undefine fflush.
17114
17115 2011-06-17  Bruno Haible  <bruno@clisp.org>
17116
17117         Fix tests link errors.
17118         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
17119         * modules/chown-tests (Makefile.am): Don't link test-chown with
17120         LIBINTL.
17121         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
17122         LIBINTL.
17123         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
17124         LIBINTL.
17125         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
17126         LIBINTL.
17127
17128 2011-06-16  Bruno Haible  <bruno@clisp.org>
17129
17130         crypto/gc-sha1: Fix recent regression.
17131         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
17132         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
17133
17134         crypto/gc-md5: Fix recent regression.
17135         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
17136
17137         crypto/gc-md4: Fix recent regression.
17138         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
17139         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
17140
17141         crypto/gc-arctwo: Fix recent regression.
17142         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
17143         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
17144
17145         crypto/gc-rijndael: Fix recent regression.
17146         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
17147         (configure.ac): Invoke AC_LIBOBJ here.
17148         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
17149         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17150
17151         crypto/gc-hmac-sha1: Fix recent regression.
17152         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
17153         (configure.ac): Invoke AC_LIBOBJ here.
17154         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
17155         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17156
17157         crypto/gc-hmac-md5: Fix recent regression.
17158         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
17159         (configure.ac): Invoke AC_LIBOBJ here.
17160         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
17161         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17162
17163         crypto/gc-des: Fix recent regression.
17164         * modules/crypto/gc-des (Files): Remove m4/des.m4.
17165         (configure.ac): Invoke AC_LIBOBJ here.
17166         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
17167         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17168
17169         crypto/gc-arcfour: Fix recent regression.
17170         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
17171         (configure.ac): Invoke AC_LIBOBJ here.
17172         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
17173         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17174
17175 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
17176
17177         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
17178         After the 2011-05-21 change, this macro requires
17179         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
17180         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
17181
17182 2011-06-16  Bruno Haible  <bruno@clisp.org>
17183
17184         fprintftime: Move AC_LIBOBJ invocations to module description.
17185         * m4/fprintftime.m4: Remove file.
17186         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
17187         (configure.ac): Remove gl_FPRINTFTIME call.
17188         (Makefile.am): Augment lib_SOURCES.
17189         Reported by Jim Meyering.
17190
17191 2011-06-16  Bruno Haible  <bruno@clisp.org>
17192
17193         tmpfile-safer: Finish 2011-05-23 commit.
17194         * m4/stdio-safer.m4: Really remove file.
17195         Reported by Jim Meyering.
17196
17197 2011-06-16  Bruno Haible  <bruno@clisp.org>
17198
17199         syntax-check: Fix typo.
17200         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
17201         printf-posix.m4.
17202         Reported by Jim Meyering.
17203
17204 2011-06-13  Jim Meyering  <meyering@redhat.com>
17205
17206         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
17207         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
17208
17209 2011-05-23  Bruno Haible  <bruno@clisp.org>
17210
17211         yesno: Move AC_LIBOBJ invocations to module description.
17212         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
17213         * modules/yesno (Makefile.am): Augment lib_SOURCES.
17214
17215 2011-05-23  Bruno Haible  <bruno@clisp.org>
17216
17217         xstrtol: Move AC_LIBOBJ invocations to module description.
17218         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
17219         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
17220
17221 2011-05-23  Bruno Haible  <bruno@clisp.org>
17222
17223         xstrtold: Move AC_LIBOBJ invocations to module description.
17224         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
17225         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
17226
17227 2011-05-23  Bruno Haible  <bruno@clisp.org>
17228
17229         xstrtod: Move AC_LIBOBJ invocations to module description.
17230         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
17231         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
17232
17233 2011-05-23  Bruno Haible  <bruno@clisp.org>
17234
17235         xnanosleep: Move AC_LIBOBJ invocations to module description.
17236         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
17237         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
17238
17239 2011-05-23  Bruno Haible  <bruno@clisp.org>
17240
17241         xgetcwd: Move AC_LIBOBJ invocations to module description.
17242         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
17243         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
17244
17245 2011-05-23  Bruno Haible  <bruno@clisp.org>
17246
17247         xalloc: Move AC_LIBOBJ invocations to module description.
17248         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
17249         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
17250
17251 2011-05-23  Bruno Haible  <bruno@clisp.org>
17252
17253         write-any-file: Move AC_LIBOBJ invocations to module description.
17254         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
17255         invocation.
17256         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
17257
17258 2011-05-23  Bruno Haible  <bruno@clisp.org>
17259
17260         utimens: Move AC_LIBOBJ invocations to module description.
17261         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
17262         * modules/utimens (Makefile.am): Augment lib_SOURCES.
17263
17264 2011-05-23  Bruno Haible  <bruno@clisp.org>
17265
17266         utimecmp: Move AC_LIBOBJ invocations to module description.
17267         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
17268         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
17269
17270 2011-05-23  Bruno Haible  <bruno@clisp.org>
17271
17272         userspec: Move AC_LIBOBJ invocations to module description.
17273         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
17274         * modules/userspec (Makefile.am): Augment lib_SOURCES.
17275
17276 2011-05-23  Bruno Haible  <bruno@clisp.org>
17277
17278         unlinkdir: Move AC_LIBOBJ invocations to module description.
17279         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
17280         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
17281
17282 2011-05-23  Bruno Haible  <bruno@clisp.org>
17283
17284         unistd-safer: Move AC_LIBOBJ invocations to module description.
17285         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
17286         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
17287
17288 2011-05-23  Bruno Haible  <bruno@clisp.org>
17289
17290         tempname: Move AC_LIBOBJ invocations to module description.
17291         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
17292         * modules/tempname (Makefile.am): Augment lib_SOURCES.
17293
17294 2011-05-23  Bruno Haible  <bruno@clisp.org>
17295
17296         strftime: Move AC_LIBOBJ invocations to module description.
17297         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
17298         * modules/strftime (Makefile.am): Augment lib_SOURCES.
17299
17300 2011-05-23  Bruno Haible  <bruno@clisp.org>
17301
17302         stdlib-safer: Move AC_LIBOBJ invocations to module description.
17303         * m4/stdlib-safer.m4: Remove file.
17304         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
17305         (configure.ac): Remove gl_STDLIB_SAFER call.
17306         (Makefile.am): Augment lib_SOURCES.
17307
17308 2011-05-23  Bruno Haible  <bruno@clisp.org>
17309
17310         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
17311         * m4/stdio-safer.m4: Remove file.
17312         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
17313         (configure.ac): Remove gl_TMPFILE_SAFER call.
17314         (Makefile.am): Augment lib_SOURCES.
17315
17316 2011-05-23  Bruno Haible  <bruno@clisp.org>
17317
17318         popen-safer: Move AC_LIBOBJ invocations to module description.
17319         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
17320         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
17321         (configure.ac): Remove gl_POPEN_SAFER call.
17322         (Makefile.am): Augment lib_SOURCES.
17323
17324 2011-05-23  Bruno Haible  <bruno@clisp.org>
17325
17326         freopen-safer: Move AC_LIBOBJ invocations to module description.
17327         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
17328         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
17329         (configure.ac): Remove gl_FREOPEN_SAFER call.
17330         (Makefile.am): Augment lib_SOURCES.
17331
17332 2011-05-23  Bruno Haible  <bruno@clisp.org>
17333
17334         fopen-safer: Move AC_LIBOBJ invocations to module description.
17335         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
17336         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
17337         (configure.ac): Remove gl_FOPEN_SAFER call.
17338         (Makefile.am): Augment lib_SOURCES.
17339
17340 2011-05-23  Bruno Haible  <bruno@clisp.org>
17341
17342         crypto/sha512: Move AC_LIBOBJ invocations to module description.
17343         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
17344         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
17345
17346 2011-05-23  Bruno Haible  <bruno@clisp.org>
17347
17348         crypto/sha256: Move AC_LIBOBJ invocations to module description.
17349         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
17350         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
17351
17352 2011-05-23  Bruno Haible  <bruno@clisp.org>
17353
17354         crypto/sha1: Move AC_LIBOBJ invocations to module description.
17355         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
17356         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
17357
17358 2011-05-23  Bruno Haible  <bruno@clisp.org>
17359
17360         settime: Move AC_LIBOBJ invocations to module description.
17361         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
17362         * modules/settime (Makefile.am): Augment lib_SOURCES.
17363
17364 2011-05-23  Bruno Haible  <bruno@clisp.org>
17365
17366         savedir: Move AC_LIBOBJ invocations to module description.
17367         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
17368         * modules/savedir (Makefile.am): Augment lib_SOURCES.
17369
17370 2011-05-23  Bruno Haible  <bruno@clisp.org>
17371
17372         save-cwd: Move AC_LIBOBJ invocations to module description.
17373         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
17374         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
17375
17376 2011-05-23  Bruno Haible  <bruno@clisp.org>
17377
17378         same: Move AC_LIBOBJ invocations to module description.
17379         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
17380         * modules/same (Makefile.am): Augment lib_SOURCES.
17381
17382 2011-05-23  Bruno Haible  <bruno@clisp.org>
17383
17384         safe-write: Move AC_LIBOBJ invocations to module description.
17385         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
17386         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
17387         instead of gl_SAFE_WRITE.
17388         (Makefile.am): Augment lib_SOURCES.
17389
17390 2011-05-23  Bruno Haible  <bruno@clisp.org>
17391
17392         safe-read: Move AC_LIBOBJ invocations to module description.
17393         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
17394         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
17395         of gl_SAFE_READ.
17396         (Makefile.am): Augment lib_SOURCES.
17397
17398 2011-05-23  Bruno Haible  <bruno@clisp.org>
17399
17400         safe-alloc: Move AC_LIBOBJ invocations to module description.
17401         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
17402         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
17403
17404 2011-05-23  Bruno Haible  <bruno@clisp.org>
17405
17406         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
17407         * m4/rijndael.m4: Remove file.
17408         * modules/crypto/rijndael (Files): Remove it.
17409         (configure.ac): Remove gl_RIJNDAEL call.
17410         (Makefile.am): Augment lib_SOURCES.
17411
17412 2011-05-23  Bruno Haible  <bruno@clisp.org>
17413
17414         readtokens: Move AC_LIBOBJ invocations to module description.
17415         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
17416         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
17417
17418 2011-05-23  Bruno Haible  <bruno@clisp.org>
17419
17420         read-file: Move AC_LIBOBJ invocations to module description.
17421         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
17422         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
17423         of gl_FUNC_READ_FILE.
17424         (Makefile.am): Augment lib_SOURCES.
17425
17426 2011-05-23  Bruno Haible  <bruno@clisp.org>
17427
17428         quotearg: Move AC_LIBOBJ invocations to module description.
17429         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
17430         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
17431
17432 2011-05-23  Bruno Haible  <bruno@clisp.org>
17433
17434         quote: Move AC_LIBOBJ invocations to module description.
17435         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
17436         * modules/quote (Makefile.am): Augment lib_SOURCES.
17437
17438 2011-05-23  Bruno Haible  <bruno@clisp.org>
17439
17440         posixver: Move AC_LIBOBJ invocations to module description.
17441         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
17442         * modules/posixver (Makefile.am): Augment lib_SOURCES.
17443
17444 2011-05-23  Bruno Haible  <bruno@clisp.org>
17445
17446         posixtm: Move AC_LIBOBJ invocations to module description.
17447         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
17448         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
17449
17450 2011-05-23  Bruno Haible  <bruno@clisp.org>
17451
17452         physmem: Move AC_LIBOBJ invocations to module description.
17453         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
17454         * modules/physmem (Makefile.am): Augment lib_SOURCES.
17455
17456 2011-05-23  Bruno Haible  <bruno@clisp.org>
17457
17458         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
17459         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
17460         invocation.
17461         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
17462
17463 2011-05-23  Bruno Haible  <bruno@clisp.org>
17464
17465         mpsort: Move AC_LIBOBJ invocations to module description.
17466         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
17467         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
17468
17469 2011-05-23  Bruno Haible  <bruno@clisp.org>
17470
17471         modechange: Move AC_LIBOBJ invocations to module description.
17472         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
17473         * modules/modechange (Makefile.am): Augment lib_SOURCES.
17474
17475 2011-05-23  Bruno Haible  <bruno@clisp.org>
17476
17477         mkdir-p: Move AC_LIBOBJ invocations to module description.
17478         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
17479         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
17480
17481 2011-05-23  Bruno Haible  <bruno@clisp.org>
17482
17483         mkancesdirs: Move AC_LIBOBJ invocations to module description.
17484         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
17485         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
17486
17487 2011-05-23  Bruno Haible  <bruno@clisp.org>
17488
17489         mgetgroups: Move AC_LIBOBJ invocations to module description.
17490         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
17491         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
17492
17493 2011-05-23  Bruno Haible  <bruno@clisp.org>
17494
17495         memxor: Move AC_LIBOBJ invocations to module description.
17496         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
17497         * modules/memxor (Makefile.am): Augment lib_SOURCES.
17498
17499 2011-05-23  Bruno Haible  <bruno@clisp.org>
17500
17501         memcoll: Move AC_LIBOBJ invocations to module description.
17502         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
17503         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
17504
17505 2011-05-23  Bruno Haible  <bruno@clisp.org>
17506
17507         memcasecmp: Move AC_LIBOBJ invocations to module description.
17508         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
17509         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
17510
17511 2011-05-23  Bruno Haible  <bruno@clisp.org>
17512
17513         crypto/md5: Move AC_LIBOBJ invocations to module description.
17514         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
17515         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
17516
17517 2011-05-23  Bruno Haible  <bruno@clisp.org>
17518
17519         crypto/md4: Move AC_LIBOBJ invocations to module description.
17520         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
17521         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
17522
17523 2011-05-23  Bruno Haible  <bruno@clisp.org>
17524
17525         crypto/md2: Move AC_LIBOBJ invocations to module description.
17526         * m4/md2.m4: Remove file.
17527         * modules/crypto/md2 (Files): Remove it.
17528         (configure.ac): Remove gl_MD2 call.
17529         (Makefile.am): Augment lib_SOURCES.
17530
17531 2011-05-23  Bruno Haible  <bruno@clisp.org>
17532
17533         long-options: Move AC_LIBOBJ invocations to module description.
17534         * m4/long-options.m4: Remove file.
17535         * modules/long-options (Files): Remove it.
17536         (configure.ac): Remove gl_LONG_OPTIONS call.
17537         (Makefile.am): Augment lib_SOURCES.
17538
17539 2011-05-23  Bruno Haible  <bruno@clisp.org>
17540
17541         i-ring: Move AC_LIBOBJ invocations to module description.
17542         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
17543         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
17544
17545 2011-05-23  Bruno Haible  <bruno@clisp.org>
17546
17547         idcache: Move AC_LIBOBJ invocations to module description.
17548         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
17549         * modules/idcache (Makefile.am): Augment lib_SOURCES.
17550
17551 2011-05-23  Bruno Haible  <bruno@clisp.org>
17552
17553         human: Move AC_LIBOBJ invocations to module description.
17554         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
17555         * modules/human (Makefile.am): Augment lib_SOURCES.
17556
17557 2011-05-23  Bruno Haible  <bruno@clisp.org>
17558
17559         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
17560         * m4/hmac-sha1.m4: Remove file.
17561         * modules/crypto/hmac-sha1 (Files): Remove it.
17562         (configure.ac): Remove gl_HMAC_SHA1 call.
17563         (Makefile.am): Augment lib_SOURCES.
17564
17565 2011-05-23  Bruno Haible  <bruno@clisp.org>
17566
17567         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
17568         * m4/hmac-md5.m4: Remove file.
17569         * modules/crypto/hmac-md5 (Files): Remove it.
17570         (configure.ac): Remove gl_HMAC_MD5 call.
17571         (Makefile.am): Augment lib_SOURCES.
17572
17573 2011-05-23  Bruno Haible  <bruno@clisp.org>
17574
17575         hash: Move AC_LIBOBJ invocations to module description.
17576         * m4/hash.m4: Remove file.
17577         * modules/hash (Files): Remove it.
17578         (configure.ac): Remove gl_HASH call.
17579         (Makefile.am): Augment lib_SOURCES.
17580
17581 2011-05-23  Bruno Haible  <bruno@clisp.org>
17582
17583         hard-locale: Move AC_LIBOBJ invocations to module description.
17584         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
17585         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
17586
17587 2011-05-23  Bruno Haible  <bruno@clisp.org>
17588
17589         getugroups: Move AC_LIBOBJ invocations to module description.
17590         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
17591         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
17592
17593 2011-05-23  Bruno Haible  <bruno@clisp.org>
17594
17595         gettime: Move AC_LIBOBJ invocations to module description.
17596         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
17597         * modules/gettime (Makefile.am): Augment lib_SOURCES.
17598
17599 2011-05-23  Bruno Haible  <bruno@clisp.org>
17600
17601         getndelim2: Move AC_LIBOBJ invocations to module description.
17602         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
17603         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
17604
17605 2011-05-23  Bruno Haible  <bruno@clisp.org>
17606
17607         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
17608         * m4/gc-pbkdf2-sha1.m4: Remove file.
17609         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
17610         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
17611         (Makefile.am): Augment lib_SOURCES.
17612
17613 2011-05-23  Bruno Haible  <bruno@clisp.org>
17614
17615         fts: Move AC_LIBOBJ invocations to module description.
17616         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
17617         * modules/fts (configure.ac): ... to here.
17618
17619 2011-05-23  Bruno Haible  <bruno@clisp.org>
17620
17621         file-type: Move AC_LIBOBJ invocations to module description.
17622         * m4/file-type.m4: Remove file.
17623         * modules/file-type (Files): Remove it.
17624         (configure.ac): Remove gl_FILE_TYPE call.
17625         (Makefile.am): Augment lib_SOURCES.
17626
17627 2011-05-23  Bruno Haible  <bruno@clisp.org>
17628
17629         filenamecat*: Respect rules for use of AC_LIBOBJ.
17630         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
17631         Remove AC_LIBOBJ invocation.
17632         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
17633         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
17634
17635 2011-05-23  Bruno Haible  <bruno@clisp.org>
17636
17637         filemode: Move AC_LIBOBJ invocations to module description.
17638         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
17639         * modules/filemode (Makefile.am): Augment lib_SOURCES.
17640
17641 2011-05-23  Bruno Haible  <bruno@clisp.org>
17642
17643         openat-safer: Move AC_LIBOBJ invocations to module description.
17644         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
17645         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
17646
17647 2011-05-23  Bruno Haible  <bruno@clisp.org>
17648
17649         fcntl-safer: Move AC_LIBOBJ invocations to module description.
17650         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
17651         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
17652
17653 2011-05-23  Bruno Haible  <bruno@clisp.org>
17654
17655         exclude: Move AC_LIBOBJ invocations to module description.
17656         * m4/exclude.m4: Remove file.
17657         * modules/exclude (Files): Remove it.
17658         (configure.ac): Remove gl_EXCLUDE call.
17659         (Makefile.am): Augment lib_SOURCES.
17660
17661 2011-05-23  Bruno Haible  <bruno@clisp.org>
17662
17663         dirname*: Respect rules for use of AC_LIBOBJ.
17664         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
17665         invocations.
17666         * modules/dirname (Makefile.am): Augment lib_SOURCES.
17667         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
17668
17669 2011-05-23  Bruno Haible  <bruno@clisp.org>
17670
17671         dirent-safer: Move AC_LIBOBJ invocations to module description.
17672         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
17673         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
17674
17675 2011-05-23  Bruno Haible  <bruno@clisp.org>
17676
17677         crypto/des: Move AC_LIBOBJ invocations to module description.
17678         * m4/des.m4: Remove file.
17679         * modules/crypto/des (Files): Remove it.
17680         (configure.ac): Remove gl_DES call.
17681         (Makefile.am): Augment lib_SOURCES.
17682
17683 2011-05-23  Bruno Haible  <bruno@clisp.org>
17684
17685         cycle-check: Move AC_LIBOBJ invocations to module description.
17686         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
17687         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
17688
17689 2011-05-23  Bruno Haible  <bruno@clisp.org>
17690
17691         c-strtold: Move AC_LIBOBJ invocations to module description.
17692         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
17693         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
17694
17695 2011-05-23  Bruno Haible  <bruno@clisp.org>
17696
17697         c-strtod: Move AC_LIBOBJ invocations to module description.
17698         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
17699         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
17700
17701 2011-05-23  Bruno Haible  <bruno@clisp.org>
17702
17703         crc: Move AC_LIBOBJ invocations to module description.
17704         * m4/crc.m4: Remove file.
17705         * modules/crc (Files): Remove it.
17706         (configure.ac): Remove gl_CRC call.
17707         (Makefile.am): Augment lib_SOURCES.
17708
17709 2011-05-23  Bruno Haible  <bruno@clisp.org>
17710
17711         close-stream: Move AC_LIBOBJ invocations to module description.
17712         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
17713         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
17714
17715 2011-05-23  Bruno Haible  <bruno@clisp.org>
17716
17717         closeout: Move AC_LIBOBJ invocations to module description.
17718         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
17719         * modules/closeout (Makefile.am): Augment lib_SOURCES.
17720
17721 2011-05-23  Bruno Haible  <bruno@clisp.org>
17722
17723         closein: Move AC_LIBOBJ invocations to module description.
17724         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
17725         * modules/closein (Makefile.am): Augment lib_SOURCES.
17726
17727 2011-05-23  Bruno Haible  <bruno@clisp.org>
17728
17729         cloexec: Move AC_LIBOBJ invocations to module description.
17730         * m4/cloexec.m4: Remove file.
17731         * modules/cloexec (Files): Remove it.
17732         (configure.ac): Remove gl_CLOEXEC call.
17733         (Makefile.am): Augment lib_SOURCES.
17734
17735 2011-05-23  Bruno Haible  <bruno@clisp.org>
17736
17737         check-version: Move AC_LIBOBJ invocations to module description.
17738         * m4/check-version.m4: Remove file.
17739         * modules/check-version (Files): Remove it.
17740         (configure.ac): Remove gl_CHECK_VERSION call.
17741         (Makefile.am): Augment lib_SOURCES.
17742
17743 2011-05-23  Bruno Haible  <bruno@clisp.org>
17744
17745         chdir-safer: Move AC_LIBOBJ invocations to module description.
17746         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
17747         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
17748
17749 2011-05-23  Bruno Haible  <bruno@clisp.org>
17750
17751         canonicalize: Move AC_LIBOBJ invocations to module description.
17752         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
17753         AC_LIBOBJ invocation.
17754         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
17755
17756 2011-05-23  Bruno Haible  <bruno@clisp.org>
17757
17758         canon-host: Move AC_LIBOBJ invocations to module description.
17759         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
17760         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
17761         instead of gl_CANON_HOST.
17762         (Makefile.am): Augment lib_SOURCES.
17763
17764 2011-05-23  Bruno Haible  <bruno@clisp.org>
17765
17766         backupfile: Move AC_LIBOBJ invocations to module description.
17767         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
17768         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
17769
17770 2011-05-23  Bruno Haible  <bruno@clisp.org>
17771
17772         argmatch: Move AC_LIBOBJ invocations to module description.
17773         * m4/argmatch.m4: Remove file.
17774         * modules/argmatch (Files): Remove it.
17775         (configure.ac): Remove gl_ARGMATCH call.
17776         (Makefile.am): Augment lib_SOURCES.
17777
17778 2011-05-23  Bruno Haible  <bruno@clisp.org>
17779
17780         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
17781         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
17782         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
17783
17784 2011-05-23  Bruno Haible  <bruno@clisp.org>
17785
17786         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
17787         * m4/arcfour.m4: Remove file.
17788         * modules/crypto/arcfour (Files): Remove it.
17789         (configure.ac): Remove gl_ARCFOUR call.
17790         (Makefile.am): Augment lib_SOURCES.
17791
17792 2011-05-22  Bruno Haible  <bruno@clisp.org>
17793
17794         write: Move AC_LIBOBJ invocations to module description.
17795         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
17796         * modules/write (configure.ac): ... to here.
17797
17798 2011-05-22  Bruno Haible  <bruno@clisp.org>
17799
17800         wmemset: Move AC_LIBOBJ invocations to module description.
17801         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
17802         here...
17803         * modules/wmemset (configure.ac): ... to here.
17804
17805 2011-05-22  Bruno Haible  <bruno@clisp.org>
17806
17807         wmemmove: Move AC_LIBOBJ invocations to module description.
17808         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
17809         here...
17810         * modules/wmemmove (configure.ac): ... to here.
17811
17812 2011-05-22  Bruno Haible  <bruno@clisp.org>
17813
17814         wmemcpy: Move AC_LIBOBJ invocations to module description.
17815         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
17816         here...
17817         * modules/wmemcpy (configure.ac): ... to here.
17818
17819 2011-05-22  Bruno Haible  <bruno@clisp.org>
17820
17821         wmemcmp: Move AC_LIBOBJ invocations to module description.
17822         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
17823         here...
17824         * modules/wmemcmp (configure.ac): ... to here.
17825
17826 2011-05-22  Bruno Haible  <bruno@clisp.org>
17827
17828         wmemchr: Move AC_LIBOBJ invocations to module description.
17829         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
17830         here...
17831         * modules/wmemchr (configure.ac): ... to here.
17832
17833 2011-05-22  Bruno Haible  <bruno@clisp.org>
17834
17835         wcswidth: Move AC_LIBOBJ invocations to module description.
17836         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
17837         here...
17838         * modules/wcswidth (configure.ac): ... to here.
17839
17840 2011-05-22  Bruno Haible  <bruno@clisp.org>
17841
17842         wcwidth: Respect rules for use of AC_LIBOBJ.
17843         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
17844         invocation from here...
17845         * modules/wcwidth (configure.ac): ... to here.
17846         (Depends-on): Update conditions.
17847
17848 2011-05-22  Bruno Haible  <bruno@clisp.org>
17849
17850         wctype: Move AC_LIBOBJ invocations to module description.
17851         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
17852         invocation from here...
17853         * modules/wctype (configure.ac): ... to here.
17854         (Depends-on): Update conditions.
17855
17856 2011-05-22  Bruno Haible  <bruno@clisp.org>
17857
17858         wctrans: Move AC_LIBOBJ invocations to module description.
17859         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
17860         invocation from here...
17861         * modules/wctrans (configure.ac): ... to here.
17862
17863 2011-05-22  Bruno Haible  <bruno@clisp.org>
17864
17865         wctomb: Move AC_LIBOBJ invocations to module description.
17866         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
17867         invocations from here...
17868         * modules/wctomb (configure.ac): ... to here.
17869
17870 2011-05-22  Bruno Haible  <bruno@clisp.org>
17871
17872         wctob: Move AC_LIBOBJ invocations to module description.
17873         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
17874         gl_PREREQ_WCTOB invocations from here...
17875         * modules/wctob (configure.ac): ... to here.
17876         (Depends-on): Update conditions.
17877
17878 2011-05-22  Bruno Haible  <bruno@clisp.org>
17879
17880         wcsxfrm: Move AC_LIBOBJ invocations to module description.
17881         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
17882         here...
17883         * modules/wcsxfrm (configure.ac): ... to here.
17884
17885 2011-05-22  Bruno Haible  <bruno@clisp.org>
17886
17887         wcstok: Move AC_LIBOBJ invocations to module description.
17888         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
17889         * modules/wcstok (configure.ac): ... to here.
17890
17891 2011-05-22  Bruno Haible  <bruno@clisp.org>
17892
17893         wcsstr: Move AC_LIBOBJ invocations to module description.
17894         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
17895         * modules/wcsstr (configure.ac): ... to here.
17896
17897 2011-05-22  Bruno Haible  <bruno@clisp.org>
17898
17899         wcsspn: Move AC_LIBOBJ invocations to module description.
17900         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
17901         * modules/wcsspn (configure.ac): ... to here.
17902
17903 2011-05-22  Bruno Haible  <bruno@clisp.org>
17904
17905         wcsrtombs: Move AC_LIBOBJ invocations to module description.
17906         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
17907         gl_PREREQ_WCSRTOMBS invocations from here...
17908         * modules/wcsrtombs (configure.ac): ... to here.
17909
17910 2011-05-22  Bruno Haible  <bruno@clisp.org>
17911
17912         wcsrchr: Move AC_LIBOBJ invocations to module description.
17913         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
17914         here...
17915         * modules/wcsrchr (configure.ac): ... to here.
17916
17917 2011-05-22  Bruno Haible  <bruno@clisp.org>
17918
17919         wcspbrk: Move AC_LIBOBJ invocations to module description.
17920         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
17921         here...
17922         * modules/wcspbrk (configure.ac): ... to here.
17923
17924 2011-05-22  Bruno Haible  <bruno@clisp.org>
17925
17926         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
17927         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
17928         gl_PREREQ_WCSNRTOMBS invocations from here...
17929         * modules/wcsnrtombs (configure.ac): ... to here.
17930
17931 2011-05-22  Bruno Haible  <bruno@clisp.org>
17932
17933         wcsnlen: Move AC_LIBOBJ invocations to module description.
17934         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
17935         here...
17936         * modules/wcsnlen (configure.ac): ... to here.
17937
17938 2011-05-22  Bruno Haible  <bruno@clisp.org>
17939
17940         wcsncpy: Move AC_LIBOBJ invocations to module description.
17941         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
17942         here...
17943         * modules/wcsncpy (configure.ac): ... to here.
17944
17945 2011-05-22  Bruno Haible  <bruno@clisp.org>
17946
17947         wcsncmp: Move AC_LIBOBJ invocations to module description.
17948         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
17949         here...
17950         * modules/wcsncmp (configure.ac): ... to here.
17951
17952 2011-05-22  Bruno Haible  <bruno@clisp.org>
17953
17954         wcsncat: Move AC_LIBOBJ invocations to module description.
17955         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
17956         here...
17957         * modules/wcsncat (configure.ac): ... to here.
17958
17959 2011-05-22  Bruno Haible  <bruno@clisp.org>
17960
17961         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
17962         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
17963         from here...
17964         * modules/wcsncasecmp (configure.ac): ... to here.
17965
17966 2011-05-22  Bruno Haible  <bruno@clisp.org>
17967
17968         wcslen: Move AC_LIBOBJ invocations to module description.
17969         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
17970         * modules/wcslen (configure.ac): ... to here.
17971
17972 2011-05-22  Bruno Haible  <bruno@clisp.org>
17973
17974         wcsdup: Move AC_LIBOBJ invocations to module description.
17975         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
17976         * modules/wcsdup (configure.ac): ... to here.
17977
17978 2011-05-22  Bruno Haible  <bruno@clisp.org>
17979
17980         wcscspn: Move AC_LIBOBJ invocations to module description.
17981         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
17982         here...
17983         * modules/wcscspn (configure.ac): ... to here.
17984
17985 2011-05-22  Bruno Haible  <bruno@clisp.org>
17986
17987         wcscpy: Move AC_LIBOBJ invocations to module description.
17988         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
17989         * modules/wcscpy (configure.ac): ... to here.
17990
17991 2011-05-22  Bruno Haible  <bruno@clisp.org>
17992
17993         wcscoll: Move AC_LIBOBJ invocations to module description.
17994         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
17995         here...
17996         * modules/wcscoll (configure.ac): ... to here.
17997
17998 2011-05-22  Bruno Haible  <bruno@clisp.org>
17999
18000         wcscmp: Move AC_LIBOBJ invocations to module description.
18001         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
18002         * modules/wcscmp (configure.ac): ... to here.
18003
18004 2011-05-22  Bruno Haible  <bruno@clisp.org>
18005
18006         wcschr: Move AC_LIBOBJ invocations to module description.
18007         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
18008         * modules/wcschr (configure.ac): ... to here.
18009
18010 2011-05-22  Bruno Haible  <bruno@clisp.org>
18011
18012         wcscat: Move AC_LIBOBJ invocations to module description.
18013         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
18014         * modules/wcscat (configure.ac): ... to here.
18015
18016 2011-05-22  Bruno Haible  <bruno@clisp.org>
18017
18018         wcscasecmp: Move AC_LIBOBJ invocations to module description.
18019         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
18020         here...
18021         * modules/wcscasecmp (configure.ac): ... to here.
18022
18023 2011-05-22  Bruno Haible  <bruno@clisp.org>
18024
18025         wcrtomb: Move AC_LIBOBJ invocations to module description.
18026         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
18027         invocations from here...
18028         * modules/wcrtomb (configure.ac): ... to here.
18029
18030 2011-05-22  Bruno Haible  <bruno@clisp.org>
18031
18032         wcpncpy: Move AC_LIBOBJ invocations to module description.
18033         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
18034         here...
18035         * modules/wcpncpy (configure.ac): ... to here.
18036
18037 2011-05-22  Bruno Haible  <bruno@clisp.org>
18038
18039         wcpcpy: Move AC_LIBOBJ invocations to module description.
18040         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
18041         * modules/wcpcpy (configure.ac): ... to here.
18042
18043 2011-05-22  Bruno Haible  <bruno@clisp.org>
18044
18045         waitpid: Move AC_LIBOBJ invocations to module description.
18046         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
18047         invocation from here...
18048         * modules/waitpid (configure.ac): ... to here.
18049
18050 2011-05-22  Bruno Haible  <bruno@clisp.org>
18051
18052         utimensat: Move AC_LIBOBJ invocations to module description.
18053         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
18054         here...
18055         * modules/utimensat (configure.ac): ... to here.
18056
18057 2011-05-22  Bruno Haible  <bruno@clisp.org>
18058
18059         usleep: Move AC_LIBOBJ invocations to module description.
18060         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
18061         here...
18062         * modules/usleep (configure.ac): ... to here.
18063
18064 2011-05-22  Bruno Haible  <bruno@clisp.org>
18065
18066         unlockpt: Move AC_LIBOBJ invocations to module description.
18067         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
18068         gl_PREREQ_UNLOCKPT invocations from here...
18069         * modules/unlockpt (configure.ac): ... to here.
18070
18071 2011-05-22  Bruno Haible  <bruno@clisp.org>
18072
18073         unlink: Respect rules for use of AC_LIBOBJ.
18074         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
18075         * modules/unlink (configure.ac): ... to here.
18076
18077 2011-05-22  Bruno Haible  <bruno@clisp.org>
18078
18079         uname: Move AC_LIBOBJ invocations to module description.
18080         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
18081         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
18082         here...
18083         * modules/uname (configure.ac): ... to here.
18084
18085 2011-05-22  Bruno Haible  <bruno@clisp.org>
18086
18087         ttyname_r: Move AC_LIBOBJ invocations to module description.
18088         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
18089         gl_PREREQ_TTYNAME_R invocations from here...
18090         * modules/ttyname_r (configure.ac): ... to here.
18091
18092 2011-05-22  Bruno Haible  <bruno@clisp.org>
18093
18094         tsearch: Move AC_LIBOBJ invocations to module description.
18095         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
18096         invocations from here...
18097         * modules/tsearch (configure.ac): ... to here.
18098
18099 2011-05-22  Bruno Haible  <bruno@clisp.org>
18100
18101         towctrans: Move AC_LIBOBJ invocations to module description.
18102         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
18103         AC_LIBOBJ invocation from here...
18104         * modules/towctrans (configure.ac): ... to here.
18105
18106 2011-05-22  Bruno Haible  <bruno@clisp.org>
18107
18108         tmpfile: Move AC_LIBOBJ invocations to module description.
18109         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
18110         invocations from here...
18111         * modules/tmpfile (configure.ac): ... to here.
18112
18113 2011-05-22  Bruno Haible  <bruno@clisp.org>
18114
18115         times: Move AC_LIBOBJ invocations to module description.
18116         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
18117         * modules/times (configure.ac): ... to here.
18118
18119 2011-05-22  Bruno Haible  <bruno@clisp.org>
18120
18121         time_r: Move AC_LIBOBJ invocations to module description.
18122         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
18123         invocations from here...
18124         * modules/time_r (configure.ac): ... to here.
18125
18126 2011-05-22  Bruno Haible  <bruno@clisp.org>
18127
18128         timegm: Move AC_LIBOBJ invocations to module description.
18129         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
18130         invocations from here...
18131         * modules/timegm (configure.ac): ... to here.
18132
18133 2011-05-22  Bruno Haible  <bruno@clisp.org>
18134
18135         tcgetsid: Move AC_LIBOBJ invocations to module description.
18136         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
18137         and gl_PREREQ_TCGETSID invocations from here...
18138         * modules/tcgetsid (configure.ac): ... to here.
18139         (Depends-on): Update conditions.
18140
18141 2011-05-22  Bruno Haible  <bruno@clisp.org>
18142
18143         symlinkat: Move AC_LIBOBJ invocations to module description.
18144         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
18145         here...
18146         * modules/symlinkat (configure.ac): ... to here.
18147
18148 2011-05-22  Bruno Haible  <bruno@clisp.org>
18149
18150         symlink: Move AC_LIBOBJ invocations to module description.
18151         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
18152         here...
18153         * modules/symlink (configure.ac): ... to here.
18154
18155 2011-05-22  Bruno Haible  <bruno@clisp.org>
18156
18157         strverscmp: Move AC_LIBOBJ invocations to module description.
18158         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
18159         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
18160         from here...
18161         * modules/strverscmp (configure.ac): ... to here.
18162
18163 2011-05-22  Bruno Haible  <bruno@clisp.org>
18164
18165         strtok_r: Move AC_LIBOBJ invocations to module description.
18166         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
18167         and gl_PREREQ_STRTOK_R invocations from here...
18168         * modules/strtok_r (configure.ac): ... to here.
18169         (Depends-on): Update conditions.
18170
18171 2011-05-22  Bruno Haible  <bruno@clisp.org>
18172
18173         strtoumax: Move AC_LIBOBJ invocations to module description.
18174         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
18175         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
18176         from here...
18177         * modules/strtoumax (configure.ac): ... to here.
18178
18179 2011-05-22  Bruno Haible  <bruno@clisp.org>
18180
18181         strtoimax: Move AC_LIBOBJ invocations to module description.
18182         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
18183         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
18184         from here...
18185         * modules/strtoimax (configure.ac): ... to here.
18186
18187 2011-05-22  Bruno Haible  <bruno@clisp.org>
18188
18189         strtoull: Move AC_LIBOBJ invocations to module description.
18190         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
18191         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
18192         from here...
18193         * modules/strtoull (configure.ac): ... to here.
18194
18195 2011-05-22  Bruno Haible  <bruno@clisp.org>
18196
18197         strtoll: Move AC_LIBOBJ invocations to module description.
18198         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
18199         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
18200         here...
18201         * modules/strtoll (configure.ac): ... to here.
18202
18203 2011-05-22  Bruno Haible  <bruno@clisp.org>
18204
18205         strtoul: Move AC_LIBOBJ invocations to module description.
18206         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
18207         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
18208         * modules/strtoul (configure.ac): ... to here.
18209
18210 2011-05-22  Bruno Haible  <bruno@clisp.org>
18211
18212         strtol: Move AC_LIBOBJ invocations to module description.
18213         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
18214         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
18215         * modules/strtol (configure.ac): ... to here.
18216
18217 2011-05-22  Bruno Haible  <bruno@clisp.org>
18218
18219         strtod: Move AC_LIBOBJ invocations to module description.
18220         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
18221         invocations from here...
18222         * modules/strtod (configure.ac): ... to here.
18223
18224 2011-05-22  Bruno Haible  <bruno@clisp.org>
18225
18226         strstr*: Move AC_LIBOBJ invocations to module description.
18227         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
18228         invocations from here...
18229         * modules/strstr-simple (configure.ac): ... to here.
18230         * modules/strstr (configure.ac): ... and here.
18231
18232 2011-05-22  Bruno Haible  <bruno@clisp.org>
18233
18234         strsignal: Move AC_LIBOBJ invocations to module description.
18235         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
18236         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
18237         * modules/strsignal (configure.ac): ... to here.
18238         (Depends-on): Update conditions.
18239
18240 2011-05-22  Bruno Haible  <bruno@clisp.org>
18241
18242         strsep: Move AC_LIBOBJ invocations to module description.
18243         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
18244         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
18245         here...
18246         * modules/strsep (configure.ac): ... to here.
18247
18248 2011-05-22  Bruno Haible  <bruno@clisp.org>
18249
18250         strptime: Move AC_LIBOBJ invocations to module description.
18251         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
18252         gl_PREREQ_STRPTIME invocations from here...
18253         * modules/strptime (configure.ac): ... to here.
18254
18255 2011-05-22  Bruno Haible  <bruno@clisp.org>
18256
18257         strpbrk: Move AC_LIBOBJ invocations to module description.
18258         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
18259         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
18260         here...
18261         * modules/strpbrk (configure.ac): ... to here.
18262
18263 2011-05-22  Bruno Haible  <bruno@clisp.org>
18264
18265         strnlen: Move AC_LIBOBJ invocations to module description.
18266         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
18267         invocations from here...
18268         * modules/strnlen (configure.ac): ... to here.
18269
18270 2011-05-22  Bruno Haible  <bruno@clisp.org>
18271
18272         strndup: Move AC_LIBOBJ invocations to module description.
18273         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
18274         invocations from here...
18275         * modules/strndup (configure.ac): ... to here.
18276         (Depends-on): Update conditions.
18277
18278 2011-05-22  Bruno Haible  <bruno@clisp.org>
18279
18280         strncat: Move AC_LIBOBJ invocations to module description.
18281         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
18282         invocations from here...
18283         * modules/strncat (configure.ac): ... to here.
18284
18285 2011-05-22  Bruno Haible  <bruno@clisp.org>
18286
18287         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
18288         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
18289         invocations from here...
18290         * modules/strdup (configure.ac): ... to here.
18291         * modules/strdup-posix (configure.ac): ... and here.
18292
18293 2011-05-22  Bruno Haible  <bruno@clisp.org>
18294
18295         strcspn: Move AC_LIBOBJ invocations to module description.
18296         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
18297         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
18298         here...
18299         * modules/strcspn (configure.ac): ... to here.
18300
18301 2011-05-22  Bruno Haible  <bruno@clisp.org>
18302
18303         strchrnul: Move AC_LIBOBJ invocations to module description.
18304         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
18305         gl_PREREQ_STRCHRNUL invocations from here...
18306         * modules/strchrnul (configure.ac): ... to here.
18307
18308 2011-05-22  Bruno Haible  <bruno@clisp.org>
18309
18310         strcasestr*: Move AC_LIBOBJ invocations to module description.
18311         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
18312         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
18313         * modules/strcasestr-simple (configure.ac): ... to here.
18314         * modules/strcasestr (configure.ac): ... and here.
18315
18316 2011-05-22  Bruno Haible  <bruno@clisp.org>
18317
18318         strcase: Move AC_LIBOBJ invocations to module description.
18319         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
18320         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
18321         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
18322         gl_PREREQ_STRNCASECMP invocations from here...
18323         * modules/strcase (configure.ac): ... to here.
18324
18325 2011-05-22  Bruno Haible  <bruno@clisp.org>
18326
18327         stpncpy: Move AC_LIBOBJ invocations to module description.
18328         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
18329         here...
18330         * modules/stpncpy (configure.ac): ... to here.
18331
18332 2011-05-22  Bruno Haible  <bruno@clisp.org>
18333
18334         stpcpy: Move AC_LIBOBJ invocations to module description.
18335         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
18336         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
18337         here...
18338         * modules/stpcpy (configure.ac): ... to here.
18339
18340 2011-05-21  Bruno Haible  <bruno@clisp.org>
18341
18342         stat: Move AC_LIBOBJ invocations to module description.
18343         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
18344         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
18345         here...
18346         * modules/stat (configure.ac): ... to here.
18347
18348 2011-05-21  Bruno Haible  <bruno@clisp.org>
18349
18350         sleep: Move AC_LIBOBJ invocations to module description.
18351         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
18352         * modules/sleep (configure.ac): ... to here.
18353
18354 2011-05-21  Bruno Haible  <bruno@clisp.org>
18355
18356         signbit: Move AC_LIBOBJ invocations to module description.
18357         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
18358         * modules/signbit (configure.ac): ... to here.
18359
18360 2011-05-21  Bruno Haible  <bruno@clisp.org>
18361
18362         sigprocmask: Move AC_LIBOBJ invocations to module description.
18363         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
18364         gl_PREREQ_SIGPROMASK invocations from here...
18365         * modules/sigprocmask (configure.ac): ... to here.
18366
18367 2011-05-21  Bruno Haible  <bruno@clisp.org>
18368
18369         sigaction: Move AC_LIBOBJ invocations to module description.
18370         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
18371         gl_PREREQ_SIGACTION invocations from here...
18372         * modules/sigaction (configure.ac): ... to here.
18373
18374 2011-05-21  Bruno Haible  <bruno@clisp.org>
18375
18376         sig2str: Move AC_LIBOBJ invocations to module description.
18377         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
18378         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
18379         here...
18380         * modules/sig2str (configure.ac): ... to here.
18381
18382 2011-05-21  Bruno Haible  <bruno@clisp.org>
18383
18384         setlocale: Move AC_LIBOBJ invocations to module description.
18385         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
18386         gl_PREREQ_SETLOCALE invocations from here...
18387         * modules/setlocale (configure.ac): ... to here.
18388
18389 2011-05-21  Bruno Haible  <bruno@clisp.org>
18390
18391         unsetenv: Move AC_LIBOBJ invocations to module description.
18392         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
18393         and gl_PREREQ_UNSETENV invocations from here...
18394         * modules/unsetenv (configure.ac): ... to here.
18395         (Depends-on): Update.
18396
18397 2011-05-21  Bruno Haible  <bruno@clisp.org>
18398
18399         setenv: Move AC_LIBOBJ invocations to module description.
18400         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
18401         here...
18402         * modules/setenv (configure.ac): ... to here.
18403
18404 2011-05-21  Bruno Haible  <bruno@clisp.org>
18405
18406         selinux-h: Move AC_LIBOBJ invocations to module description.
18407         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
18408         AC_LIBOBJ invocation from here...
18409         * modules/selinux-h (configure.ac): ... to here.
18410
18411 2011-05-21  Bruno Haible  <bruno@clisp.org>
18412
18413         select: Respect rules for use of AC_LIBOBJ.
18414         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
18415         here...
18416         * modules/select (configure.ac): ... to here.
18417
18418 2011-05-21  Bruno Haible  <bruno@clisp.org>
18419
18420         scandir: Move AC_LIBOBJ invocations to module description.
18421         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
18422         invocations from here...
18423         * modules/scandir (configure.ac): ... to here.
18424
18425 2011-05-21  Bruno Haible  <bruno@clisp.org>
18426
18427         rpmatch: Move AC_LIBOBJ invocations to module description.
18428         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
18429         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
18430         here...
18431         * modules/rpmatch (configure.ac): ... to here.
18432
18433 2011-05-21  Bruno Haible  <bruno@clisp.org>
18434
18435         rmdir: Respect rules for use of AC_LIBOBJ.
18436         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
18437         * modules/rmdir (configure.ac): ... to here.
18438
18439 2011-05-21  Bruno Haible  <bruno@clisp.org>
18440
18441         renameat: Move AC_LIBOBJ invocations to module description.
18442         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
18443         here...
18444         * modules/renameat (configure.ac): ... to here.
18445
18446 2011-05-21  Bruno Haible  <bruno@clisp.org>
18447
18448         rename: Respect rules for use of AC_LIBOBJ.
18449         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
18450         here...
18451         * modules/rename (configure.ac): ... to here.
18452
18453 2011-05-21  Bruno Haible  <bruno@clisp.org>
18454
18455         remove: Move AC_LIBOBJ invocations to module description.
18456         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
18457         here...
18458         * modules/remove (configure.ac): ... to here.
18459
18460 2011-05-21  Bruno Haible  <bruno@clisp.org>
18461
18462         relocatable-lib: Move AC_LIBOBJ invocations to module description.
18463         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
18464         macro.
18465         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
18466         * modules/relocatable-lib (configure.ac): ... to here.
18467         * modules/relocatable-prog-wrapper (configure.ac): Invoke
18468         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
18469
18470 2011-05-21  Bruno Haible  <bruno@clisp.org>
18471
18472         relocatable-prog: Move AC_LIBOBJ invocations to module description.
18473         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
18474         here...
18475         * modules/relocatable-prog (configure.ac): ... to here.
18476
18477 2011-05-21  Bruno Haible  <bruno@clisp.org>
18478
18479         regex: Move AC_LIBOBJ invocations to module description.
18480         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
18481         invocations from here...
18482         * modules/regex (configure.ac): ... to here.
18483
18484 2011-05-21  Bruno Haible  <bruno@clisp.org>
18485
18486         realloc-*: Move AC_LIBOBJ invocations to module description.
18487         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
18488         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
18489         AC_LIBOBJ invocations from here...
18490         * modules/realloc-gnu (configure.ac): ... to here.
18491         * modules/realloc-posix (configure.ac): ... and here.
18492
18493 2011-05-21  Bruno Haible  <bruno@clisp.org>
18494
18495         readutmp: Move AC_LIBOBJ invocations to module description.
18496         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
18497         * modules/readutmp (configure.ac): ... to here.
18498
18499 2011-05-21  Bruno Haible  <bruno@clisp.org>
18500
18501         readlinkat: Move AC_LIBOBJ invocations to module description.
18502         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
18503         here...
18504         * modules/readlinkat (configure.ac): ... to here.
18505
18506 2011-05-21  Bruno Haible  <bruno@clisp.org>
18507
18508         readlink: Move AC_LIBOBJ invocations to module description.
18509         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
18510         gl_PREREQ_READLINK invocations from here...
18511         * modules/readlink (configure.ac): ... to here.
18512
18513 2011-05-21  Bruno Haible  <bruno@clisp.org>
18514
18515         readline: Move AC_LIBOBJ invocations to module description.
18516         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
18517         gl_PREREQ_READLINE invocations from here...
18518         * modules/readline (configure.ac): ... to here.
18519
18520 2011-05-21  Bruno Haible  <bruno@clisp.org>
18521
18522         read: Move AC_LIBOBJ invocations to module description.
18523         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
18524         * modules/read (configure.ac): ... to here.
18525
18526 2011-05-21  Bruno Haible  <bruno@clisp.org>
18527
18528         rawmemchr: Move AC_LIBOBJ invocations to module description.
18529         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
18530         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
18531         from here...
18532         * modules/rawmemchr (configure.ac): ... to here.
18533
18534 2011-05-21  Bruno Haible  <bruno@clisp.org>
18535
18536         random_r: Move AC_LIBOBJ invocations to module description.
18537         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
18538         gl_PREREQ_RANDOM_R invocations from here...
18539         * modules/random_r (configure.ac): ... to here.
18540
18541 2011-05-21  Bruno Haible  <bruno@clisp.org>
18542
18543         pwrite: Move AC_LIBOBJ invocations to module description.
18544         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
18545         * modules/pwrite (configure.ac): ... to here.
18546
18547 2011-05-21  Bruno Haible  <bruno@clisp.org>
18548
18549         putenv: Move AC_LIBOBJ invocations to module description.
18550         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
18551         * modules/putenv (configure.ac): ... to here.
18552
18553 2011-05-21  Bruno Haible  <bruno@clisp.org>
18554
18555         login_tty: Move AC_LIBOBJ invocations to module description.
18556         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
18557         * modules/login_tty (configure.ac): ... to here.
18558
18559 2011-05-21  Bruno Haible  <bruno@clisp.org>
18560
18561         openpty: Move AC_LIBOBJ invocations to module description.
18562         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
18563         * modules/openpty (configure.ac): ... to here.
18564
18565 2011-05-21  Bruno Haible  <bruno@clisp.org>
18566
18567         forkpty: Move AC_LIBOBJ invocations to module description.
18568         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
18569         * modules/forkpty (configure.ac): ... to here.
18570
18571 2011-05-21  Bruno Haible  <bruno@clisp.org>
18572
18573         ptsname: Move AC_LIBOBJ invocations to module description.
18574         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
18575         invocations from here...
18576         * modules/ptsname (configure.ac): ... to here.
18577
18578 2011-05-21  Bruno Haible  <bruno@clisp.org>
18579
18580         pread: Move AC_LIBOBJ invocations to module description.
18581         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
18582         * modules/pread (configure.ac): ... to here.
18583
18584 2011-05-21  Bruno Haible  <bruno@clisp.org>
18585
18586         posix_spawn*: Move AC_LIBOBJ invocations to module description.
18587         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
18588         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
18589         * modules/posix_spawn (configure.ac): ... to here.
18590         * modules/posix_spawnp (configure.ac): ... and here.
18591
18592 2011-05-21  Bruno Haible  <bruno@clisp.org>
18593
18594         popen: Move AC_LIBOBJ invocations to module description.
18595         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
18596         invocations from here...
18597         * modules/popen (configure.ac): ... to here.
18598
18599 2011-05-21  Bruno Haible  <bruno@clisp.org>
18600
18601         poll: Move AC_LIBOBJ invocations to module description.
18602         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
18603         invocations from here...
18604         * modules/poll (configure.ac): ... to here.
18605
18606 2011-05-21  Bruno Haible  <bruno@clisp.org>
18607
18608         pipe-posix: Move AC_LIBOBJ invocations to module description.
18609         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
18610         * modules/pipe-posix (configure.ac): ... to here.
18611
18612 2011-05-21  Bruno Haible  <bruno@clisp.org>
18613
18614         openat: Respect rules for use of AC_LIBOBJ.
18615         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
18616         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18617         * modules/openat (configure.ac): ... to here.
18618
18619 2011-05-21  Bruno Haible  <bruno@clisp.org>
18620
18621         obstack-printf*: Move AC_LIBOBJ invocations to module description.
18622         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
18623         invocation from here...
18624         * modules/obstack-printf (configure.ac): ... to here.
18625         * modules/obstack-printf-posix (configure.ac): ... and here.
18626
18627 2011-05-21  Bruno Haible  <bruno@clisp.org>
18628
18629         nl_langinfo: Move AC_LIBOBJ invocations to module description.
18630         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
18631         from here...
18632         * modules/nl_langinfo (configure.ac): ... to here.
18633
18634 2011-05-21  Bruno Haible  <bruno@clisp.org>
18635
18636         nanosleep: Move AC_LIBOBJ invocations to module description.
18637         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
18638         gl_PREREQ_NANOSLEEP invocations from here...
18639         * modules/nanosleep (configure.ac): ... to here.
18640
18641 2011-05-21  Bruno Haible  <bruno@clisp.org>
18642
18643         mountlist: Move AC_LIBOBJ invocations to module description.
18644         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
18645         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
18646         * modules/mountlist (configure.ac): ... to here.
18647
18648 2011-05-21  Bruno Haible  <bruno@clisp.org>
18649
18650         mktime: Respect rules for use of AC_LIBOBJ.
18651         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
18652         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
18653         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
18654         (gl_FUNC_MKTIME_INTERNAL): ... and here...
18655         * modules/mktime (configure.ac): ... to here.
18656         * modules/mktime-internal (configure.ac): ... and here.
18657         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
18658
18659 2011-05-21  Bruno Haible  <bruno@clisp.org>
18660
18661         mkstemps: Move AC_LIBOBJ invocations to module description.
18662         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
18663         here...
18664         * modules/mkstemps (configure.ac): ... to here.
18665
18666 2011-05-21  Bruno Haible  <bruno@clisp.org>
18667
18668         mkstemp: Move AC_LIBOBJ invocations to module description.
18669         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
18670         gl_PREREQ_MKSTEMP invocations from here...
18671         * modules/mkstemp (configure.ac): ... to here.
18672
18673 2011-05-21  Bruno Haible  <bruno@clisp.org>
18674
18675         mkostemps: Move AC_LIBOBJ invocations to module description.
18676         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
18677         here...
18678         * modules/mkostemps (configure.ac): ... to here.
18679
18680 2011-05-21  Bruno Haible  <bruno@clisp.org>
18681
18682         mkostemp: Move AC_LIBOBJ invocations to module description.
18683         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
18684         gl_PREREQ_MKOSTEMP invocations from here...
18685         * modules/mkostemp (configure.ac): ... to here.
18686
18687 2011-05-21  Bruno Haible  <bruno@clisp.org>
18688
18689         mknod: Move AC_LIBOBJ invocations to module description.
18690         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
18691         * modules/mknod (configure.ac): ... to here.
18692
18693 2011-05-21  Bruno Haible  <bruno@clisp.org>
18694
18695         mkfifoat: Move AC_LIBOBJ invocations to module description.
18696         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
18697         here...
18698         * modules/mkfifoat (configure.ac): ... to here.
18699
18700 2011-05-21  Bruno Haible  <bruno@clisp.org>
18701
18702         mkfifo: Respect rules for use of AC_LIBOBJ.
18703         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
18704         here...
18705         * modules/mkfifo (configure.ac): ... to here.
18706
18707 2011-05-21  Bruno Haible  <bruno@clisp.org>
18708
18709         mkdtemp: Move AC_LIBOBJ invocations to module description.
18710         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
18711         invocations from here...
18712         * modules/mkdtemp (configure.ac): ... to here.
18713
18714 2011-05-21  Bruno Haible  <bruno@clisp.org>
18715
18716         mkdir: Move AC_LIBOBJ invocations to module description.
18717         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
18718         * modules/mkdir (configure.ac): ... to here.
18719
18720 2011-05-21  Bruno Haible  <bruno@clisp.org>
18721
18722         memset: Move AC_LIBOBJ invocations to module description.
18723         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
18724         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
18725         here...
18726         * modules/memset (configure.ac): ... to here.
18727
18728 2011-05-21  Bruno Haible  <bruno@clisp.org>
18729
18730         memrchr: Move AC_LIBOBJ invocations to module description.
18731         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
18732         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
18733         here...
18734         * modules/memrchr (configure.ac): ... to here.
18735
18736 2011-05-21  Bruno Haible  <bruno@clisp.org>
18737
18738         mempcpy: Move AC_LIBOBJ invocations to module description.
18739         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
18740         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
18741         here...
18742         * modules/mempcpy (configure.ac): ... to here.
18743
18744 2011-05-21  Bruno Haible  <bruno@clisp.org>
18745
18746         memmove: Move AC_LIBOBJ invocations to module description.
18747         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
18748         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
18749         here...
18750         * modules/memmove (configure.ac): ... to here.
18751
18752 2011-05-21  Bruno Haible  <bruno@clisp.org>
18753
18754         memmem*: Move AC_LIBOBJ invocations to module description.
18755         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
18756         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
18757         here...
18758         (gl_FUNC_MEMMEM): ... and here...
18759         * modules/memmem-simple (configure.ac): ... to here.
18760         * modules/memmem (configure.ac): ... and here.
18761
18762 2011-05-21  Bruno Haible  <bruno@clisp.org>
18763
18764         memcpy: Move AC_LIBOBJ invocations to module description.
18765         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
18766         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
18767         here...
18768         * modules/memcpy (configure.ac): ... to here.
18769
18770 2011-05-21  Bruno Haible  <bruno@clisp.org>
18771
18772         memcmp: Simplify autoconf macro.
18773         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
18774         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
18775         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
18776
18777 2011-05-21  Bruno Haible  <bruno@clisp.org>
18778
18779         memcmp: Move AC_LIBOBJ invocations to module description.
18780         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
18781         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
18782         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
18783         * modules/memcmp (configure.ac): ... to here.
18784         (Depends-on): Update conditions.
18785
18786 2011-05-21  Bruno Haible  <bruno@clisp.org>
18787
18788         memchr: Respect rules for use of AC_LIBOBJ.
18789         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
18790         invocations from here...
18791         * modules/memchr (configure.ac): ... to here.
18792
18793 2011-05-21  Bruno Haible  <bruno@clisp.org>
18794
18795         mbtowc: Move AC_LIBOBJ invocations to module description.
18796         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
18797         invocations from here...
18798         * modules/mbtowc (configure.ac): ... to here.
18799
18800 2011-05-21  Bruno Haible  <bruno@clisp.org>
18801
18802         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
18803         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
18804         gl_PREREQ_MBSRTOWCS invocations from here...
18805         * modules/mbsrtowcs (configure.ac): ... to here.
18806
18807 2011-05-21  Bruno Haible  <bruno@clisp.org>
18808
18809         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
18810         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
18811         gl_PREREQ_MBSNRTOWCS invocations from here...
18812         * modules/mbsnrtowcs (configure.ac): ... to here.
18813
18814 2011-05-21  Bruno Haible  <bruno@clisp.org>
18815
18816         mbsinit: Move AC_LIBOBJ invocations to module description.
18817         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
18818         invocations from here...
18819         * modules/mbsinit (configure.ac): ... to here.
18820
18821 2011-05-21  Bruno Haible  <bruno@clisp.org>
18822
18823         mbrlen: Move AC_LIBOBJ invocations to module description.
18824         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
18825         invocations from here...
18826         * modules/mbrlen (configure.ac): ... to here.
18827
18828 2011-05-21  Bruno Haible  <bruno@clisp.org>
18829
18830         mbrtowc: Respect rules for use of AC_LIBOBJ.
18831         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
18832         invocations from here...
18833         * modules/mbrtowc (configure.ac): ... to here.
18834
18835 2011-05-21  Bruno Haible  <bruno@clisp.org>
18836
18837         malloc-*: Move AC_LIBOBJ invocations to module description.
18838         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
18839         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
18840         AC_LIBOBJ invocations from here...
18841         * modules/malloc-gnu (configure.ac): ... to here.
18842         * modules/malloc-posix (configure.ac): ... and here.
18843
18844 2011-05-21  Bruno Haible  <bruno@clisp.org>
18845
18846         lstat, openat: Respect rules for use of AC_LIBOBJ.
18847         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
18848         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
18849         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
18850         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
18851         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
18852         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
18853         here.
18854         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
18855
18856 2011-05-21  Bruno Haible  <bruno@clisp.org>
18857
18858         lseek: Move AC_LIBOBJ invocations to module description.
18859         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
18860         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
18861         * modules/lseek (configure.ac): ... to here.
18862
18863 2011-05-21  Bruno Haible  <bruno@clisp.org>
18864
18865         linkat: Move AC_LIBOBJ invocations to module description.
18866         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
18867         here...
18868         * modules/linkat (configure.ac): ... to here.
18869
18870 2011-05-21  Bruno Haible  <bruno@clisp.org>
18871
18872         link: Respect rules for use of AC_LIBOBJ.
18873         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
18874         * modules/link (configure.ac): ... to here.
18875
18876 2011-05-21  Bruno Haible  <bruno@clisp.org>
18877
18878         lchown: Move AC_LIBOBJ invocations to module description.
18879         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18880         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18881         * modules/lchown (configure.ac): ... to here.
18882
18883 2011-05-21  Bruno Haible  <bruno@clisp.org>
18884
18885         iswctype: Move AC_LIBOBJ invocations to module description.
18886         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
18887         here...
18888         * modules/iswctype (configure.ac): ... to here.
18889
18890 2011-05-21  Bruno Haible  <bruno@clisp.org>
18891
18892         iswblank: Move AC_LIBOBJ invocations to module description.
18893         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
18894         here...
18895         * modules/iswblank (configure.ac): ... to here.
18896
18897 2011-05-21  Bruno Haible  <bruno@clisp.org>
18898
18899         atanl: Move AC_LIBOBJ invocations to module description.
18900         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
18901         * modules/atanl (configure.ac): ... to here.
18902
18903 2011-05-21  Bruno Haible  <bruno@clisp.org>
18904
18905         acosl: Move AC_LIBOBJ invocations to module description.
18906         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
18907         * modules/acosl (configure.ac): ... to here.
18908
18909 2011-05-21  Bruno Haible  <bruno@clisp.org>
18910
18911         asinl: Respect rules for use of AC_LIBOBJ.
18912         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
18913         * modules/asinl (configure.ac): ... to here.
18914
18915 2011-05-21  Bruno Haible  <bruno@clisp.org>
18916
18917         tanl: Move AC_LIBOBJ invocations to module description.
18918         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
18919         * modules/tanl (configure.ac): ... to here.
18920
18921 2011-05-21  Bruno Haible  <bruno@clisp.org>
18922
18923         cosl: Move AC_LIBOBJ invocations to module description.
18924         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
18925         * modules/cosl (configure.ac): ... to here.
18926
18927 2011-05-21  Bruno Haible  <bruno@clisp.org>
18928
18929         sinl: Move AC_LIBOBJ invocations to module description.
18930         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
18931         * modules/sinl (configure.ac): ... to here.
18932
18933 2011-05-21  Bruno Haible  <bruno@clisp.org>
18934
18935         logl: Move AC_LIBOBJ invocations to module description.
18936         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
18937         * modules/logl (configure.ac): ... to here.
18938
18939 2011-05-21  Bruno Haible  <bruno@clisp.org>
18940
18941         expl: Move AC_LIBOBJ invocations to module description.
18942         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
18943         * modules/expl (configure.ac): ... to here.
18944
18945 2011-05-21  Bruno Haible  <bruno@clisp.org>
18946
18947         roundl: Move AC_LIBOBJ invocations to module description.
18948         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
18949         * modules/roundl (configure.ac): ... to here.
18950
18951 2011-05-21  Bruno Haible  <bruno@clisp.org>
18952
18953         round: Move AC_LIBOBJ invocations to module description.
18954         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
18955         * modules/round (configure.ac): ... to here.
18956
18957 2011-05-21  Bruno Haible  <bruno@clisp.org>
18958
18959         roundf: Move AC_LIBOBJ invocations to module description.
18960         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
18961         * modules/roundf (configure.ac): ... to here.
18962
18963 2011-05-21  Bruno Haible  <bruno@clisp.org>
18964
18965         truncl: Move AC_LIBOBJ invocations to module description.
18966         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
18967         * modules/truncl (configure.ac): ... to here.
18968
18969 2011-05-21  Bruno Haible  <bruno@clisp.org>
18970
18971         trunc: Move AC_LIBOBJ invocations to module description.
18972         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
18973         * modules/trunc (configure.ac): ... to here.
18974
18975 2011-05-21  Bruno Haible  <bruno@clisp.org>
18976
18977         truncf: Move AC_LIBOBJ invocations to module description.
18978         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
18979         * modules/truncf (configure.ac): ... to here.
18980
18981 2011-05-21  Bruno Haible  <bruno@clisp.org>
18982
18983         ceill: Move AC_LIBOBJ invocations to module description.
18984         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
18985         * modules/ceill (configure.ac): ... to here.
18986
18987 2011-05-21  Bruno Haible  <bruno@clisp.org>
18988
18989         ceil: Move AC_LIBOBJ invocations to module description.
18990         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
18991         * modules/ceil (configure.ac): ... to here.
18992
18993 2011-05-21  Bruno Haible  <bruno@clisp.org>
18994
18995         ceilf: Move AC_LIBOBJ invocations to module description.
18996         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
18997         * modules/ceilf (configure.ac): ... to here.
18998
18999 2011-05-21  Bruno Haible  <bruno@clisp.org>
19000
19001         floorl: Respect rules for use of AC_LIBOBJ.
19002         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
19003         * modules/floorl (configure.ac): ... to here.
19004
19005 2011-05-21  Bruno Haible  <bruno@clisp.org>
19006
19007         floor: Respect rules for use of AC_LIBOBJ.
19008         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
19009         * modules/floor (configure.ac): ... to here.
19010
19011 2011-05-21  Bruno Haible  <bruno@clisp.org>
19012
19013         floorf: Move AC_LIBOBJ invocations to module description.
19014         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
19015         * modules/floorf (configure.ac): ... to here.
19016
19017 2011-05-20  Bruno Haible  <bruno@clisp.org>
19018
19019         sqrtl: Respect rules for use of AC_LIBOBJ.
19020         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
19021         * modules/sqrtl (configure.ac): ... to here.
19022
19023 2011-05-20  Bruno Haible  <bruno@clisp.org>
19024
19025         ldexpl: Respect rules for use of AC_LIBOBJ.
19026         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
19027         * modules/ldexpl (configure.ac): ... to here.
19028
19029 2011-05-20  Bruno Haible  <bruno@clisp.org>
19030
19031         frexpl*: Respect rules for use of AC_LIBOBJ.
19032         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
19033         invocation from here...
19034         * modules/frexpl (configure.ac): ... to here.
19035         * modules/frexpl-nolibm (configure.ac): ... and here.
19036
19037 2011-05-20  Bruno Haible  <bruno@clisp.org>
19038
19039         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
19040         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
19041         invocation from here...
19042         * modules/frexp (configure.ac): ... to here.
19043         * modules/frexp-nolibm (configure.ac): ... and here.
19044
19045 2011-05-20  Bruno Haible  <bruno@clisp.org>
19046
19047         isnan: Respect rules for use of AC_LIBOBJ.
19048         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
19049         invocations here.
19050         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
19051         REPLACE_ISNAN.
19052         * modules/isnand (configure.ac): Likewise.
19053         * modules/isnanl (configure.ac): Likewise.
19054
19055 2011-05-20  Bruno Haible  <bruno@clisp.org>
19056
19057         isnanl*: Respect rules for use of AC_LIBOBJ.
19058         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
19059         invocation from here...
19060         * modules/isnanl (configure.ac): ... to here.
19061         * modules/isnanl-nolibm (configure.ac): ... and here.
19062
19063 2011-05-20  Bruno Haible  <bruno@clisp.org>
19064
19065         isnand*: Move AC_LIBOBJ invocations to module description.
19066         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
19067         invocation from here...
19068         * modules/isnand (configure.ac): ... to here.
19069         * modules/isnand-nolibm (configure.ac): ... and here.
19070
19071 2011-05-20  Bruno Haible  <bruno@clisp.org>
19072
19073         isnanf*: Move AC_LIBOBJ invocations to module description.
19074         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
19075         invocation from here...
19076         * modules/isnanf (configure.ac): ... to here.
19077         * modules/isnanf-nolibm (configure.ac): ... and here.
19078
19079 2011-05-20  Bruno Haible  <bruno@clisp.org>
19080
19081         isnan*: Separate the AC_LIBOBJ invocations.
19082         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
19083         AC_LIBOBJ invocation.
19084         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
19085         here.
19086         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
19087         AC_LIBOBJ invocation.
19088         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
19089         here.
19090         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
19091         AC_LIBOBJ invocation.
19092         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
19093         here.
19094         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
19095
19096 2011-05-08  Bruno Haible  <bruno@clisp.org>
19097
19098         isinf: Move AC_LIBOBJ invocations to module description.
19099         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
19100         * modules/isinf (configure.ac): ... to here.
19101
19102 2011-05-08  Bruno Haible  <bruno@clisp.org>
19103
19104         isfinite: Move AC_LIBOBJ invocations to module description.
19105         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
19106         * modules/isfinite (configure.ac): ... to here.
19107
19108 2011-05-08  Bruno Haible  <bruno@clisp.org>
19109
19110         isblank: Move AC_LIBOBJ invocations to module description.
19111         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
19112         here...
19113         * modules/isblank (configure.ac): ... to here.
19114
19115 2011-05-08  Bruno Haible  <bruno@clisp.org>
19116
19117         isapipe: Move AC_LIBOBJ invocations to module description.
19118         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
19119         gl_PREREQ_ISAPIPE invocations from here...
19120         * modules/isapipe (configure.ac): ... to here.
19121         (Depends-on): Update condition.
19122
19123 2011-05-08  Bruno Haible  <bruno@clisp.org>
19124
19125         ioctl: Move AC_LIBOBJ invocations to module description.
19126         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
19127         invocations from here...
19128         * modules/ioctl (configure.ac): ... to here.
19129         (Depends-on): Update condition.
19130
19131 2011-05-08  Bruno Haible  <bruno@clisp.org>
19132
19133         imaxdiv: Move AC_LIBOBJ invocations to module description.
19134         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
19135         invocations from here...
19136         * modules/imaxdiv (configure.ac): ... to here.
19137
19138 2011-05-08  Bruno Haible  <bruno@clisp.org>
19139
19140         imaxabs: Move AC_LIBOBJ invocations to module description.
19141         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
19142         invocations from here...
19143         * modules/imaxabs (configure.ac): ... to here.
19144
19145 2011-05-08  Bruno Haible  <bruno@clisp.org>
19146
19147         getaddrinfo: Move AC_LIBOBJ invocations to module description.
19148         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
19149         AC_LIBOBJ invocations from here...
19150         * modules/getaddrinfo (configure.ac): ... to here.
19151         (Depends-on): Add conditions.
19152
19153 2011-05-08  Bruno Haible  <bruno@clisp.org>
19154
19155         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
19156         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
19157         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
19158         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
19159         (gl_PREREQ_INET_PTON): ... from here.
19160         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
19161         gl_PREREQ_INET_PTON here.
19162         (Depends-on): Update condition.
19163
19164 2011-05-08  Bruno Haible  <bruno@clisp.org>
19165
19166         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
19167         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
19168         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
19169         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
19170         (gl_PREREQ_INET_NTOP): ... from here.
19171         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
19172         gl_PREREQ_INET_NTOP here.
19173         (Depends-on): Update condition.
19174
19175 2011-05-08  Bruno Haible  <bruno@clisp.org>
19176
19177         iconv_open: Move AC_LIBOBJ invocations to module description.
19178         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
19179         AC_LIBOBJ invocations from here...
19180         * modules/iconv_open (configure.ac): ... to here.
19181
19182 2011-05-08  Bruno Haible  <bruno@clisp.org>
19183
19184         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
19185         If module 'iconv_open' is among the main modules and module
19186         'iconv_open-utf' is among the tests dependencies, then
19187         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
19188         return the special iconv_t values. Therefore iconv() and iconv_close()
19189         must support these special iconv_t values, already in lib, not only in
19190         tests.
19191         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
19192         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
19193         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
19194         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
19195         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
19196         (Depends-on): Add the dependencies of iconv_open-utf.
19197         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
19198         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
19199         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
19200
19201 2011-05-08  Bruno Haible  <bruno@clisp.org>
19202
19203         group-member: Move AC_LIBOBJ invocations to module description.
19204         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
19205         gl_PREREQ_GROUP_MEMBER invocations from here...
19206         * modules/group-member (configure.ac): ... to here.
19207
19208 2011-05-08  Bruno Haible  <bruno@clisp.org>
19209
19210         grantpt: Move AC_LIBOBJ invocations to module description.
19211         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
19212         invocations from here...
19213         * modules/grantpt (configure.ac): ... to here.
19214
19215 2011-05-08  Bruno Haible  <bruno@clisp.org>
19216
19217         glob: Move AC_LIBOBJ invocations to module description.
19218         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
19219         from here...
19220         * modules/glob (configure.ac): ... to here.
19221
19222 2011-05-08  Bruno Haible  <bruno@clisp.org>
19223
19224         getusershell: Move AC_LIBOBJ invocations to module description.
19225         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
19226         Move AC_LIBOBJ invocation from here...
19227         * modules/getusershell (configure.ac): ... to here.
19228         (Depends-on): Update condition.
19229
19230 2011-05-08  Bruno Haible  <bruno@clisp.org>
19231
19232         gettimeofday: Move AC_LIBOBJ invocations to module description.
19233         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
19234         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
19235         gl_PREREQ_GETTIMEOFDAY invocations from here...
19236         * modules/gettimeofday (configure.ac): ... to here.
19237
19238 2011-05-08  Bruno Haible  <bruno@clisp.org>
19239
19240         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
19241         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
19242         just gl_FUNC_TZSET.
19243         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
19244         (gl_FUNC_TZSET_CLOBBER): Remove actions.
19245         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
19246         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
19247
19248 2011-05-08  Bruno Haible  <bruno@clisp.org>
19249
19250         getsubopt: Move AC_LIBOBJ invocations to module description.
19251         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
19252         gl_PREREQ_GETSUBOPT invocations from here...
19253         * modules/getsubopt (configure.ac): ... to here.
19254
19255 2011-05-08  Bruno Haible  <bruno@clisp.org>
19256
19257         getpass-gnu: Move AC_LIBOBJ invocations to module description.
19258         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
19259         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
19260         * modules/getpass-gnu (configure.ac): ... to here.
19261
19262 2011-05-08  Bruno Haible  <bruno@clisp.org>
19263
19264         getpass: Move AC_LIBOBJ invocations to module description.
19265         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
19266         gl_PREREQ_GETPASS invocations from here...
19267         * modules/getpass (configure.ac): ... to here.
19268
19269 2011-05-08  Bruno Haible  <bruno@clisp.org>
19270
19271         getpagesize: Move AC_LIBOBJ invocations to module description.
19272         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
19273         from here...
19274         * modules/getpagesize (configure.ac): ... to here.
19275
19276 2011-05-08  Bruno Haible  <bruno@clisp.org>
19277
19278         getopt: Move AC_LIBOBJ invocations to module description.
19279         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
19280         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
19281         invocations from here...
19282         * modules/getopt-gnu (configure.ac): ... to here.
19283         * modules/getopt-posix (configure.ac): ... and here.
19284         (Depends-on): Update condition.
19285
19286 2011-05-08  Bruno Haible  <bruno@clisp.org>
19287
19288         getopt, argp: Respect rules for use of AC_LIBOBJ.
19289         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
19290         (gl_REPLACE_GETOPT_ALWAYS): New macro.
19291         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
19292         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
19293
19294 2011-05-08  Bruno Haible  <bruno@clisp.org>
19295
19296         getlogin_r: Move AC_LIBOBJ invocations to module description.
19297         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
19298         gl_PREREQ_GETLOGIN_R invocations from here...
19299         * modules/getlogin_r (configure.ac): ... to here.
19300
19301 2011-05-08  Bruno Haible  <bruno@clisp.org>
19302
19303         getlogin: Move AC_LIBOBJ invocations to module description.
19304         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
19305         here...
19306         * modules/getlogin (configure.ac): ... to here.
19307
19308 2011-05-08  Bruno Haible  <bruno@clisp.org>
19309
19310         getloadavg: Move AC_LIBOBJ invocations to module description.
19311         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
19312         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
19313         * modules/getloadavg (configure.ac): ... to here.
19314
19315 2011-05-08  Bruno Haible  <bruno@clisp.org>
19316
19317         gethrxtime: Move AC_LIBOBJ invocations to module description.
19318         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
19319         LIB_GETHRXTIME from here...
19320         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
19321         invocations from here...
19322         * modules/gethrxtime (configure.ac): ... to here.
19323
19324 2011-05-08  Bruno Haible  <bruno@clisp.org>
19325
19326         gethostname: Move AC_LIBOBJ invocations to module description.
19327         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
19328         gl_PREREQ_GETHOSTNAME invocations from here...
19329         * modules/gethostname (configure.ac): ... to here.
19330
19331 2011-05-08  Bruno Haible  <bruno@clisp.org>
19332
19333         getgroups: Move AC_LIBOBJ invocations to module description.
19334         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
19335         here...
19336         * modules/getgroups (configure.ac): ... to here.
19337
19338 2011-05-08  Bruno Haible  <bruno@clisp.org>
19339
19340         getdtablesize: Move AC_LIBOBJ invocations to module description.
19341         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
19342         invocation from here...
19343         * modules/getdtablesize (configure.ac): ... to here.
19344
19345 2011-05-08  Bruno Haible  <bruno@clisp.org>
19346
19347         getdomainname: Move AC_LIBOBJ invocations to module description.
19348         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
19349         gl_PREREQ_GETDOMAINNAME invocations from here...
19350         * modules/getdomainname (configure.ac): ... to here.
19351
19352 2011-05-08  Bruno Haible  <bruno@clisp.org>
19353
19354         getline: Move AC_LIBOBJ invocations to module description.
19355         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
19356         invocations from here...
19357         * modules/getline (configure.ac): ... to here.
19358
19359 2011-05-08  Bruno Haible  <bruno@clisp.org>
19360
19361         getline: Simplify.
19362         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
19363         It's already handled through the module dependency.
19364
19365 2011-05-08  Bruno Haible  <bruno@clisp.org>
19366
19367         getdelim: Move AC_LIBOBJ invocations to module description.
19368         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
19369         and gl_PREREQ_GETDELIM invocations from here...
19370         * modules/getdelim (configure.ac): ... to here.
19371         (Depends-on): Fix condition.
19372
19373 2011-05-08  Bruno Haible  <bruno@clisp.org>
19374
19375         getcwd: Move AC_LIBOBJ invocations to module description.
19376         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
19377         invocations from here...
19378         * modules/getcwd (configure.ac): ... to here.
19379
19380 2011-05-08  Bruno Haible  <bruno@clisp.org>
19381
19382         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
19383         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
19384         here...
19385         * modules/getcwd-lgpl (configure.ac): ... to here.
19386
19387 2011-05-07  Bruno Haible  <bruno@clisp.org>
19388
19389         crypto/gc: Move AC_LIBOBJ invocations to module description.
19390         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
19391         * modules/crypto/gc (configure.ac): ... to here.
19392
19393 2011-05-07  Bruno Haible  <bruno@clisp.org>
19394
19395         fwriting: Move AC_LIBOBJ invocations to module description.
19396         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
19397         here...
19398         * modules/fwriting (configure.ac): ... to here.
19399
19400 2011-05-07  Bruno Haible  <bruno@clisp.org>
19401
19402         fwritable: Move AC_LIBOBJ invocations to module description.
19403         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
19404         here...
19405         * modules/fwritable (configure.ac): ... to here.
19406
19407 2011-05-07  Bruno Haible  <bruno@clisp.org>
19408
19409         futimens: Move AC_LIBOBJ invocations to module description.
19410         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
19411         here...
19412         * modules/futimens (configure.ac): ... to here.
19413
19414 2011-05-07  Bruno Haible  <bruno@clisp.org>
19415
19416         ftruncate: Move AC_LIBOBJ invocations to module description.
19417         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
19418         gl_PREREQ_FTRUNCATE invocations from here...
19419         * modules/ftruncate (configure.ac): ... to here.
19420
19421 2011-05-07  Bruno Haible  <bruno@clisp.org>
19422
19423         fsync: Move AC_LIBOBJ invocations to module description.
19424         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
19425         invocations from here...
19426         * modules/fsync (configure.ac): ... to here.
19427
19428 2011-05-07  Bruno Haible  <bruno@clisp.org>
19429
19430         fsusage: Move AC_LIBOBJ invocations to module description.
19431         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
19432         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
19433         * modules/fsusage (configure.ac): ... to here.
19434
19435 2011-05-07  Bruno Haible  <bruno@clisp.org>
19436
19437         freopen: Move AC_LIBOBJ invocations to module description.
19438         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
19439         invocations from here...
19440         * modules/freopen (configure.ac): ... to here.
19441
19442 2011-05-07  Bruno Haible  <bruno@clisp.org>
19443
19444         free: Move AC_LIBOBJ invocations to module description.
19445         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
19446         invocations from here...
19447         * modules/free (configure.ac): ... to here.
19448
19449 2011-05-07  Bruno Haible  <bruno@clisp.org>
19450
19451         freadable: Move AC_LIBOBJ invocations to module description.
19452         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
19453         here...
19454         * modules/freadable (configure.ac): ... to here.
19455
19456 2011-05-07  Bruno Haible  <bruno@clisp.org>
19457
19458         fpurge: Move AC_LIBOBJ invocations to module description.
19459         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
19460         invocations from here...
19461         * modules/fpurge (configure.ac): ... to here.
19462
19463 2011-05-07  Bruno Haible  <bruno@clisp.org>
19464
19465         fpending: Move AC_LIBOBJ invocations to module description.
19466         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
19467         gl_FUNC_FPENDING.
19468         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
19469         invocations from here...
19470         * modules/fpending (configure.ac): ... to here.
19471
19472 2011-05-07  Bruno Haible  <bruno@clisp.org>
19473
19474         fopen: Move AC_LIBOBJ invocations to module description.
19475         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
19476         invocations from here...
19477         * modules/fopen (configure.ac): ... to here.
19478
19479 2011-05-07  Bruno Haible  <bruno@clisp.org>
19480
19481         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
19482         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
19483         gl_FUNC_FNMATCH_POSIX.
19484         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
19485         invocations from here...
19486         * modules/fnmatch (configure.ac): ... to here.
19487         * modules/fnmatch-gnu (configure.ac): ... and here.
19488
19489 2011-05-07  Bruno Haible  <bruno@clisp.org>
19490
19491         flock: Move AC_LIBOBJ invocations to module description.
19492         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
19493         invocations from here...
19494         * modules/flock (configure.ac): ... to here.
19495
19496 2011-05-07  Bruno Haible  <bruno@clisp.org>
19497
19498         fileblocks: Move AC_LIBOBJ invocations to module description.
19499         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
19500         gl_PREREQ_FILEBLOCKS invocations from here...
19501         * modules/fileblocks (configure.ac): ... to here.
19502
19503 2011-05-06  Bruno Haible  <bruno@clisp.org>
19504
19505         fflush: Move AC_LIBOBJ invocations to module description.
19506         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
19507         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
19508         invocations from here...
19509         * modules/fflush (configure.ac): ... to here.
19510
19511 2011-05-06  Bruno Haible  <bruno@clisp.org>
19512
19513         fdopendir: Move AC_LIBOBJ invocations to module description.
19514         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
19515         here...
19516         * modules/fdopendir (configure.ac): ... to here.
19517         (Depends-on): Improve conditions.
19518
19519 2011-05-06  Bruno Haible  <bruno@clisp.org>
19520
19521         _Exit: Move AC_LIBOBJ invocations to module description.
19522         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
19523         invocations from here...
19524         * modules/_Exit (configure.ac): ... to here.
19525
19526 2011-05-21  Bruno Haible  <bruno@clisp.org>
19527
19528         euidaccess: Respect rules for use of AC_LIBOBJ.
19529         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
19530         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
19531         from here...
19532         * modules/euidaccess (configure.ac): ... to here.
19533
19534 2011-05-06  Bruno Haible  <bruno@clisp.org>
19535
19536         error: Move AC_LIBOBJ invocations to module description.
19537         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
19538         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
19539         invocations from here...
19540         * modules/error (configure.ac): ... to here.
19541
19542 2011-05-06  Bruno Haible  <bruno@clisp.org>
19543
19544         duplocale: Move AC_LIBOBJ invocations to module description.
19545         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
19546         gl_PREREQ_DUPLOCALE invocations from here...
19547         * modules/duplocale (configure.ac): ... to here.
19548
19549 2011-05-05  Bruno Haible  <bruno@clisp.org>
19550
19551         dirfd: Move AC_LIBOBJ invocations to module description.
19552         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
19553         gl_FUNC_DIRFD.
19554         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
19555         here...
19556         * modules/dirfd (configure.ac): ... to here.
19557         (Depends-on): Fix condition.
19558
19559 2011-05-05  Bruno Haible  <bruno@clisp.org>
19560
19561         chown: Respect rules for use of AC_LIBOBJ.
19562         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
19563         * modules/chown (configure.ac): ... to here.
19564
19565 2011-05-05  Bruno Haible  <bruno@clisp.org>
19566
19567         chdir-long: Move AC_LIBOBJ invocations to module description.
19568         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
19569         gl_PREREQ_CHDIR_LONG invocations from here...
19570         * modules/chdir-long (configure.ac): ... to here.
19571
19572 2011-05-05  Bruno Haible  <bruno@clisp.org>
19573
19574         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
19575         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
19576         from here...
19577         * modules/canonicalize-lgpl (configure.ac): ... to here.
19578
19579 2011-05-05  Bruno Haible  <bruno@clisp.org>
19580
19581         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
19582         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
19583         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
19584         REPLACE_CALLOC.
19585         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
19586         * modules/calloc-gnu (configure.ac): Likewise.
19587
19588 2011-05-05  Bruno Haible  <bruno@clisp.org>
19589
19590         btowc: Move AC_LIBOBJ invocations to module description.
19591         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
19592         invocations from here...
19593         * modules/btowc (configure.ac): ... to here.
19594
19595 2011-05-21  Bruno Haible  <bruno@clisp.org>
19596
19597         atexit: Move AC_LIBOBJ invocations to module description.
19598         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
19599         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
19600         here...
19601         * modules/atexit (configure.ac): ... to here.
19602
19603 2011-05-05  Bruno Haible  <bruno@clisp.org>
19604
19605         atoll: Move AC_LIBOBJ invocations to module description.
19606         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
19607         invocations from here...
19608         * modules/atoll (configure.ac): ... to here.
19609
19610 2011-05-05  Bruno Haible  <bruno@clisp.org>
19611
19612         argz: Move AC_LIBOBJ invocations to module description.
19613         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
19614         * modules/argz (configure.ac): ... to here.
19615
19616 2011-05-05  Bruno Haible  <bruno@clisp.org>
19617
19618         alphasort: Move AC_LIBOBJ invocations to module description.
19619         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
19620         gl_PREREQ_ALPHASORT invocations from here...
19621         * modules/alphasort (configure.ac): ... to here.
19622
19623 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19624
19625         verify: new macro verify_expr; verify_true deprecated
19626         * NEWS: Mention this.
19627         * doc/verify.texi (Compile-time Assertions): Document this.
19628         * lib/verify.h (verify_true): Deprecate.
19629         (verify_expr): New macro.
19630         * tests/test-verify.c (function): Test verify_expr.
19631
19632 2011-06-14  Jim Meyering  <meyering@redhat.com>
19633
19634         init.sh: give more portable redirection-related advice in a comment
19635         * tests/init.sh (stderr_fileno_): Update the advice in comments.
19636         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
19637         for lots of discussion.  Stefano Lattarini suggested the solution
19638         of putting "9>&2" after the command.  Reported by Bruno Haible.
19639
19640 2011-06-13  Bruno Haible  <bruno@clisp.org>
19641
19642         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
19643         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
19644         'none'.
19645
19646 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
19647
19648         ftoastr: use strtof only if HAVE_STRTOF
19649         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
19650         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
19651         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
19652         * modules/ftoastr (configure.ac): Check for strtof.
19653
19654 2011-06-13  Bruno Haible  <bruno@clisp.org>
19655
19656         gnulib-tool: Addendum to 2011-06-08 commit.
19657         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
19658         and --witness-c-macro have been given, augment AM_CPPFLAGS.
19659
19660 2011-06-13  Bruno Haible  <bruno@clisp.org>
19661
19662         fseeko: Provide a non-inline replacement of fseek().
19663         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
19664         * modules/fseeko (Depends-on): Add fseek.
19665         * modules/fseek (License): Change to LGPLv2+.
19666
19667 2011-06-13  Bruno Haible  <bruno@clisp.org>
19668
19669         ftello: Provide a non-inline replacement of ftell().
19670         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
19671         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
19672         not have ftello() (such as on mingw).
19673         * modules/ftello (Depends-on): Add ftell.
19674         * modules/ftell (License): Change to LGPLv2+.
19675
19676 2011-05-07  Bruno Haible  <bruno@clisp.org>
19677
19678         ftell: Move AC_LIBOBJ invocations to module description.
19679         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
19680         * modules/ftell (configure.ac): ... to here.
19681
19682 2011-05-07  Bruno Haible  <bruno@clisp.org>
19683
19684         ftello: Respect rules for use of AC_LIBOBJ.
19685         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
19686         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
19687         here...
19688         * modules/ftello (configure.ac): ... to here.
19689
19690 2011-05-07  Bruno Haible  <bruno@clisp.org>
19691
19692         fseeko: Simplify.
19693         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
19694         (gl_FUNC_FSEEKO): Inline it here.
19695
19696 2011-05-07  Bruno Haible  <bruno@clisp.org>
19697
19698         fseek: Move AC_LIBOBJ invocations to module description.
19699         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
19700         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
19701         * modules/fseek (configure.ac): ... to here.
19702
19703 2011-05-07  Bruno Haible  <bruno@clisp.org>
19704
19705         fseek: Respect rules for use of AC_LIBOBJ.
19706         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
19707         here...
19708         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
19709
19710 2011-05-07  Bruno Haible  <bruno@clisp.org>
19711
19712         fseeko: Respect rules for use of AC_LIBOBJ.
19713         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
19714         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
19715         here...
19716         * modules/fseeko (configure.ac): ... to here.
19717
19718 2011-06-13  Bruno Haible  <bruno@clisp.org>
19719
19720         gnulib-tool: Allow comments in the 'Depends-on' section.
19721         * doc/gnulib.texi (Module description): Mention comment syntax in the
19722         Depends-on section.
19723         * gnulib-tool (func_get_dependencies): Filter out comment lines.
19724
19725 2011-06-13  Bruno Haible  <bruno@clisp.org>
19726
19727         file-set.h: guard __attibute__ use, now that it's not always defined
19728         * lib/file-set.h (record_file): Use __attribute__ only with compiler
19729         versions that support it.  This fixes a coreutils build failure with
19730         the vendor cc on HP-UX 11.31.
19731
19732 2011-06-12  Bruno Haible  <bruno@clisp.org>
19733
19734         acl: Add support for HP-UX >= 11.11 JFS ACLs.
19735         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
19736         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
19737         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
19738         (acl, aclsort): New declarations.
19739         (aclv_nontrivial): New declaration.
19740         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
19741         (file_has_acl): Read also the second kind of HP-UX ACLs.
19742         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
19743         kind of HP-UX ACLs if the first kind fails.
19744         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
19745         second kind of HP-UX ACLs.
19746         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
19747         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
19748         agree.
19749         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19750         hpuxjfs.
19751         Handle hpuxjfs.
19752         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19753         hpuxjfs.
19754         Handle hpuxjfs.
19755         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19756         (func_test_same_acls): Use both lsacl and getacl.
19757         Handle hpuxjfs.
19758         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19759         (func_test_same_acls): Use both lsacl and getacl.
19760         Handle hpuxjfs.
19761
19762 2011-06-12  Bruno Haible  <bruno@clisp.org>
19763
19764         acl: Complete the 2010-08-10 fix.
19765         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
19766         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
19767         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
19768         explicitly.
19769         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
19770         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
19771
19772 2011-06-12  Bruno Haible  <bruno@clisp.org>
19773
19774         spawn-pipe tests: Comments.
19775         * tests/test-spawn-pipe-child.c (main): Update comment.
19776         Reported by James Youngman <jay@gnu.org>.
19777
19778 2011-06-11  James Youngman  <jay@gnu.org>
19779
19780         New module 'stat-size'.
19781         * modules/stat-size: New module.  Provides macros for accessing
19782         file size information in instances of struct stat.  Depends on the
19783         fileblocks module because it calls st_blocks.
19784         * lib/stat-size.h: New file, adapted from coreutils' system.h.
19785         * doc/gnulib.texi: Include stat-size.texi.
19786         * doc/stat-size.texi: Documentation for this module.
19787         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
19788         * m4/fileblocks.m4: Mention that stat-size depends on the call to
19789         AC_STRUCT_ST_BLOCKS.
19790
19791 2011-06-09  Bruno Haible  <bruno@clisp.org>
19792
19793         thread: Support pthreads-win32.
19794         * lib/glthread/thread.h (gl_thread_self): Define differently on
19795         pthreads-win32.
19796         (gl_null_thread): New declaration.
19797         (gl_thread_self_pointer): New macro.
19798         * lib/glthread/thread.c (gl_null_thread): New constant.
19799         * tests/test-lock.c: Use gl_thread_self_pointer instead of
19800         gl_thread_self.
19801         * tests/test-tls.c: Likewise.
19802         Suggested by Paul Eggert. Reported by Eric Blake.
19803
19804 2011-06-09  Bruno Haible  <bruno@clisp.org>
19805
19806         thread: Fix confusion between NULL and 0.
19807         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
19808         Reported by Paul Eggert.
19809
19810 2011-06-09  Bruno Haible  <bruno@clisp.org>
19811
19812         spawn-pipe tests: Avoid test failure on HP-UX 11.
19813         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
19814         is closed.
19815
19816 2011-06-09  Bruno Haible  <bruno@clisp.org>
19817
19818         acl tests: Fix compilation error on HP-UX 11.
19819         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
19820
19821 2011-06-09  Bruno Haible  <bruno@clisp.org>
19822
19823         rmdir: Avoid test failure on HP-UX 10.20.
19824         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
19825         EEXIST.
19826
19827 2011-06-08  Eric Blake  <eblake@redhat.com>
19828
19829         perror: fix test on mingw
19830         * modules/perror-tests (Depends-on): Add dup2.
19831
19832         strerror_r-posix: fix on MacOS
19833         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
19834         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
19835         logic bug.
19836         * lib/strerror_r.c (strerror_r): Fix the bug.
19837         * lib/strerror.c (strerror): Likewise.
19838         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19839         problem.
19840         * doc/posix-functions/strerror.texi (strerror): Likewise.
19841         * doc/posix-functions/perror.texi (perror): Likewise.
19842         * tests/test-strerror.c (main): Enhance test.
19843         * tests/test-strerror_r.c (main): Likewise.
19844
19845 2011-06-08  Bruno Haible  <bruno@clisp.org>
19846
19847         gnulib-tool: Better isolation between different gnulib-tool invocations.
19848         * gnulib-tool: New option --witness-c-macro.
19849         (witness_c_macro): New variable.
19850         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
19851         AM_CPPFLAGS define it as a C macro.
19852         (func_emit_tests_Makefile_am): Likewise.
19853         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
19854         read it from there.
19855         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
19856         m4_define, not AC_DEFUN.
19857         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
19858         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
19859         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
19860         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
19861         s|...|...|, to substitute the values of the GNULIB_* module indicator
19862         variables.
19863         * modules/dirent (Makefile.am): Likewise.
19864         * modules/fcntl-h (Makefile.am): Likewise.
19865         * modules/iconv-h (Makefile.am): Likewise.
19866         * modules/langinfo (Makefile.am): Likewise.
19867         * modules/locale (Makefile.am): Likewise.
19868         * modules/math (Makefile.am): Likewise.
19869         * modules/netdb (Makefile.am): Likewise.
19870         * modules/poll-h (Makefile.am): Likewise.
19871         * modules/pty (Makefile.am): Likewise.
19872         * modules/search (Makefile.am): Likewise.
19873         * modules/signal (Makefile.am): Likewise.
19874         * modules/spawn (Makefile.am): Likewise.
19875         * modules/stdio (Makefile.am): Likewise.
19876         * modules/stdlib (Makefile.am): Likewise.
19877         * modules/string (Makefile.am): Likewise.
19878         * modules/sys_ioctl (Makefile.am): Likewise.
19879         * modules/sys_select (Makefile.am): Likewise.
19880         * modules/sys_socket (Makefile.am): Likewise.
19881         * modules/sys_stat (Makefile.am): Likewise.
19882         * modules/sys_times (Makefile.am): Likewise.
19883         * modules/sys_utsname (Makefile.am): Likewise.
19884         * modules/sys_wait (Makefile.am): Likewise.
19885         * modules/termios (Makefile.am): Likewise.
19886         * modules/time (Makefile.am): Likewise.
19887         * modules/unistd (Makefile.am): Likewise.
19888         * modules/wchar (Makefile.am): Likewise.
19889
19890 2011-06-08  Eric Blake  <eblake@redhat.com>
19891
19892         strerror: simplify replacement
19893         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
19894         * modules/strerror (configure.ac): No prereqs needed here...
19895         * modules/strerror-override (configure.ac): ...but this needs it.
19896         (Files): Add file for needed prereq macro.
19897
19898 2011-06-08  Bruno Haible  <bruno@clisp.org>
19899
19900         strerror_r-posix: Tweaks.
19901         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
19902         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
19903         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
19904         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
19905         (gl_FUNC_STRERROR_R): ... to here.
19906         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
19907
19908 2011-06-07  Eric Blake  <eblake@redhat.com>
19909
19910         perror: document fixed bugs
19911         * doc/posix-functions/perror.texi (perror): Document recent
19912         patches.
19913
19914 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
19915
19916         stat-time: get_stat_birthtime failure is better-defined
19917         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
19918         return a timestamp whose tv_sec and tv_nsec values are both -1.
19919         Previously, the spec said only that the tv_nsec value was negative.
19920         This upward-compatible change simplifies GNU tar a bit.
19921
19922 2011-06-07  Eric Blake  <eblake@redhat.com>
19923
19924         strerror_r-posix: work around cygwin 1.7.9
19925         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
19926         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
19927         bug without replacing strerror_r.
19928         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
19929         strerror_r is buggy, but without requiring strerror_r compilation.
19930         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
19931
19932         test-perror: relax test to ignore cygwin bug
19933         * tests/test-perror2.c (main): Relax test on requiring detection
19934         of stream errors, and use unbuffered stream.
19935         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
19936         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
19937         * doc/posix-functions/fputc.texi (fputc): Likewise.
19938         * doc/posix-functions/fputs.texi (fputs): Likewise.
19939         * doc/posix-functions/fputws.texi (fputws): Likewise.
19940         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
19941         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
19942         * doc/posix-functions/getopt.texi (getopt): Likewise.
19943         * doc/posix-functions/perror.texi (perror): Likewise.
19944         * doc/posix-functions/printf.texi (printf): Likewise.
19945         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
19946         * doc/posix-functions/psignal.texi (psignal): Likewise.
19947         * doc/posix-functions/putc.texi (putc): Likewise.
19948         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
19949         Likewise.
19950         * doc/posix-functions/putchar.texi (putchar): Likewise.
19951         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
19952         Likewise.
19953         * doc/posix-functions/puts.texi (puts): Likewise.
19954         * doc/posix-functions/putwc.texi (putwc): Likewise.
19955         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
19956         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
19957         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19958         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
19959         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19960         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
19961         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
19962         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
19963
19964 2011-05-22  Bruno Haible  <bruno@clisp.org>
19965
19966         strerror: Move AC_LIBOBJ invocations to module description.
19967         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
19968         gl_PREREQ_STRERROR invocations from here...
19969         * modules/strerror (configure.ac): ... to here.
19970
19971 2011-05-21  Bruno Haible  <bruno@clisp.org>
19972
19973         perror: Use common idiom.
19974         * modules/perror (configure.ac): Reorder statements.
19975
19976 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19977
19978         tests: fix usage message in 'mktempd_'
19979         * tests/init.sh (mktempd_): In the usage message, use literal
19980         'mktempd_', not '$ME' (which is even undefined), as the name of
19981         the subroutine.
19982
19983 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19984
19985         tests init: new function 'fatal_', for hard errors
19986         Before this patch, the only way offered by tests/init.sh to
19987         properly signal a hard error was the `framework_failure_'
19988         function.  But the error message issued by that function,
19989         as its name would suggest, refers to a set-up failure in the
19990         testsuite, while hard errors can obviously also be due to
19991         other reasons.  The best way to fix this inconsistency is to
19992         introduce a new function with a more general error message.
19993         * tests/init.sh (fatal_): New function.
19994
19995 2011-06-06  Eric Blake  <eblake@redhat.com>
19996
19997         canonicalize-lgpl: use common idiom
19998         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
19999         over newer POSIX -Rf.
20000         Reported by Bruno Haible.
20001
20002         canonicalize-lgpl: work around AIX realpath bug
20003         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
20004         * doc/posix-functions/realpath.texi (realpath): Document it.
20005         Reported by Bruno Haible.
20006
20007         strerror: work around FreeBSD bug
20008         * lib/strerror.c (strerror): Special case 0.
20009         Reported by Bruno Haible.
20010
20011         strerror-override: avoid bloating errno module
20012         * modules/errno (Files, configure.ac): Move replacement strings...
20013         * modules/strerror-override: ...to new module.
20014         * modules/strerror (Depends-on): Add strerror-override.
20015         * modules/strerror_r-posix (Depends-on): Likewise.
20016         * MODULES.html.sh: Document new module.
20017         Reported by Bruno Haible.
20018
20019 2011-06-06  Bruno Haible  <bruno@clisp.org>
20020
20021         spawn-pipe tests: Rename program.
20022         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
20023         * tests/test-spawn-pipe-child.c: Update comment.
20024         * tests/test-spawn-pipe.sh: Update.
20025         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
20026
20027         spawn-pipe tests: Link the child program only against libc.
20028         * tests/test-spawn-pipe-child.c: New file, extracted from
20029         tests/test-spawn-pipe.c.
20030         (main): Expect only one argument.
20031         (is_open): New function, copied from tests/test-pipe.c.
20032         * tests/test-spawn-pipe.c: Don't include <errno.h>.
20033         (child_main): Remove function.
20034         (test_pipe): Pass only one argument to the child program.
20035         (main): Remove child process code. Expect the child program's name as
20036         first argument.
20037         * tests/test-spawn-pipe.sh: Pass the child program's name as first
20038         argument.
20039         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
20040         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
20041         test-spawn-pipe-child against no libraries.
20042
20043 2011-06-06  Bruno Haible  <bruno@clisp.org>
20044
20045         careadlinkat: Avoid mismatch between ssize_t and int.
20046         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
20047         * lib/careadlinkat.c (careadlinkatcwd): Define always.
20048
20049 2011-06-06  Jim Meyering  <meyering@redhat.com>
20050
20051         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
20052         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
20053         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
20054
20055 2011-06-05  Bruno Haible  <bruno@clisp.org>
20056
20057         ansi-c++-opt: Interoperability with libtool.
20058         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
20059         set the variable to "no", not to ":".
20060         * NEWS: Mention the change.
20061
20062 2011-06-05  Bruno Haible  <bruno@clisp.org>
20063
20064         acl: Fix test failure on AIX 7.
20065         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
20066         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
20067
20068 2011-06-05  Bruno Haible  <bruno@clisp.org>
20069
20070         pipe-filter-ii: Fix test failure on AIX and IRIX.
20071         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
20072         with EAGAIN, retry with a smaller buffer size.
20073
20074 2011-06-05  Bruno Haible  <bruno@clisp.org>
20075
20076         localename: Fix link dependencies.
20077         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
20078         * modules/localename-tests (Makefile.am): Link test-localename with
20079         $(LIBTHREAD).
20080
20081 2011-06-05  Bruno Haible  <bruno@clisp.org>
20082
20083         error: Avoid gcc warning.
20084         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
20085
20086 2011-06-05  Bruno Haible  <bruno@clisp.org>
20087
20088         unsetenv: Avoid gcc warning.
20089         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
20090
20091 2011-06-05  Bruno Haible  <bruno@clisp.org>
20092
20093         setenv: Avoid gcc warning.
20094         * lib/setenv.c (setenv): Provide declaration if system lacks it.
20095
20096 2011-06-05  Bruno Haible  <bruno@clisp.org>
20097
20098         sys_select: Ensure memset is declared also on AIX 7.
20099         * lib/sys_select.in.h: Include <string.h> also on AIX.
20100         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
20101         self-contained also on AIX 7.1.
20102
20103 2011-06-04  Jim Meyering  <meyering@redhat.com>
20104
20105         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
20106         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
20107         function name, "error".
20108         (_gl_translatable_diag_func_re): New configurable variable.
20109
20110 2011-06-04  Bruno Haible  <bruno@clisp.org>
20111
20112         getopt: Avoid gcc warning.
20113         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
20114
20115 2011-06-04  Bruno Haible  <bruno@clisp.org>
20116
20117         strerror_r: Fix comments.
20118         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
20119         commit.
20120
20121 2011-06-04  Bruno Haible  <bruno@clisp.org>
20122
20123         perror: Fix compilation error.
20124         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
20125         Undefine fprintf, not sprintf.
20126         * modules/perror (Depends-on): Remove intprops, verify.
20127
20128 2011-06-04  Bruno Haible  <bruno@clisp.org>
20129
20130         setlocale: Enable replacement on Cygwin 1.5.
20131         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
20132         Cygwin 1.5.x.
20133         * doc/posix-functions/setlocale.texi: Mention that the problem with the
20134         LC_CTYPE category also exists on Cygwin 1.5.x.
20135
20136 2011-06-04  Bruno Haible  <bruno@clisp.org>
20137
20138         strerror-override: Don't disable symbol renamings.
20139         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
20140         * lib/strerror-override.c: Include config.h.
20141         (strerror_override): Don't undefine.
20142
20143 2011-06-03  Bruno Haible  <bruno@clisp.org>
20144
20145         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
20146         * lib/localename.h: Update copyright header.
20147         * lib/localename.c: Likewise.
20148         * lib/relocatable.h: Likewise.
20149         * lib/relocatable.c: Likewise.
20150
20151 2011-06-02  Bruno Haible  <bruno@clisp.org>
20152
20153         doc: Fix a module name.
20154         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
20155
20156 2011-06-02  Bruno Haible  <bruno@clisp.org>
20157
20158         pipe2: Remove dependency on 'nonblocking' module.
20159         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
20160         O_NONBLOCK is defined by gnulib.
20161         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
20162         is zero.
20163         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
20164         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
20165         defined by gnulib.
20166         (get_nonblocking_flag): New function.
20167         (main): Test O_NONBLOCK flag only if it is nonzero.
20168         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
20169
20170 2011-06-03  Jim Meyering  <meyering@redhat.com>
20171
20172         maint: three new prohibit-header-without-use rules
20173         Prohibit use of cloexec.h, posixver.h, same.h without use.
20174         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
20175         (sc_prohibit_posixver_without_use): Likewise.
20176         (sc_prohibit_same_without_use): Likewise.
20177
20178 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
20179
20180         allocator: 'die' routine is now given requested size
20181         * lib/allocator.h (struct allocator.die): New size arg.
20182         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
20183         If the actual problem is an ssize_t limitation, not a size_t or
20184         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
20185
20186 2011-06-01  Eric Blake  <eblake@redhat.com>
20187
20188         strerror: drop strerror_r dependency
20189         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
20190         * lib/strerror-override.c (strerror_override): ...to new file.
20191         * lib/strerror-override.h: Add prototype.
20192         * lib/strerror-impl.h: Delete.
20193         * lib/strerror.c (strerror): New implementation.
20194         * modules/errno (Files): Add new files.
20195         (configure.ac): Compile new file as appropriate.
20196         * modules/strerror (Files): Drop unused file.
20197         (Depends-on): Drop strerror_r-posix.
20198         * MODULES.html.sh: Document strerror_r-posix.
20199         Requested by Sam Steingold.
20200
20201         perror: call strerror_r directly
20202         * modules/perror (Files): Drop strerror-impl.h.
20203         * lib/perror.c (perror): Use our own stack buffer, rather than
20204         calling a wrapper that uses static storage.
20205         * doc/posix-functions/perror.texi (perror): Document a limitation
20206         of our replacement.
20207
20208         strerror_r: fix includes for FreeBSD
20209         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
20210         since we use abort on some platforms.
20211         Reported by Matthias Bolte.
20212
20213 2011-05-31  Bruno Haible  <bruno@clisp.org>
20214
20215         Fix link errors in tests: openat-die uses gettext-h.
20216         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
20217         against $(LIBINTL).
20218         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
20219         against $(LIBINTL).
20220         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
20221         $(LIBINTL).
20222         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
20223         against $(LIBINTL).
20224         * modules/linkat-tests (Makefile.am): Link test-linkat against
20225         $(LIBINTL).
20226         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
20227         $(LIBINTL).
20228         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
20229         against $(LIBINTL).
20230         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
20231         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
20232         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
20233         $(LIBINTL).
20234         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
20235         $(LIBINTL).
20236         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
20237         $(LIBINTL).
20238         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20239
20240 2011-05-31  Bruno Haible  <bruno@clisp.org>
20241
20242         Fix link errors in tests: wait-process uses gettext-h.
20243         * modules/nonblocking-pipe-tests (Makefile.am): Set
20244         test_nonblocking_pipe_main_LDADD.
20245         * modules/nonblocking-socket-tests (Makefile.am): Link
20246         test-nonblocking-socket-main against $(LIBINTL).
20247         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20248
20249 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
20250
20251         assert-h: work around 'verify' incompatibility
20252         * lib/verify.h: Use @...@ directives, not ifdef.
20253         * modules/assert-h (assert.h): Implement the directives.
20254         (assert.h): Substitute the symbol-prefix more consistently.
20255
20256 2011-05-29  Jim Meyering  <meyering@redhat.com>
20257
20258         trim: remove three superfluous assignments
20259         * lib/trim.c (trim2): Remove three superfluous assignments
20260         and correct brace positioning.
20261
20262 2011-05-29  Bruno Haible  <bruno@clisp.org>
20263
20264         wctype-h: Avoid namespace pollution on Solaris 2.6.
20265         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
20266         identifiers.
20267         * doc/posix-headers/wctype.texi: Mention the problem.
20268         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20269
20270 2011-05-28  Jim Meyering  <meyering@redhat.com>
20271
20272         parse-datetime.y: accommodate -Wstrict-overflow
20273         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
20274         placate -Wstrict-overflow.
20275
20276         trim: avoid a warning from -O2 -Wstrict-overflow
20277         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
20278
20279 2011-05-29  Bruno Haible  <bruno@clisp.org>
20280
20281         gnulib-tool: Fix bug in yesterday's commit.
20282         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
20283         twice.
20284
20285 2011-05-29  Bruno Haible  <bruno@clisp.org>
20286
20287         Allow multiple gnulib generated include files to be combined.
20288         * gnulib-tool (func_compute_include_guard_prefix): New function.
20289         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
20290         ${gl_include_guard_prefix} references.
20291         (func_import, func_create_testdir): Invoke
20292         func_compute_include_guard_prefix.
20293         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
20294         * lib/ctype.in.h: Likewise.
20295         * lib/dirent.in.h: Likewise.
20296         * lib/errno.in.h: Likewise.
20297         * lib/fcntl.in.h: Likewise.
20298         * lib/float.in.h: Likewise.
20299         * lib/getopt.in.h: Likewise.
20300         * lib/iconv.in.h: Likewise.
20301         * lib/langinfo.in.h: Likewise.
20302         * lib/locale.in.h: Likewise.
20303         * lib/math.in.h: Likewise.
20304         * lib/netdb.in.h: Likewise.
20305         * lib/netinet_in.in.h: Likewise.
20306         * lib/poll.in.h: Likewise.
20307         * lib/pthread.in.h: Likewise.
20308         * lib/pty.in.h: Likewise.
20309         * lib/sched.in.h: Likewise.
20310         * lib/se-selinux.in.h: Likewise.
20311         * lib/search.in.h: Likewise.
20312         * lib/signal.in.h: Likewise.
20313         * lib/spawn.in.h: Likewise.
20314         * lib/stdarg.in.h: Likewise.
20315         * lib/stddef.in.h: Likewise.
20316         * lib/stdint.in.h: Likewise.
20317         * lib/stdio.in.h: Likewise.
20318         * lib/stdlib.in.h: Likewise.
20319         * lib/string.in.h: Likewise.
20320         * lib/strings.in.h: Likewise.
20321         * lib/sys_file.in.h: Likewise.
20322         * lib/sys_ioctl.in.h: Likewise.
20323         * lib/sys_select.in.h: Likewise.
20324         * lib/sys_socket.in.h: Likewise.
20325         * lib/sys_stat.in.h: Likewise.
20326         * lib/sys_time.in.h: Likewise.
20327         * lib/sys_times.in.h: Likewise.
20328         * lib/sys_uio.in.h: Likewise.
20329         * lib/sys_utsname.in.h: Likewise.
20330         * lib/sys_wait.in.h: Likewise.
20331         * lib/sysexits.in.h: Likewise.
20332         * lib/termios.in.h: Likewise.
20333         * lib/time.in.h: Likewise.
20334         * lib/unistd.in.h: Likewise.
20335         * lib/wchar.in.h: Likewise.
20336         * lib/wctype.in.h: Likewise.
20337         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
20338         * modules/ctype (Makefile.am): Likewise.
20339         * modules/dirent (Makefile.am): Likewise.
20340         * modules/errno (Makefile.am): Likewise.
20341         * modules/fcntl-h (Makefile.am): Likewise.
20342         * modules/float (Makefile.am): Likewise.
20343         * modules/getopt-posix (Makefile.am): Likewise.
20344         * modules/iconv-h (Makefile.am): Likewise.
20345         * modules/langinfo (Makefile.am): Likewise.
20346         * modules/locale (Makefile.am): Likewise.
20347         * modules/math (Makefile.am): Likewise.
20348         * modules/netdb (Makefile.am): Likewise.
20349         * modules/netinet_in (Makefile.am): Likewise.
20350         * modules/poll-h (Makefile.am): Likewise.
20351         * modules/pthread (Makefile.am): Likewise.
20352         * modules/pty (Makefile.am): Likewise.
20353         * modules/sched (Makefile.am): Likewise.
20354         * modules/search (Makefile.am): Likewise.
20355         * modules/selinux-h (Makefile.am): Likewise.
20356         * modules/signal (Makefile.am): Likewise.
20357         * modules/spawn (Makefile.am): Likewise.
20358         * modules/stdarg (Makefile.am): Likewise.
20359         * modules/stddef (Makefile.am): Likewise.
20360         * modules/stdint (Makefile.am): Likewise.
20361         * modules/stdio (Makefile.am): Likewise.
20362         * modules/stdlib (Makefile.am): Likewise.
20363         * modules/string (Makefile.am): Likewise.
20364         * modules/strings (Makefile.am): Likewise.
20365         * modules/sys_file (Makefile.am): Likewise.
20366         * modules/sys_ioctl (Makefile.am): Likewise.
20367         * modules/sys_select (Makefile.am): Likewise.
20368         * modules/sys_socket (Makefile.am): Likewise.
20369         * modules/sys_stat (Makefile.am): Likewise.
20370         * modules/sys_time (Makefile.am): Likewise.
20371         * modules/sys_times (Makefile.am): Likewise.
20372         * modules/sys_uio (Makefile.am): Likewise.
20373         * modules/sys_utsname (Makefile.am): Likewise.
20374         * modules/sys_wait (Makefile.am): Likewise.
20375         * modules/sysexits (Makefile.am): Likewise.
20376         * modules/termios (Makefile.am): Likewise.
20377         * modules/time (Makefile.am): Likewise.
20378         * modules/unistd (Makefile.am): Likewise.
20379         * modules/wchar (Makefile.am): Likewise.
20380         * modules/wctype-h (Makefile.am): Likewise.
20381         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
20382
20383 2011-05-29  Bruno Haible  <bruno@clisp.org>
20384
20385         assert-h: Allow multiple gnulib generated replacements to coexist.
20386         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
20387
20388 2011-05-29  Bruno Haible  <bruno@clisp.org>
20389
20390         argp: Allow coexistence with strerror_r-posix module.
20391         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
20392         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
20393         by gnulib's <string.h> replacement), assume it has the POSIX signature,
20394         not the glibc signature.
20395
20396 2011-05-28  Bruno Haible  <bruno@clisp.org>
20397
20398         gnulib-tool: Alternative structure of testdirs, similar to --import.
20399         * gnulib-tool: New option --single-configure.
20400         (func_usage): Document it.
20401         (single_configure): New variable.
20402         (func_modules_transitive_closure_separately,
20403         func_modules_transitive_closure_separately,
20404         func_determine_use_libtests, func_modules_add_dummy_separately,
20405         func_modules_to_filelist_separately): New functions, extracted from
20406         func_import.
20407         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
20408         (func_import): Use the new functions.
20409         (func_create_testdir): Set final_modules. Handle $single_configure =
20410         true case.
20411
20412 2011-05-28  Bruno Haible  <bruno@clisp.org>
20413
20414         getloadavg: Remove an unreliable safety check.
20415         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
20416         getloadavg.c is in place.
20417         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
20418         Reported by Sam Steingold <sds@gnu.org>.
20419
20420 2011-05-28  Bruno Haible  <bruno@clisp.org>
20421
20422         doc: Cleanup yet another file produced by texinfo.tex.
20423         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
20424
20425 2011-05-28  Bruno Haible  <bruno@clisp.org>
20426
20427         Finish the conditional dependencies mechanism.
20428         * gnulib-tool: New option --no-conditional-dependencies.
20429         (func_usage): Document it. Don't mark --conditional-dependencies as
20430         experimental.
20431         (cond_dependencies): The possible values can now be true, false, empty.
20432         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
20433         (func_import): Store setting in gnulib-cache.m4 and read it from there.
20434         * doc/gnulib-tool.texi (Conditional dependencies): New section.
20435
20436 2011-05-28  Bruno Haible  <bruno@clisp.org>
20437
20438         doc: Use a recent texinfo.tex.
20439         * doc/Makefile (tex_opts): New variable.
20440         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
20441
20442 2011-05-28  Jim Meyering  <meyering@redhat.com>
20443
20444         intprops.h: adjust comment to match code change
20445         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
20446         only once, it *may* have side effects.  Also fix an unrelated typo.
20447         (_GL_INT_SIGNED): Likewise.
20448
20449 2011-05-26  Simon Josefsson  <simon@josefsson.org>
20450
20451         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
20452
20453 2011-05-26  Bruno Haible  <bruno@clisp.org>
20454
20455         mbsrchr: Avoid collision with system function on Interix.
20456         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
20457         Reported by Markus Duft <mduft@gentoo.org>.
20458
20459 2011-05-15  James Youngman  <jay@gnu.org>
20460
20461         getopt: for ambiguous options, enumerate the possibilities.
20462         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
20463         the ambiguous options when an ambiguous prefix is given. This was
20464         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
20465         glibc change was
20466         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
20467
20468 2011-05-25  Eric Blake  <eblake@redhat.com>
20469
20470         getcwd: work around mingw bug
20471         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
20472         * doc/posix-functions/getcwd.texi (getcwd): Document it.
20473         Reported by Matthias Bolte.
20474
20475 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
20476
20477         test-intprops: disable -Wtype-limits diagnostics
20478         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
20479         diagnostics.  Otherwise, the integer overflow macros generate many
20480         diagnostics.  Reported by Jim Meyering in
20481         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
20482
20483         intprops: shorten, to pacify gcc -Woverlength-strings
20484         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
20485         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
20486         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
20487         likely to run afoul of C compiler limits for string constant lengths.
20488         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
20489
20490 2011-05-24  Eric Blake  <eblake@redhat.com>
20491
20492         docs: document recently fixed glibc printf bug
20493         * doc/posix-functions/fprintf.texi (fprintf): Document it.
20494         * doc/posix-functions/printf.texi (printf): Likewise.
20495         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
20496         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
20497
20498         closein-tests: convert to init.sh
20499         * modules/closein-tests (Files): Add init.sh
20500         * tests/test-closein.sh Use it.
20501
20502         yesno-tests: convert to init.sh
20503         * modules/yesno-tests (Files): Add init.sh.
20504         * tests/test-yesno.sh: Use it.
20505
20506         atexit-tests: ensure reliable exit status
20507         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
20508         Reported by Bruno Haible.
20509
20510 2011-05-24  Bruno Haible  <bruno@clisp.org>
20511
20512         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
20513         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
20514         gl_PREREQ_STRERROR_R invocations from here...
20515         * modules/strerror_r-posix (configure.ac): ... to here.
20516
20517 2011-05-24  Eric Blake  <eblake@redhat.com>
20518
20519         strerror_r: fix missing header
20520         * lib/strerror_r.c: Avoid compiler warning about snprintf.
20521
20522         strerror_r: fix AIX test failures
20523         * lib/strerror_r.c (strerror_r): Convert silent truncation to
20524         ERANGE failure.
20525
20526         strerror_r: fix Solaris test failures
20527         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
20528         failures.
20529         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
20530
20531         strerror_r: enforce POSIX recommendations
20532         * lib/strerror_r.c (safe_copy): New helper method.
20533         (strerror_r): Guarantee a non-empty string.
20534         * tests/test-strerror_r.c (main): Enhance tests to incorporate
20535         recent POSIX rulings and to match our strerror guarantees.
20536         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
20537
20538 2011-05-24  Jim Meyering  <meyering@redhat.com>
20539
20540         test-perror2.c: avoid warning about unused variable
20541         * tests/test-perror2.c (main): Remove declaration of unused "fp".
20542
20543 2011-05-24  Eric Blake  <eblake@redhat.com>
20544
20545         perror: avoid spurious test failure on HP-UX
20546         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
20547
20548         tests: fix logic bug in init.sh
20549         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
20550         shell.
20551
20552 2011-05-24  Jim Meyering  <meyering@redhat.com>
20553
20554         utimensat: do not reference an out-of-scope buffer
20555         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
20556         declared in an inner scope, yet "times" would be dereferenced outside
20557         the scope in which "ts" was valid.
20558         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
20559         of ts[2] "out/up", so that the use of aliased "times" (via
20560         "times = ts;") does not end up referencing an out-of-scope "ts"
20561
20562         opendir-safer.c: don't clobber errno; don't close negative FD
20563         * lib/opendir-safer.c (opendir_safer):
20564         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
20565         file descriptor, and more importantly, don't clobber the
20566         offending errno value with EINVAL.  Before, upon failure
20567         of dup_safer, we would pass the negative file descriptor to
20568         fdopendir, which would clobber errno.
20569
20570 2011-05-23  Bruno Haible  <bruno@clisp.org>
20571
20572         idcache: Fix module description.
20573         * modules/idcache (Include): Set to "idcache.h".
20574
20575 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
20576
20577         gnulib-tool: fix portability problem with MacOS sed
20578         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
20579         before the "}".  Problem reported by Leo in
20580         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
20581         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
20582         sed_extract_condition1, sed_extract_condition2.
20583
20584 2011-05-23  Bruno Haible  <bruno@clisp.org>
20585
20586         hash: Simplify autoconf macro.
20587         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
20588
20589 2011-05-23  Bruno Haible  <bruno@clisp.org>
20590
20591         getugroups: Fix module description.
20592         * modules/getugroups (Include): Set to "getugroups.h".
20593
20594 2011-05-23  Bruno Haible  <bruno@clisp.org>
20595
20596         linkat: Simplify autoconf macro.
20597         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
20598
20599 2011-05-23  Bruno Haible  <bruno@clisp.org>
20600             Eric Blake  <eblake@redhat.com>
20601
20602         linkat, renameat: Update dependencies.
20603         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
20604         * modules/linkat (Depends-on): Likewise. Remove also readlink,
20605         symlinkat.
20606
20607 2011-05-23  Jim Meyering  <meyering@redhat.com>
20608
20609         maint.mk: more tight_scope improvements
20610         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
20611         (_gl_TS_headers): Define only in if-0'd block.
20612         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
20613         sometimes we must *not* use it.  Adjust uses accordingly.
20614         (sc_tight_scope): Use much simpler grep-based test to determine
20615         whether we skip this rule.
20616
20617         maint.mk: generalize/improve the tight-scope rule
20618         * top/maint.mk: Emit a warning when the test is skipped.
20619         (_gl_TS_dir): Add $(srcdir)/ prefix.
20620         (_gl_TS_function_match): Simplify, rather than trying
20621         to enumerate common types.  Otherwise, it would fail to match an
20622         "extern unsigned char const *" declaration in idutils.
20623         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
20624         a way to support use of that type of macro.
20625         (_gl_TS_var_match): Simplify regexp.
20626         (_gl_TS_obj_files): New configurable variable.
20627         (_gl_TS_headers): Likewise.
20628
20629 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
20630
20631         verify: fix bug when gnulib <assert.h> is also included
20632         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
20633         is defined, not if _GL_STATIC_ASSERT_H is not defined.
20634         Perhaps there's a better way, but this fixes the immediate problem.
20635         Problem reported by Bruno Haible in
20636         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
20637
20638 2011-05-22  Bruno Haible  <bruno@clisp.org>
20639
20640         xgetcwd: Simplify autoconf macro.
20641         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
20642
20643 2011-05-22  Bruno Haible  <bruno@clisp.org>
20644
20645         New module 'mktime-internal'.
20646         * modules/mktime-internal: New file.
20647         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
20648         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
20649         mktime_internal as a C macro if libc has __mktime_internal.
20650         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
20651         conditions.
20652         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
20653
20654 2011-05-22  Bruno Haible  <bruno@clisp.org>
20655
20656         timegm: Correct mktime replacement statements.
20657         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
20658         defining mktime as a C macro. This completes a 2009-07-28 commit.
20659
20660 2011-05-22  Bruno Haible  <bruno@clisp.org>
20661
20662         timegm: Simplify autoconf macro.
20663         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
20664
20665 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
20666
20667         clock-time: change to LGPLv2+.
20668         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
20669         BSD-like but we have no mark for that; this is good enough for now.
20670
20671 2011-05-21  Bruno Haible  <bruno@clisp.org>
20672
20673         strerror_r: Fix comments.
20674         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
20675
20676 2011-05-21  Bruno Haible  <bruno@clisp.org>
20677
20678         relocatable-prog-wrapper: Fix possible link error.
20679         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
20680         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
20681         (gl_FUNC_SETENV): ... to here.
20682         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
20683         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
20684
20685 2011-05-21  Bruno Haible  <bruno@clisp.org>
20686
20687         relocatable-prog-wrapper: Assume strerror() exists.
20688         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
20689         m4/strerror.m4.
20690         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
20691         * lib/relocwrapper.c: Remove mention of strerror module.
20692         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
20693         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
20694         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
20695         C macro.
20696
20697 2011-05-21  Bruno Haible  <bruno@clisp.org>
20698
20699         select: Simplify replacement idiom.
20700         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
20701         Win32 platforms.
20702         * lib/sys_select.in.h (select): Simplify accordingly.
20703         * modules/select (Depends-on): Likewise.
20704
20705 2011-05-21  Bruno Haible  <bruno@clisp.org>
20706
20707         mkdir-p: Simplify autoconf macro.
20708         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
20709         gl_FUNC_LCHOWN.
20710
20711 2011-05-21  Eric Blake  <eblake@redhat.com>
20712
20713         strerror_r: avoid clobbering strerror on cygwin
20714         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
20715         fall back instead to sys_errlist.
20716         * modules/strerror (configure.ac): Add witness.
20717         * tests/test-strerror_r.c (main): Enhance test.
20718         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20719         * tests/test-perror2.c (main): Free memory before exit.
20720
20721 2011-05-21  Bruno Haible  <bruno@clisp.org>
20722
20723         mkdtemp: Use gnulib naming conventions.
20724         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
20725         * modules/mkdtemp (configure.ac): Update.
20726
20727 2011-05-20  Eric Blake  <eblake@redhat.com>
20728
20729         strerror_r: avoid corrupting errno on Solaris
20730         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
20731         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20732
20733         strerror_r: avoid compiler warning
20734         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
20735
20736         strerror_r: simplify AIX code
20737         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
20738
20739         test-perror: avoid spurious failure on FreeBSD
20740         * modules/perror-tests (Depends-on): Add strerror, now that
20741         strerror_r no longer pulls it in.
20742
20743 2011-05-20  Bruno Haible  <bruno@clisp.org>
20744
20745         strerror_r-posix: Remove unused dependencies.
20746         * modules/strerror_r-posix (Depends-on): Remove strerror.
20747         Reported by Eric Blake.
20748
20749 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
20750
20751         intprops: remove assumption about A|B representation
20752         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
20753         is a valid integer if both A and B are.  Although this is true for
20754         all known practical hosts, the C standard doesn't guarantee it,
20755         and the code need not assume it.  Also, this change may work around
20756         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
20757         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
20758
20759 2011-05-20  Eric Blake  <eblake@redhat.com>
20760
20761         perror: work around FreeBSD bug
20762         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
20763         is broken.  Move AC_LIBOBJ...
20764         * modules/perror (configure.ac): Here.
20765         * doc/posix-functions/perror.texi (perror): Document this.
20766         * tests/test-perror2.c (main): Enhance test.
20767
20768         test-perror: check for strerror interactions
20769         * tests/macros.h (STREQ): Add macro.
20770         * modules/perror-tests (Files): Add second test.
20771         * tests/test-perror2.c (main): New file.
20772         * doc/posix-functions/perror.texi (perror): Document glibc bug.
20773
20774         test-perror: rewrite to use init script
20775         * modules/perror-tests (Files): Add init.sh.
20776         * tests/test-perror.sh: Use temporary directory.
20777
20778 2011-05-20  Jim Meyering  <meyering@redhat.com>
20779
20780         maint: replace misused "a" with "an"
20781         * doc/intprops.texi: "a integer"
20782         * doc/regex.texi: "a explanation"
20783         * lib/alignof.h: "a object"
20784         * lib/argmatch.h: "a explanation"
20785         * lib/argp-help.c: "a option" and "a OPTION_DOC"
20786         * lib/stdint.in.h: "a integer"
20787         * lib/userspec.c: "a owner"
20788         * doc/gnulib.texi: Fix "a idea", and reword.
20789
20790 2011-05-19  Jim Meyering  <meyering@redhat.com>
20791
20792         maint: correct misuse of "a" and "an"
20793         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
20794         * lib/argp-help.c: "an docum...": s/an/a/
20795         * lib/argp-parse.c: "An vector": s/An/A/
20796         * lib/execute.c: "an native": s/an/a/
20797         * lib/spawn-pipe.c: Likewise.
20798         * lib/gc.h: "an Gc_rc": s/an/a/
20799         * lib/unigbrk.in.h: "an grapheme": s/an/a/
20800         * lib/fts.c: "an stat.st_dev": s/an/a/
20801
20802 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20803
20804         intprops-tests: work around HP-UX 11.23 cc bug with constants
20805         * tests/test-intprops.c (VERIFY): New macro.
20806         (main): Use it, instead of verify, to work around the compiler bug; see
20807         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20808
20809         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
20810         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
20811         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
20812         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
20813         (_GL_REMAINDER_OVERFLOW): Use it.
20814
20815         intprops-tests: revert unsigned part of previous change
20816         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
20817         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
20818         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
20819         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
20820
20821 2011-05-19  Bruno Haible  <bruno@clisp.org>
20822
20823         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
20824         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
20825         strerror_r() returned without filling the buffer.
20826         Reported by Eric Blake.
20827
20828 2011-05-19  Eric Blake  <eblake@redhat.com>
20829
20830         strerror_r: guarantee unchanged errno
20831         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
20832         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
20833         failure.
20834         * tests/test-strerror_r.c (main): Enhance test.
20835
20836 2011-05-19  Bruno Haible  <bruno@clisp.org>
20837
20838         strerror_r: Reorder #if blocks.
20839         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
20840         for consistency with the previous commit.
20841
20842 2011-05-19  Bruno Haible  <bruno@clisp.org>
20843
20844         perror: Avoid clobbering the strerror buffer when possible.
20845         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
20846         * lib/strerror.c: Include it.
20847         * modules/strerror (Files): Add lib/strerror-impl.h.
20848         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
20849         (my_strerror): New function, defined through lib/strerror-impl.h.
20850         (perror): Use it instead of strerror.
20851         * modules/perror (Files): Add lib/strerror-impl.h.
20852         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
20853
20854 2011-05-19  Eric Blake  <eblake@redhat.com>
20855
20856         strerror_r: fix on newer cygwin
20857         * lib/strerror_r.c (strerror_r): Cygwin now has
20858         __xpg_strerror_r, use it.
20859
20860 2011-05-19  Bruno Haible  <bruno@clisp.org>
20861
20862         strerror_r: Avoid clobbering the strerror buffer when possible.
20863         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
20864         (sys_nerr, sys_errlist): New declarations.
20865         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
20866         HP-UX, native Win32, IRIX, and 32-bit Solaris.
20867         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
20868
20869 2011-05-19  Bruno Haible  <bruno@clisp.org>
20870
20871         strerror_r: Fix test failure on mingw.
20872         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
20873         EXTEND_STRERROR_R.
20874         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
20875         macros from errno.in.h instead.
20876
20877 2011-05-19  Eric Blake  <eblake@redhat.com>
20878
20879         strerror: relax test for Solaris
20880         * tests/test-strerror.c (main): Permit Solaris behavior.
20881         * tests/test-strerror_r.c (main): Likewise.
20882
20883         strerror: enforce POSIX ruling on strerror(0)
20884         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
20885         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20886         * lib/strerror_r.c (rpl_strerror_r): Work around it.
20887         * doc/posix-functions/strerror.texi (strerror): Document it.
20888         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
20889         * tests/test-strerror.c (main): Strengthen test.
20890         * tests/test-strerror_r.c (main): Likewise.
20891
20892 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20893
20894         intprop-tests: port to older and more-pedantic compilers
20895         * modules/intprops-tests (Files): Add tests/macros.h.
20896         * tests/test-intprops.c: Include macros.h.
20897         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
20898         it's no longer documented to expand to an integer constant expression.
20899         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
20900         argument is floating point, as it's no longer documented to expand
20901         to an integer constant expression in that case.
20902         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
20903         compiler bugs reported by Bruno Haible.  See
20904         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20905         (U0, U1): New constants, to work around the same bugs.  Also,
20906         in tests, use e.g., "(unsigned int) 39" rather than "39u".
20907
20908         intprops: work around C compiler bugs
20909         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
20910         bug in Sun C 5.11 2010/08/13 and other compilers; see
20911         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20912
20913         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
20914         * doc/intprops.texi (Integer Type Determination): Fix
20915         documentation for TYPE_IS_INTEGER: it returns an constant
20916         expression, not an integer constant expression.  Fix doc for
20917         TYPE_SIGNED: it returns an integer constant expression only if its
20918         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
20919         hardly worth documented that way....)
20920
20921 2011-05-18  Bruno Haible  <bruno@clisp.org>
20922
20923         strerror_r: Avoid clobbering the strerror buffer when possible.
20924         * lib/strerror_r.c (strerror_r): Merge the three implementations.
20925         Handle gnulib defined errno values here. When strerror() returns NULL
20926         or an empty string, return EINVAL.
20927         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
20928         gnulib defined errno values here.
20929         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
20930
20931 2011-05-18  Eric Blake  <eblake@redhat.com>
20932
20933         fnmatch: avoid compiler warning
20934         * lib/fnmatch_loop.c (FCT): Use correct type.
20935         Reported by Matthias Bolte.
20936
20937 2011-05-13  Jim Meyering  <meyering@redhat.com>
20938
20939         maint.mk: three new prohibit_<HDR>_without_use rules
20940         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
20941         (sc_prohibit_stdio-safer_without_use): Likewise.
20942         (sc_prohibit_xfreopen_without_use): Likewise.
20943
20944 2011-05-17  Jim Meyering  <meyering@redhat.com>
20945
20946         announce-gen: fail if the NEWS delta is empty
20947         If there's nothing noteworthy in NEWS, then either you forgot
20948         or you shouldn't be releasing.
20949         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
20950
20951 2011-05-17  Pádraig Brady <P@draigBrady.com>
20952
20953         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
20954         reserved symbols starting with double underscore from the check.
20955
20956 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
20957
20958         intprops: add doc
20959         * doc/intprops.texi: New file, documenting intprops.
20960         * doc/gnulib.texi (Particular Modules): Include it.
20961
20962         verify: add doc to gnulib manual and fix example
20963         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
20964         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
20965         (Compile-time Assertions): Fix example so it can't overflow.
20966
20967 2011-05-17  Jim Meyering  <meyering@redhat.com>
20968
20969         warnings.m4: don't usurp save_CPPFLAGS variable name
20970         * m4/warnings.m4: Prefix local temporary variable name with gl_.
20971
20972         doc: fix typo
20973         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
20974
20975 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20976             Bruno Haible  <bruno@clisp.org>
20977
20978         doc: Tweak recent change.
20979         * README (Portability guidelines): Tweak new text.
20980         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
20981         Interix 6.1.
20982
20983 2011-05-16  Eric Blake  <eblake@redhat.com>
20984
20985         inttypes: avoid autoconf warning
20986         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
20987         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20988
20989 2011-05-16  Sam Steingold <sds@gnu.org>
20990         and Eric Blake  <eblake@redhat.com>
20991
20992         vc-list-files: accept multiple directory operands
20993         * build-aux/vc-list-files: Iterate over all remaining operands.
20994
20995 2011-05-16  Bruno Haible  <bruno@clisp.org>
20996
20997         Fix confusion regarding deprecated modules.
20998         * modules/calloc (Status, Notice): Mark module as deprecated, not
20999         obsolete.
21000         * modules/fnmatch-posix (Status, Notice): Likewise.
21001         * modules/getdate (Status, Notice): Likewise.
21002         * modules/getopt (Status, Notice): Likewise.
21003         * modules/malloc (Status, Notice): Likewise.
21004         * modules/pipe (Status, Notice): Likewise.
21005         * modules/realloc (Status, Notice): Likewise.
21006         * modules/rename-dest-slash (Status, Notice): Likewise.
21007         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
21008         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
21009         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
21010         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
21011         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
21012
21013 2011-05-16  Bruno Haible  <bruno@clisp.org>
21014
21015         doc: List the target platforms.
21016         * doc/gnulib-intro.texi (Target Platforms): New section.
21017         * doc/gnulib.texi (Introduction): Update menu.
21018         * README (Portability guidelines): Refer to the new section. Update
21019         statement about oldest supported environment. Remove rationale why
21020         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
21021         unportable C89 function.
21022         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
21023         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
21024
21025 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
21026
21027         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
21028
21029 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
21030
21031         intprops-tests: new module
21032         * modules/intprops-tests, tests/test-intprops.c: New files.
21033
21034         intprops: add safe, portable integer overflow checking
21035         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
21036         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
21037         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
21038         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
21039         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
21040         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
21041         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
21042         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
21043         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
21044         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
21045         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
21046
21047 2011-05-12  James Youngman  <jay@gnu.org>
21048
21049         Add a test for glibc's Bugzilla bug #12378.
21050         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
21051         doesn't allow the literal matching of a lone "[" (which is
21052         required by POSIX).
21053         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
21054
21055 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
21056
21057         Sync glibc change fixing Bugzilla bug #12378.
21058         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
21059         beginning and fall back to matching as normal character if the
21060         string ends before the matching ']' is found.  This is what POSIX
21061         requires.
21062
21063 2011-05-13  Eric Blake  <eblake@redhat.com>
21064
21065         getcwd-lgpl: relax test for FreeBSD
21066         * doc/posix-functions/getcwd.texi (getcwd): Document portability
21067         issue.
21068         * tests/test-getcwd-lgpl.c (main): Relax test.
21069         Reported by Matthias Bolte.
21070
21071 2011-05-11  Eric Blake  <eblake@redhat.com>
21072
21073         test-fflush: silence compiler warning
21074         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
21075
21076 2011-05-11  Bruno Haible  <bruno@clisp.org>
21077
21078         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
21079         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
21080         * modules/canonicalize (Depends-on): Add 'nocrash'.
21081         * modules/canonicalize-lgpl (Depends-on): Likewise.
21082         * doc/posix-functions/realpath.texi: Update platforms list.
21083         Reported by Ryan Schmidt <ryandesign@macports.org>.
21084
21085 2011-05-11  Bruno Haible  <bruno@clisp.org>
21086
21087         group-member: Declare function in <unistd.h>.
21088         * lib/unistd.in.h (group_member): New declaration.
21089         * lib/group-member.h: Remove file.
21090         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
21091         * tests/test-unistd-c++.cc: Check signature of group_member.
21092         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
21093         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
21094         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
21095         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
21096         HAVE_GROUP_MEMBER.
21097         * modules/group-member (Files): Remove lib/group-member.h.
21098         (Depends-on): Add unistd. Specify conditions.
21099         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
21100         (Include): Change to <unistd.h>.
21101         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
21102         HAVE_GROUP_MEMBER.
21103         * NEWS: Mention the change.
21104         * lib/euidaccess.c: Don't include group-member.h.
21105
21106 2011-05-11  Bruno Haible  <bruno@clisp.org>
21107
21108         group-member: Document module.
21109         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
21110         module.
21111
21112 2011-05-11  Bruno Haible  <bruno@clisp.org>
21113
21114         fclose: Fix mistake earlier today.
21115         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
21116
21117 2011-05-11  Eric Blake  <eblake@redhat.com>
21118
21119         fclose: preserve fflush errors
21120         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
21121         Reported by Jim Meyering.
21122
21123         bootstrap: support a prereq of 'rpcgen -' on RHEL5
21124         * build-aux/bootstrap (check_versions): When no specific version
21125         is required, merely check that the app produces an exit status
21126         that indicates its existence.
21127
21128         maint.mk: drop redundant check
21129         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
21130         the same but better.
21131
21132 2011-05-11  Bruno Haible  <bruno@clisp.org>
21133
21134         fclose: Fix possible link error.
21135         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
21136         unregister_shadow_fd. Improve comments.
21137         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
21138         Eric Blake.
21139
21140 2011-05-11  Jim Meyering  <meyering@redhat.com>
21141
21142         maint.mk: improve "can not" detection and generalize rule name
21143         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
21144         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
21145         Use the same technique as in sc_prohibit_doubled_word, so that
21146         we recognize "can not" also when the words are separated by a newline.
21147         Suggested by Eric Blake.
21148         (perl_filename_lineno_text_): Define.  Factored out of...
21149         (prohibit_doubled_word_): ...here.  Use the new definition.
21150         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
21151         (prohibit_undesirable_word_seq_RE_): New overridable variable.
21152         (ignore_undesirable_word_sequence_RE_): New overridable variable.
21153
21154 2011-05-10  Eric Blake  <eblake@redhat.com>
21155
21156         fclose: avoid double close race when possible
21157         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
21158         all but WINDOWS_SOCKETS.
21159
21160 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
21161
21162         openat: correct new comment
21163         * lib/openat-proc.c (openat_proc_name): Correct the comment.
21164
21165 2011-05-10  Jim Meyering  <meyering@redhat.com>
21166
21167         openat: add comments
21168         * lib/openat-proc.c (openat_proc_name): Add comments,
21169         mostly from Eric Blake.
21170
21171 2011-05-09  Eric Blake  <eblake@redhat.com>
21172
21173         openat: reduce syscalls in first probe of /proc
21174         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
21175         be a directory.  Simplify the probe for .. bugs.
21176         * modules/openat (Depends-on): Drop same-inode.
21177         Reported by Bastien ROUCARIES.
21178
21179 2011-05-09  Jim Meyering  <meyering@redhat.com>
21180
21181         maint.mk: change semantics/name of tight_scope variables
21182         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
21183         Rename variables to align with semantics that make them more useful.
21184
21185         maint.mk: tweak new rule's name not to impinge
21186         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
21187         (sc_tight_scope): Use new rule name rather than $@-0.
21188
21189         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
21190         * top/maint.mk (sc_tight_scope): New rule.
21191         (sc_tight_scope-0): New rule, ifdef'd out.
21192         (_gl_TS_dir): Default.
21193         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
21194         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
21195
21196 2011-05-09  Simon Josefsson  <simon@josefsson.org>
21197
21198         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
21199         Haible <bruno@clisp.org>.
21200
21201 2011-05-08  Bruno Haible  <bruno@clisp.org>
21202
21203         Comments.
21204         * m4/isnanf.m4: Add comment.
21205         * m4/isnanl.m4: Likewise.
21206
21207 2011-05-08  Bruno Haible  <bruno@clisp.org>
21208
21209         glob: Remove obsolete macro.
21210         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
21211
21212 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
21213
21214         intprops: Sun C 5.11 supports __typeof__
21215         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
21216         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
21217         which is new.
21218         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
21219
21220         intprops: switch to usual gnulib indenting and naming
21221         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
21222         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
21223
21224         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
21225
21226 2011-05-08  Jim Meyering  <meyering@redhat.com>
21227
21228         maint.mk: suppress "Entering/Leaving directory" diag in announcement
21229         * top/maint.mk (release-prep): Use make's --no-print-directory
21230         option when generating the announcement.  This eliminates the
21231         pesky "make[2]: Entering/Leaving directory" diagnostics in the
21232         generated announcement template.
21233
21234 2011-05-08  Bruno Haible  <bruno@clisp.org>
21235
21236         tzset: Fix gettimeofday wrapper on Solaris 2.6.
21237         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
21238         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
21239
21240 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
21241
21242         ignore-value, verify: Omit include files from lib_SOURCES.
21243         * modules/ignore-value, modules/verify (Makefile.am):
21244         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
21245         that leads Automake to duplicate use of am__objects_... variables
21246         in Makefile.in.  See
21247         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
21248
21249 2011-05-07  Bruno Haible  <bruno@clisp.org>
21250
21251         fclose: Simplify autoconf macro.
21252         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
21253         defined.
21254
21255 2011-05-07  Bruno Haible  <bruno@clisp.org>
21256
21257         canonicalize-lgpl: Fix autoconf macro ordering bug.
21258         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
21259         gl_STDLIB_H_DEFAULTS.
21260
21261 2011-05-06  Eric Blake  <eblake@redhat.com>
21262
21263         maintainer-makefile: make sc_po_check easier to tune
21264         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
21265         to probe for strings, such as an alternate location for gnulib.
21266
21267         fclose: guarantee behavior on seekable stdin
21268         * modules/fclose (Depends-on): Add fflush.
21269         * doc/posix-functions/fclose.texi (fclose): Document this.
21270         * tests/test-fclose.c (main): Make test for this unconditional.
21271
21272 2011-05-06  Bruno Haible  <bruno@clisp.org>
21273
21274         fflush, fpurge: Relicense under LGPLv2+.
21275         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
21276         * modules/fpurge (License): Likewise.
21277         With permission from Eric Blake and Jim Meyering.
21278         Suggested by Eric Blake.
21279
21280 2011-05-06  Karl Berry  <karl@gnu.org>
21281
21282         * MODULES.html.sh (func_all_modules): remove exit.
21283
21284 2011-05-06  Jim Meyering  <meyering@redhat.com>
21285
21286         maint.mk: use info-gnu@ as the default only for a stable release
21287         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
21288         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
21289         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
21290         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
21291
21292 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
21293
21294         assert-h: new module, which supports C1X-style static_assert
21295         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
21296         * lib/verify.h: Revamp so that this can be copied into assert.h,
21297         while retaining the ability to use it standalone as before.
21298         Rename private identifiers so as not to encroach on the
21299         standard C namespace, since this is now used by assert.h.
21300         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
21301         the old verify_true.
21302         (_GL_VERIFY_TRUE): New macro, with much of the contents of
21303         the old verify_true.  Use _GL_VERIFY_TYPE.
21304         (_GL_VERIFY): New macro, with much of the contents of the old verify.
21305         (static_assert): New macro, if _GL_STATIC_ASSERT_H
21306         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
21307         defined when this file is copied into the replacement assert.h.
21308         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
21309         and _Static_assert is not built in.
21310         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
21311         defined, and use the new macros mentioned above.
21312         * doc/posix-headers/assert.texi: Document this.
21313
21314 2011-05-05  Bruno Haible  <bruno@clisp.org>
21315
21316         fclose, fflush: Respect rules for use of AC_LIBOBJ.
21317         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
21318         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
21319         gl_REPLACE_FCLOSE here.
21320         * modules/fflush (Depends-on): Remove fclose.
21321         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
21322         combination with module 'fclose'.
21323
21324 2011-05-05  Bruno Haible  <bruno@clisp.org>
21325
21326         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
21327         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
21328         gl_FUNC_FFLUSH.
21329         (gl_FUNC_FFLUSH): Use it.
21330         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
21331         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
21332         gl_REPLACE_FSEEKO here.
21333
21334 2011-05-05  Bruno Haible  <bruno@clisp.org>
21335
21336         tzset: Relicense under LGPL.
21337         * modules/tzset (License): Change to LGPL.
21338         No agreement needed; it's a no-op.
21339
21340         strtoimax, strtoumax: Relicense under LGPL.
21341         * modules/strtoimax (License): Change to LGPL.
21342         * modules/strtoumax (License): Likewise.
21343         With permission from Jim Meyering, Paul Eggert:
21344         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
21345         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
21346
21347         getgroups: Relicense under LGPL.
21348         * modules/getgroups (License): Change to LGPL.
21349         With permission from Jim Meyering, Paul Eggert, Eric Blake:
21350         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
21351         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
21352         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21353
21354         nanosleep: Relicense under LGPL.
21355         * modules/nanosleep (License): Change to LGPL.
21356         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
21357         Haible:
21358         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
21359         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
21360         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21361         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
21362
21363         futimens: Relicense under LGPL.
21364         * modules/futimens (License): Change to LGPL.
21365         With permission from Eric Blake:
21366         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21367
21368         fflush: Relicense under LGPL.
21369         * modules/fflush (License): Change to LGPL.
21370         With permission from Eric Blake, Bruno Haible, Jim Meyering:
21371         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21372         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
21373         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
21374
21375         tmpfile: Relicense under LGPL.
21376         * modules/tmpfile (License): Change to LGPL.
21377         With permission from Ben Pfaff:
21378         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
21379
21380         isfinite: Relicense under LGPL.
21381         * modules/isfinite (License): Change to LGPL.
21382         With permission from Ben Pfaff, Bruno Haible:
21383         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
21384         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
21385
21386         acosl..tanl: Relicense under LGPL.
21387         * modules/acosl (License): Change to LGPL.
21388         * modules/asinl (License): Likewise.
21389         * modules/atanl (License): Likewise.
21390         * modules/cosl (License): Likewise.
21391         * modules/expl (License): Likewise.
21392         * modules/logl (License): Likewise.
21393         * modules/sinl (License): Likewise.
21394         * modules/sqrtl (License): Likewise.
21395         * modules/tanl (License): Likewise.
21396         Source code originally from glibc and Paolo Bonzini. Agreements:
21397         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
21398         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
21399
21400 2011-05-05  Bruno Haible  <bruno@clisp.org>
21401
21402         signal: Define sighandler_t.
21403         * lib/signal.in.h (sighandler_t): New type.
21404         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
21405         whether sighandler_t is defined.
21406         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
21407         * modules/signal (Depends-on): Add extensions.
21408         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
21409         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
21410         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
21411
21412 2011-05-05  Eric Blake  <eblake@redhat.com>
21413
21414         maint: remove useless REPLACE_*_H macros
21415         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
21416         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
21417         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
21418         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
21419         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
21420         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
21421         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
21422         * m4/btowc.m4: Update callers.
21423         * m4/dirfd.m4: Likewise.
21424         * m4/duplocale.m4: Likewise.
21425         * m4/fchdir.m4: Likewise.
21426         * m4/fdopendir.m4: Likewise.
21427         * m4/inet_ntop.m4: Likewise.
21428         * m4/inet_pton.m4: Likewise.
21429         * m4/ioctl.m4: Likewise.
21430         * m4/mbrlen.m4: Likewise.
21431         * m4/mbrtowc.m4: Likewise.
21432         * m4/mbsinit.m4: Likewise.
21433         * m4/mbsnrtowcs.m4: Likewise.
21434         * m4/mbsrtowcs.m4: Likewise.
21435         * m4/poll.m4: Likewise.
21436         * m4/setlocale.m4: Likewise.
21437         * m4/wcrtomb.m4: Likewise.
21438         * m4/wcsnrtombs.m4: Likewise.
21439         * m4/wcsrtombs.m4: Likewise.
21440         * m4/wctob.m4: Likewise.
21441         * m4/wcwidth.m4: Likewise.
21442         * modules/posix_spawn: Likewise.
21443         * modules/posix_spawn_file_actions_addclose: Likewise.
21444         * modules/posix_spawn_file_actions_adddup2: Likewise.
21445         * modules/posix_spawn_file_actions_addopen: Likewise.
21446         * modules/posix_spawn_file_actions_destroy: Likewise.
21447         * modules/posix_spawn_file_actions_init: Likewise.
21448         * modules/posix_spawnattr_destroy: Likewise.
21449         * modules/posix_spawnattr_getflags: Likewise.
21450         * modules/posix_spawnattr_getpgroup: Likewise.
21451         * modules/posix_spawnattr_getschedparam: Likewise.
21452         * modules/posix_spawnattr_getschedpolicy: Likewise.
21453         * modules/posix_spawnattr_getsigdefault: Likewise.
21454         * modules/posix_spawnattr_getsigmask: Likewise.
21455         * modules/posix_spawnattr_init: Likewise.
21456         * modules/posix_spawnattr_setflags: Likewise.
21457         * modules/posix_spawnattr_setpgroup: Likewise.
21458         * modules/posix_spawnattr_setschedparam: Likewise.
21459         * modules/posix_spawnattr_setschedpolicy: Likewise.
21460         * modules/posix_spawnattr_setsigdefault: Likewise.
21461         * modules/posix_spawnattr_setsigmask: Likewise.
21462         * modules/posix_spawnp: Likewise.
21463
21464 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
21465
21466         Add option to do-release-commit-and-tag to specify branch.
21467         * build-aux/do-release-commit-and-tag: Add --branch.
21468
21469 2011-05-03  Bruno Haible  <bruno@clisp.org>
21470
21471         Avoid unnecessary compilation units, through conditional dependencies.
21472         * modules/accept (Depends-on): Add conditions to the dependencies.
21473         * modules/acosl (Depends-on): Likewise.
21474         * modules/argz (Depends-on): Likewise.
21475         * modules/asinl (Depends-on): Likewise.
21476         * modules/atanl (Depends-on): Likewise.
21477         * modules/atoll (Depends-on): Likewise.
21478         * modules/bind (Depends-on): Likewise.
21479         * modules/btowc (Depends-on): Likewise.
21480         * modules/canonicalize-lgpl (Depends-on): Likewise.
21481         * modules/ceil (Depends-on): Likewise.
21482         * modules/ceilf (Depends-on): Likewise.
21483         * modules/ceill (Depends-on): Likewise.
21484         * modules/chdir-long (Depends-on): Likewise.
21485         * modules/chown (Depends-on): Likewise.
21486         * modules/close (Depends-on): Likewise.
21487         * modules/connect (Depends-on): Likewise.
21488         * modules/cosl (Depends-on): Likewise.
21489         * modules/dirfd (Depends-on): Likewise.
21490         * modules/dprintf (Depends-on): Likewise.
21491         * modules/dprintf-posix (Depends-on): Likewise.
21492         * modules/error (Depends-on): Likewise.
21493         * modules/euidaccess (Depends-on): Likewise.
21494         * modules/expl (Depends-on): Likewise.
21495         * modules/faccessat (Depends-on): Likewise.
21496         * modules/fchdir (Depends-on): Likewise.
21497         * modules/fclose (Depends-on): Likewise.
21498         * modules/fcntl (Depends-on): Likewise.
21499         * modules/fdopendir (Depends-on): Likewise.
21500         * modules/fflush (Depends-on): Likewise.
21501         * modules/floor (Depends-on): Likewise.
21502         * modules/floorf (Depends-on): Likewise.
21503         * modules/floorl (Depends-on): Likewise.
21504         * modules/fnmatch (Depends-on): Likewise.
21505         * modules/fopen (Depends-on): Likewise.
21506         * modules/fprintf-posix (Depends-on): Likewise.
21507         * modules/frexp (Depends-on): Likewise.
21508         * modules/frexp-nolibm (Depends-on): Likewise.
21509         * modules/frexpl (Depends-on): Likewise.
21510         * modules/frexpl-nolibm (Depends-on): Likewise.
21511         * modules/fseek (Depends-on): Likewise.
21512         * modules/fsusage (Depends-on): Likewise.
21513         * modules/ftell (Depends-on): Likewise.
21514         * modules/ftello (Depends-on): Likewise.
21515         * modules/futimens (Depends-on): Likewise.
21516         * modules/getcwd (Depends-on): Likewise.
21517         * modules/getcwd-lgpl (Depends-on): Likewise.
21518         * modules/getdelim (Depends-on): Likewise.
21519         * modules/getdomainname (Depends-on): Likewise.
21520         * modules/getgroups (Depends-on): Likewise.
21521         * modules/gethostname (Depends-on): Likewise.
21522         * modules/getline (Depends-on): Likewise.
21523         * modules/getlogin_r (Depends-on): Likewise.
21524         * modules/getopt-posix (Depends-on): Likewise.
21525         * modules/getpeername (Depends-on): Likewise.
21526         * modules/getsockname (Depends-on): Likewise.
21527         * modules/getsockopt (Depends-on): Likewise.
21528         * modules/getsubopt (Depends-on): Likewise.
21529         * modules/getusershell (Depends-on): Likewise.
21530         * modules/glob (Depends-on): Likewise.
21531         * modules/grantpt (Depends-on): Likewise.
21532         * modules/iconv_open (Depends-on): Likewise.
21533         * modules/iconv_open-utf (Depends-on): Likewise.
21534         * modules/inet_ntop (Depends-on): Likewise.
21535         * modules/inet_pton (Depends-on): Likewise.
21536         * modules/ioctl (Depends-on): Likewise.
21537         * modules/isapipe (Depends-on): Likewise.
21538         * modules/isfinite (Depends-on): Likewise.
21539         * modules/isinf (Depends-on): Likewise.
21540         * modules/lchown (Depends-on): Likewise.
21541         * modules/ldexpl (Depends-on): Likewise.
21542         * modules/link (Depends-on): Likewise.
21543         * modules/linkat (Depends-on): Likewise.
21544         * modules/listen (Depends-on): Likewise.
21545         * modules/logl (Depends-on): Likewise.
21546         * modules/lstat (Depends-on): Likewise.
21547         * modules/mbrlen (Depends-on): Likewise.
21548         * modules/mbrtowc (Depends-on): Likewise.
21549         * modules/mbsinit (Depends-on): Likewise.
21550         * modules/mbsnrtowcs (Depends-on): Likewise.
21551         * modules/mbsrtowcs (Depends-on): Likewise.
21552         * modules/mbtowc (Depends-on): Likewise.
21553         * modules/memcmp (Depends-on): Likewise.
21554         * modules/mkdir (Depends-on): Likewise.
21555         * modules/mkdtemp (Depends-on): Likewise.
21556         * modules/mkfifo (Depends-on): Likewise.
21557         * modules/mkfifoat (Depends-on): Likewise.
21558         * modules/mknod (Depends-on): Likewise.
21559         * modules/mkostemp (Depends-on): Likewise.
21560         * modules/mkostemps (Depends-on): Likewise.
21561         * modules/mkstemp (Depends-on): Likewise.
21562         * modules/mkstemps (Depends-on): Likewise.
21563         * modules/mktime (Depends-on): Likewise.
21564         * modules/nanosleep (Depends-on): Likewise.
21565         * modules/open (Depends-on): Likewise.
21566         * modules/openat (Depends-on): Likewise.
21567         * modules/perror (Depends-on): Likewise.
21568         * modules/poll (Depends-on): Likewise.
21569         * modules/popen (Depends-on): Likewise.
21570         * modules/posix_spawn (Depends-on): Likewise.
21571         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
21572         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
21573         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
21574         * modules/posix_spawnp (Depends-on): Likewise.
21575         * modules/pread (Depends-on): Likewise.
21576         * modules/printf-posix (Depends-on): Likewise.
21577         * modules/ptsname (Depends-on): Likewise.
21578         * modules/putenv (Depends-on): Likewise.
21579         * modules/pwrite (Depends-on): Likewise.
21580         * modules/readline (Depends-on): Likewise.
21581         * modules/readlink (Depends-on): Likewise.
21582         * modules/readlinkat (Depends-on): Likewise.
21583         * modules/recv (Depends-on): Likewise.
21584         * modules/recvfrom (Depends-on): Likewise.
21585         * modules/regex (Depends-on): Likewise.
21586         * modules/remove (Depends-on): Likewise.
21587         * modules/rename (Depends-on): Likewise.
21588         * modules/renameat (Depends-on): Likewise.
21589         * modules/rmdir (Depends-on): Likewise.
21590         * modules/round (Depends-on): Likewise.
21591         * modules/roundf (Depends-on): Likewise.
21592         * modules/roundl (Depends-on): Likewise.
21593         * modules/rpmatch (Depends-on): Likewise.
21594         * modules/select (Depends-on): Likewise.
21595         * modules/send (Depends-on): Likewise.
21596         * modules/sendto (Depends-on): Likewise.
21597         * modules/setenv (Depends-on): Likewise.
21598         * modules/setlocale (Depends-on): Likewise.
21599         * modules/setsockopt (Depends-on): Likewise.
21600         * modules/shutdown (Depends-on): Likewise.
21601         * modules/sigaction (Depends-on): Likewise.
21602         * modules/signbit (Depends-on): Likewise.
21603         * modules/sigprocmask (Depends-on): Likewise.
21604         * modules/sinl (Depends-on): Likewise.
21605         * modules/sleep (Depends-on): Likewise.
21606         * modules/snprintf (Depends-on): Likewise.
21607         * modules/snprintf-posix (Depends-on): Likewise.
21608         * modules/socket (Depends-on): Likewise.
21609         * modules/sprintf-posix (Depends-on): Likewise.
21610         * modules/sqrtl (Depends-on): Likewise.
21611         * modules/stat (Depends-on): Likewise.
21612         * modules/strchrnul (Depends-on): Likewise.
21613         * modules/strdup-posix (Depends-on): Likewise.
21614         * modules/strerror (Depends-on): Likewise.
21615         * modules/strerror_r-posix (Depends-on): Likewise.
21616         * modules/strndup (Depends-on): Likewise.
21617         * modules/strnlen (Depends-on): Likewise.
21618         * modules/strptime (Depends-on): Likewise.
21619         * modules/strsep (Depends-on): Likewise.
21620         * modules/strsignal (Depends-on): Likewise.
21621         * modules/strstr-simple (Depends-on): Likewise.
21622         * modules/strtod (Depends-on): Likewise.
21623         * modules/strtoimax (Depends-on): Likewise.
21624         * modules/strtok_r (Depends-on): Likewise.
21625         * modules/strtoumax (Depends-on): Likewise.
21626         * modules/symlink (Depends-on): Likewise.
21627         * modules/symlinkat (Depends-on): Likewise.
21628         * modules/tanl (Depends-on): Likewise.
21629         * modules/tcgetsid (Depends-on): Likewise.
21630         * modules/tmpfile (Depends-on): Likewise.
21631         * modules/trunc (Depends-on): Likewise.
21632         * modules/truncf (Depends-on): Likewise.
21633         * modules/truncl (Depends-on): Likewise.
21634         * modules/uname (Depends-on): Likewise.
21635         * modules/unlink (Depends-on): Likewise.
21636         * modules/unlockpt (Depends-on): Likewise.
21637         * modules/unsetenv (Depends-on): Likewise.
21638         * modules/usleep (Depends-on): Likewise.
21639         * modules/utimensat (Depends-on): Likewise.
21640         * modules/vasprintf (Depends-on): Likewise.
21641         * modules/vdprintf (Depends-on): Likewise.
21642         * modules/vdprintf-posix (Depends-on): Likewise.
21643         * modules/vfprintf-posix (Depends-on): Likewise.
21644         * modules/vprintf-posix (Depends-on): Likewise.
21645         * modules/vsnprintf (Depends-on): Likewise.
21646         * modules/vsnprintf-posix (Depends-on): Likewise.
21647         * modules/vsprintf-posix (Depends-on): Likewise.
21648         * modules/wcrtomb (Depends-on): Likewise.
21649         * modules/wcscasecmp (Depends-on): Likewise.
21650         * modules/wcscspn (Depends-on): Likewise.
21651         * modules/wcsdup (Depends-on): Likewise.
21652         * modules/wcsncasecmp (Depends-on): Likewise.
21653         * modules/wcsnrtombs (Depends-on): Likewise.
21654         * modules/wcspbrk (Depends-on): Likewise.
21655         * modules/wcsrtombs (Depends-on): Likewise.
21656         * modules/wcsspn (Depends-on): Likewise.
21657         * modules/wcsstr (Depends-on): Likewise.
21658         * modules/wcstok (Depends-on): Likewise.
21659         * modules/wcswidth (Depends-on): Likewise.
21660         * modules/wctob (Depends-on): Likewise.
21661         * modules/wctomb (Depends-on): Likewise.
21662         * modules/wctype (Depends-on): Likewise.
21663         * modules/wcwidth (Depends-on): Likewise.
21664         * modules/write (Depends-on): Likewise.
21665
21666 2011-05-03  Bruno Haible  <bruno@clisp.org>
21667
21668         Support for conditional dependencies.
21669         * doc/gnulib.texi (Module description): Document the syntax of
21670         conditional dependencies.
21671         * gnulib-tool: New option --conditional-dependencies.
21672         (func_usage): Document it.
21673         (cond_dependencies): New variable.
21674         (func_get_automake_snippet_conditional,
21675         func_get_automake_snippet_unconditional): New functions, extracted from
21676         func_get_automake_snippet.
21677         (func_get_automake_snippet): Use them.
21678         (sed_first_32_chars): New variable.
21679         (func_module_shellfunc_name): New function.
21680         (func_module_shellvar_name): New function.
21681         (func_module_conditional_name): New function.
21682         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
21683         func_cond_module_condition): New functions.
21684         (func_modules_transitive_closure): Add support for conditional
21685         dependencies.
21686         (func_emit_lib_Makefile_am): For a conditional module, enclose the
21687         conditional automake snippet in an automake conditional.
21688         (func_emit_autoconf_snippets): Emit shell functions that contain the
21689         code for conditional modules.
21690         (func_import, func_create_testdir): Update specification.
21691
21692 2011-05-03  Eric Blake  <eblake@redhat.com>
21693
21694         test-getaddrinfo: report error information
21695         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
21696
21697 2011-05-03  Jim Meyering  <meyering@redhat.com>
21698
21699         bootstrap: avoid build failure when $GZIP is set
21700         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
21701         program name.  If defined at all, it is supposed to list gzip options.
21702         Reported by Alan Curry in http://debbugs.gnu.org/8609
21703
21704 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
21705
21706         readme-release: new module with release instructions
21707         * modules/readme-release: New module.
21708         * top/README-release: New file, from coreutils, grep, diffutils.
21709         * MODULES.html.sh (Support for maintaining and releasing): Add it.
21710
21711 2011-05-02  Eric Blake  <eblake@redhat.com>
21712
21713         fflush: also replace fclose when fixing fflush
21714         * modules/fflush (Depends-on): Add fclose.
21715         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
21716         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
21717         memstreams with no backing fd.
21718         * doc/posix-functions/fclose.texi (fclose): Document the use of
21719         fflush module to fix the bug.
21720         * tests/test-fclose.c (main): Relax test when fclose is used in
21721         isolation.
21722
21723         fclose: add some tests
21724         * modules/fclose-tests: New test module.
21725         * tests/test-fclose.c: New file.
21726         * doc/posix-functions/fclose.texi (fclose): Document the bug.
21727
21728         fclose: reduced dependencies
21729         * modules/fclose (Depends-on): Switch from fflush/fseeko to
21730         simpler lseek.
21731         * lib/fclose.c (rpl_fclose): Likewise.
21732         Reported by Simon Josefsson.
21733
21734         exit: drop remaining clients
21735         * modules/argmatch (Depends-on): Replace exit with stdlib.
21736         * modules/copy-file (Depends-on): Likewise.
21737         * modules/execute (Depends-on): Likewise.
21738         * modules/exitfail (Depends-on): Likewise.
21739         * modules/obstack (Depends-on): Likewise.
21740         * modules/pagealign_alloc (Depends-on): Likewise.
21741         * modules/pipe-filter-gi (Depends-on): Likewise.
21742         * modules/pipe-filter-ii (Depends-on): Likewise.
21743         * modules/savewd (Depends-on): Likewise.
21744         * modules/spawn-pipe (Depends-on): Likewise.
21745         * modules/wait-process (Depends-on): Likewise.
21746         * modules/xsetenv (Depends-on): Likewise.
21747         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
21748         * modules/git-merge-changelog (Depends-on): Likewise.
21749         * modules/long-options (Depends-on): Likewise.
21750         * modules/pt_chown (Depends-on): Likewise.
21751         * modules/sysexits (Depends-on): Likewise.
21752
21753         freading: relax license from LGPLv3+ to LGPLv2+
21754         * modules/freading (License): Relax LGPL version.
21755
21756 2011-05-02  Bruno Haible  <bruno@clisp.org>
21757
21758         fchdir: Remove unused dependencies.
21759         * modules/fchdir (Depends-on): Remove include_next.
21760
21761 2011-05-02  Bruno Haible  <bruno@clisp.org>
21762
21763         gnulib-tool: Refactor.
21764         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
21765         from func_emit_autoconf_snippets.
21766         (func_emit_autoconf_snippets): Use it.
21767
21768 2011-05-02  Simon Josefsson  <simon@josefsson.org>
21769
21770         * NEWS: Document removal of 'exit'.
21771         * modules/exit: Remove file.
21772
21773 2011-05-01  Bruno Haible  <bruno@clisp.org>
21774
21775         Update DEPENDENCIES.
21776         * DEPENDENCIES (gettext): Recommend the newest release.
21777         Reported by Simon Josefsson.
21778
21779 2011-05-01  Bruno Haible  <bruno@clisp.org>
21780
21781         gnulib-tool: Reduce code duplication.
21782         * gnulib-tool (func_emit_autoconf_snippets): New function.
21783         (func_import, func_create_testdir): Use it.
21784
21785 2011-04-30  Eric Blake  <eblake@redhat.com>
21786
21787         fclose: don't fail on non-seekable input stream
21788         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
21789         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
21790         since fflush is allowed to fail in that case.
21791
21792 2011-04-30  Bruno Haible  <bruno@clisp.org>
21793
21794         dup3: cleanup
21795         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
21796
21797 2011-04-30  Bruno Haible  <bruno@clisp.org>
21798
21799         netdb: Make it work in C++ mode.
21800         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
21801         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
21802         module.
21803         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
21804         gl_MODULE_INDICATOR_FOR_TESTS.
21805         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
21806         * modules/netdb-c++-tests: New file.
21807         * tests/test-netdb-c++.cc: New file.
21808
21809 2011-04-30  Bruno Haible  <bruno@clisp.org>
21810
21811         New modules 'vfscanf', 'vscanf'.
21812         * modules/vfscanf: New file.
21813         * modules/vscanf: New file.
21814         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
21815         here.
21816         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
21817         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
21818
21819 2011-04-30  Bruno Haible  <bruno@clisp.org>
21820
21821         passfd: Add comments.
21822         * lib/passfd.c: Add comments about platforms.
21823
21824 2011-04-30  Bruno Haible  <bruno@clisp.org>
21825
21826         sys_uio: Make <sys/uio.h> self-contained.
21827         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
21828         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
21829
21830 2011-04-30  Bruno Haible  <bruno@clisp.org>
21831
21832         sys_socket: Ensure 'struct iovec' definition.
21833         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
21834         <sys/socket.h>.
21835         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
21836
21837 2011-04-30  Bruno Haible  <bruno@clisp.org>
21838
21839         sys_uio: Protect definition of 'struct iovec'.
21840         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
21841         it as a C struct.
21842
21843 2011-04-30  Bruno Haible  <bruno@clisp.org>
21844
21845         manywarnings: fix indentation
21846         * m4/manywarnings.m4: Indent by 2 spaces consistently.
21847
21848 2011-04-30  Pádraig Brady <P@draigBrady.com>
21849
21850         manywarnings: add -Wno-missing-field-initializers if needed.
21851         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
21852         option if it's needed to allow initialization with { 0, }
21853
21854 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
21855
21856         announce-gen: cosmetic improvement
21857         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
21858
21859 2011-04-29  Jim Meyering  <meyering@redhat.com>
21860
21861         vc-list-files: indent with spaces, not TABs
21862         * build-aux/vc-list-files: Convert leading TABs to spaces,
21863         to match the style of most other files in gnulib.
21864
21865         announce-gen: indent with spaces, not TABs
21866         * build-aux/announce-gen: Convert all TABs to spaces, to match
21867         the style of most other files in gnulib.
21868
21869 2011-04-29  Eric Blake  <eblake@redhat.com>
21870
21871         quotearg: avoid uninitialized variable use
21872         * lib/quotearg.c (quoting_options_from_style): Initialize
21873         remaining fields, and ensure that custom styles are only used via
21874         quoting_options rather than quoting_style.
21875
21876 2011-04-29  Jim Meyering  <meyering@redhat.com>
21877
21878         maint.mk: remove unused VC-tag variable
21879         * top/maint.mk (VC-tag): Remove unused variable.
21880
21881 2011-04-29  Bruno Haible  <bruno@clisp.org>
21882
21883         netdb: fix gai_strerror replacements
21884         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
21885         * modules/netdb: Substitute it.
21886
21887 2011-04-29  Jim Meyering  <meyering@redhat.com>
21888
21889         test-getcwd.c: avoid new set-but-not-used warning
21890         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
21891         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
21892         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
21893         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
21894
21895         test-hash.c: avoid a new shadowing warning
21896         * tests/test-hash.c (main): Don't shadow "dup".
21897
21898 2011-04-28  Eric Blake  <eblake@redhat.com>
21899
21900         getaddrinfo: fix gai_strerror signature
21901         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
21902         and work around mingw with UNICODE defined.
21903         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
21904         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
21905         * modules/netdb (Makefile.am): Substitute it.
21906         * lib/netdb.in.h (gai_strerror): Declare replacement.
21907         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
21908         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
21909         the fix.
21910
21911         getsockopt: avoid compiler warning
21912         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
21913         Reported by Matthias Bolte.
21914
21915         tests: drop unused link dependency
21916         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
21917         * modules/dirent-safer-tests (Makefile.am): Likewise.
21918         * modules/fdopendir-tests (Makefile.am): Likewise.
21919         * modules/mkfifoat-tests (Makefile.am): Likewise.
21920         * modules/openat-safer-tests (Makefile.am): Likewise.
21921         * modules/openat-tests (Makefile.am): Likewise.
21922         * modules/readlinkat-tests (Makefile.am): Likewise.
21923         * modules/symlinkat-tests (Makefile.am): Likewise.
21924         * modules/linkat-tests (Makefile.am): Likewise.
21925         (Depends-on): Switch to filenamecat-lgpl.
21926         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
21927         LIBINTL.
21928         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
21929         * tests/test-linkat.c (main): Don't require xalloc.
21930
21931         hash, mgetgroups: drop xalloc dependency
21932         * lib/hash.c (includes): Adjust includes.
21933         * lib/mgetgroups.c (includes): Likewise.
21934         (xgetgroups): Move...
21935         * lib/xgetgroups.c: ...to new file.
21936         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
21937         * modules/xgetgroups: New file, split from...
21938         * modules/mgetgroups: ...here.
21939         (Depends-on): Add xalloc-oversized.
21940         * modules/hash (Depends-on): Likewise.
21941         * modules/hash-tests (Depends-on): Drop xalloc.
21942         (test_hash_LDADD): Drop unused library.
21943         * tests/test-hash.c (main): Break xalloc dependency.
21944         (includes): Drop unused include.
21945
21946         xalloc-oversized: new module
21947         * modules/xalloc-oversized: New module.
21948         * modules/xalloc (Depends-on): Add it.
21949         * lib/xalloc.h (xalloc_oversized): Move...
21950         * lib/xalloc-oversized.h: ...into new file.
21951
21952         utimecmp: drop dependency on xmalloc
21953         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
21954         due to memory pressure.
21955         * modules/utimecmp (Depends-on): Drop xalloc.
21956
21957 2011-04-27  Eric Blake  <eblake@redhat.com>
21958
21959         getcwd: fix mingw bugs
21960         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
21961         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
21962         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
21963
21964 2011-04-27  Bruno Haible  <bruno@clisp.org>
21965
21966         mkstemps: Ensure declaration on MacOS X 10.5.
21967         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
21968         * doc/glibc-functions/mkstemps.texi: Document header file problem on
21969         MacOS X.
21970
21971 2011-04-27  Bruno Haible  <bruno@clisp.org>
21972
21973         mkstemp: More documentation.
21974         * doc/posix-functions/mkstemp.texi: Document header file problem on
21975         MacOS X.
21976
21977 2011-04-27  Bruno Haible  <bruno@clisp.org>
21978
21979         mkstemp: Tweak configure message when cross-compiling.
21980         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
21981         result as a guess.
21982
21983 2011-04-27  Bruno Haible  <bruno@clisp.org>
21984
21985         clean-temp: Clarify what it does.
21986         * lib/clean-temp.h: Add more comments.
21987         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
21988         module.
21989         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
21990         * doc/glibc-functions/mkstemps.texi: Likewise.
21991         * doc/glibc-functions/mkostemps.texi: Likewise.
21992
21993 2011-04-27  Eric Blake  <eblake@redhat.com>
21994
21995         fchdir: avoid extra chdir and fix test
21996         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
21997         getcwd-lgpl.
21998         * lib/fchdir.c (get_name): Any absolute name will do; it does not
21999         have to be canonical.
22000         (canonicalize_file_name): Drop unused macro.
22001         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
22002
22003         filenamecat-lgpl: fix licence
22004         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
22005         when it was first created.
22006
22007         linkat, renameat: add missing dependency
22008         * modules/linkat (Depends-on): Require getcwd-lgpl.
22009         * modules/renameat (Depends-on): Likewise.
22010
22011         tests: reduce dependencies
22012         * tests/test-linkat.c (main): Use lighter-weight getcwd.
22013         * tests/test-renameat.c (main): Likewise.
22014         * modules/linkat-tests (Depends-on): Relax dependency.
22015         * modules/renameat-tests (Depends-on): Likewise.
22016         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
22017         dependency explicit.
22018
22019         save-cwd: reduce default dependency
22020         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
22021         * lib/save-cwd.c: Update comments.
22022         * NEWS: Document the semantic change.
22023
22024         getcwd: enhance tests
22025         * tests/test-getcwd-lgpl.c: New file, taken from...
22026         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
22027         repeat long path stress tests from m4 probe.
22028         * modules/getcwd-lgpl-tests: New module.
22029         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
22030         * m4/getcwd-abort-bug.m4: Update comment.
22031         * m4/getcwd-path-max.m4: Likewise.
22032
22033         getcwd-lgpl: new module
22034         * modules/getcwd-lgpl: New module.
22035         * lib/getcwd-lgpl.c: New file.
22036         * doc/posix-functions/getcwd.texi (getcwd): Document it.
22037         * MODULES.html.sh (lacking POSIX:2008): Likewise.
22038         * modules/getcwd (configure.ac): Set C witness.
22039         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
22040
22041         getcwd: tweak comments
22042         * m4/getcwd-abort-bug.m4: Fix comments.
22043         * m4/getcwd-path-max.m4: Likewise.
22044         * m4/getcwd.m4: Likewise.
22045
22046 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
22047         and Eric Blake  <eblake@redhat.com>
22048
22049         mkstemp: replace if system version uses wrong permissions
22050         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
22051         read/write mode bits set in file created by mkstemp.
22052         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
22053
22054 2011-04-27  Eric Blake  <eblake@redhat.com>
22055
22056         passfd: avoid compiler warning
22057         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
22058         Reported by Laine Stump.
22059
22060 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
22061
22062         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
22063         required by the NetBSD (and perhaps other 4.4BSD derived) join.
22064
22065 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
22066         and Eric Blake  <eblake@redhat.com>
22067
22068         mkstemp: mention clean-temp module
22069         * lib/mkstemp.c: Add comment.
22070         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
22071
22072 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
22073
22074         inttypes: also provide default values for 32-bit tests
22075         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
22076         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
22077
22078 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
22079
22080         strtoumax: remove dependency on strtoimax
22081         This is like the strtoull change of yesterday.
22082         * modules/strtoumax (Files): Add lib/strtoimax.c.
22083         (Depends-on): Remove strtoimax and add verify.
22084
22085         inttypes-incomplete: new module
22086         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
22087         all but the PRI* and SCN* parts of gl_INTTYPES_H.
22088         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
22089         of gl_INTTYPES_H.
22090         (gl_INTTYPES_H): Rewrite in terms of these new macros.
22091         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
22092         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
22093         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
22094         * modules/strtoumax, modules/xstrtol (Depends-on):
22095         Depend on inttypes-incomplete, not inttypes.
22096         * modules/inttypes-incomplete: New module, containing the contents
22097         of the old modules/inttypes module, except that the Files: section
22098         omits m4/inttypes-pri.m4, and the configure.ac section invokes
22099         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
22100         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
22101         (Depends-on): Depend only on inttypes-incomplete.
22102         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
22103
22104         inttypes: omit now-redundant strtoimax and strtoumax work
22105         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
22106         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
22107
22108         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
22109         This supports apps that need pointers to strtoimax and strtoumax,
22110         and ports to HP-UX 11.00 64.bit, which has macros that expand to
22111         nonexistent functions.  See
22112         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
22113         et seq.
22114         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
22115         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
22116         a macro.
22117         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
22118
22119 2011-04-25  Simon Josefsson  <simon@josefsson.org>
22120
22121         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
22122
22123 2011-04-25  Bruno Haible  <bruno@clisp.org>
22124
22125         strtol, strtoul: Mark modules as obsolete.
22126         * modules/strtol (Status, Notice): New sections.
22127         * modules/strtoul (Status, Notice): New sections.
22128
22129 2011-04-25  Bruno Haible  <bruno@clisp.org>
22130
22131         strtod: Remove check for strtod, unless supporting old platforms.
22132         * modules/strtod-obsolete: New file.
22133         * m4/strtod-obsolete.m4: New file.
22134         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
22135         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
22136         * modules/strtod (Depends-on): Add strtod-obsolete.
22137         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
22138
22139 2011-04-25  Bruno Haible  <bruno@clisp.org>
22140
22141         strcase: Make module obsolete.
22142         * modules/strcase (Status, Notice): New sections.
22143
22144 2011-04-25  Bruno Haible  <bruno@clisp.org>
22145
22146         dup2: Remove check for dup2, unless supporting old obsolete platforms.
22147         * modules/dup2-obsolete: New file.
22148         * m4/dup2-obsolete.m4: New file.
22149         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
22150         gl_FUNC_DUP2_OBSOLETE is not also defined.
22151         * modules/dup2 (Depends-on): Add dup2-obsolete.
22152         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
22153
22154 2011-04-25  Bruno Haible  <bruno@clisp.org>
22155
22156         strnlen: Avoid memchr related link error on old obsolete platforms.
22157         * modules/memchr-obsolete: New file.
22158         * m4/memchr-obsolete.m4: New file.
22159         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
22160         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
22161         * modules/memchr (Depends-on): Add memchr-obsolete.
22162         * modules/strnlen (Depends-on): Likewise.
22163         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
22164
22165 2011-04-25  Jim Meyering  <meyering@redhat.com>
22166
22167         maint.mk: makefile_at_at_check extend and clean up
22168         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
22169         in addition to */Makefile.am.
22170         Exempt legitimate uses of @VAR@ notation, e.g.,
22171         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
22172         Remove obsolete coreutils-specific comment.
22173         Prompted by discussion here:
22174         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
22175
22176 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
22177
22178         strtoul: remove dependency on strtol
22179         This is so that 'configure' need not check for strtol merely because
22180         the application needs strtoul.
22181         * modules/strtoul (Files): Add lib/strtol.c.
22182         (Depends-on): Remove strtol.
22183
22184         strtoull: remove dependency on strtoul
22185         This is like the strtoll change.
22186         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
22187         (Depends-on): Remove strtoul.
22188
22189         strtoll: remove dependency on strtol
22190         This is so that 'configure' need not check for strtol merely because
22191         the application needs strtoll.
22192         * modules/strtoll (Files): Add lib/strtol.c.
22193         (Depends-on): Remove strtol.
22194
22195 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22196
22197         inttypes: Move some configure check to module 'imaxdiv'.
22198         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
22199         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
22200         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
22201
22202 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22203
22204         inttypes: Move some configure check to module 'imaxabs'.
22205         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
22206         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
22207         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
22208
22209 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22210
22211         inttypes: Remove configure tests that are not needed since 2009-12-31.
22212         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
22213         gl_cv_header_working_inttypes_h.
22214
22215 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
22216
22217         * modules/strnlen (Depends-on): Remove memchr.
22218         The strnlen implementation doesn't need the memchr module's fixes; see
22219         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
22220
22221         strtol: remove dependency on wchar
22222         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
22223         * modules/strtol (Depends-on): Remove wchar.
22224
22225 2011-04-21  Eric Blake  <eblake@redhat.com>
22226
22227         passfd: fix test regression on Linux
22228         * modules/passfd-tests (configure.ac): Correct socketpair check.
22229
22230         passfd: speed up configure and drop unused code
22231         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
22232         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
22233         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
22234         Instead of probing at configure for unix_scm_rights_bsd44_way,
22235         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
22236         check to a struct member probe.
22237         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
22238         (sendfd, recvfd): Update preprocessor checks.
22239         * modules/passfd (Files): Reflect rename, and drop unused file.
22240         (Depends-on): Drop unused dependency.
22241
22242         passfd: allow compilation on mingw
22243         * modules/sys_socket (Depends-on): Add sys_uio.
22244         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
22245         iovec and a minimal struct msghdr.
22246         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
22247         * tests/test-sys_socket.c (main): Enhance test.
22248         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
22249         guaranteed to provide what we need.
22250         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
22251         * modules/passfd-tests (Depends-on): Add sys_wait.
22252         * tests/test-passfd.c (main): Skip test on mingw, for now.
22253         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
22254         partial 'struct msghdr' implementation.
22255
22256         sys_uio: new module
22257         * modules/sys_uio: New module.
22258         * modules/sys_uio-tests: Likewise.
22259         * lib/sys_uio.in.h: New file.
22260         * m4/sys_uio_h.m4: Likewise.
22261         * tests/test-sys_uio.c: Likewise.
22262         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
22263         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
22264
22265 2011-04-20  Jim Meyering  <meyering@redhat.com>
22266
22267         useless-if-before-free: avoid false-positive
22268         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
22269         disjunct so that it too requires a terminating ";".  Without that,
22270         this script would identify as useless one statement from gcc that
22271         was not:
22272           if (aligned_ptr)
22273             free (((void **) aligned_ptr) [-1]);
22274
22275 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
22276
22277         doc: update users.txt.
22278         * users.txt: Add barcode.
22279
22280 2011-04-19  Bruno Haible  <bruno@clisp.org>
22281
22282         ioctl: Remove link dependency on native Windows.
22283         * lib/fd-hook.h: Renamed from lib/close-hook.h.
22284         (gl_close_fn, gl_ioctl_fn): New types.
22285         (struct fd_hook): Renamed from struct close_hook. Change type of
22286         private_close_fn field. Add private_ioctl_fn field.
22287         (close_hook_fn): Add parameter for primary close method.
22288         (execute_close_hooks, execute_all_close_hooks): Likewise.
22289         (ioctl_hook_fn): New type.
22290         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
22291         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
22292         argument.
22293         (unregister_fd_hook): Renamed from unregister_close_hook.
22294         * lib/fd-hook.c: Renamed from lib/close-hook.c.
22295         Don't include <unistd.h>.
22296         (close): Remove undef.
22297         (anchor): Update.
22298         (execute_close_hooks): Add argument for primary close method.
22299         (execute_all_close_hooks): Likewise.
22300         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
22301         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
22302         argument. Allow each argument to be NULL.
22303         (unregister_fd_hook): Renamed from unregister_close_hook.
22304         * lib/close.c (rpl_close): Pass 'close' function pointer to
22305         execute_all_close_hooks.
22306         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
22307         (primary_ioctl): New function.
22308         (ioctl): Don't call ioctlsocket here. Instead, call
22309         execute_all_ioctl_hooks.
22310         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
22311         close method.
22312         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
22313         (fd_sockets_hook): Renamed from close_sockets_hook.
22314         (gl_sockets_startup, gl_sockets_cleanup): Update.
22315         * modules/fd-hook: Renamed from modules/close-hook. Update.
22316         * modules/close (Depends-on): Add fd-hook, remove close-hook.
22317         * modules/sockets (Depends-on): Likewise.
22318         * modules/ioctl (Depends-on): Add fd-hook.
22319         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
22320         GNULIB_SOCKET.
22321
22322 2011-04-19  Bruno Haible  <bruno@clisp.org>
22323
22324         Move the support of O_NONBLOCK in open() to the 'open' module.
22325         * modules/nonblocking (Depends-on): Remove 'open'.
22326         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
22327         gl_cv_have_open_O_NONBLOCK.
22328         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
22329         O_NONBLOCK support.
22330         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
22331
22332 2011-04-17  Bruno Haible  <bruno@clisp.org>
22333
22334         pipe2: Simplify code.
22335         * lib/pipe2.c (pipe2): Reduce code duplication.
22336
22337 2011-04-17  Bruno Haible  <bruno@clisp.org>
22338
22339         nonblocking: Add comment.
22340         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
22341
22342 2011-04-17  Bruno Haible  <bruno@clisp.org>
22343
22344         nonblocking: Add tests for sockets.
22345         * tests/test-nonblocking-socket.sh: New file.
22346         * tests/test-nonblocking-socket-main.c: New file.
22347         * tests/test-nonblocking-socket-child.c: New file.
22348         * tests/test-nonblocking-socket.h: New file.
22349         * tests/socket-server.h: New file.
22350         * tests/socket-client.h: New file.
22351         * modules/nonblocking-socket-tests: New file.
22352         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
22353
22354 2011-04-17  Bruno Haible  <bruno@clisp.org>
22355
22356         nonblocking: Add tests for pipes.
22357         * tests/test-nonblocking-pipe.sh: New file.
22358         * tests/test-nonblocking-pipe-main.c: New file.
22359         * tests/test-nonblocking-pipe-child.c: New file.
22360         * tests/test-nonblocking-pipe.h: New file.
22361         * tests/test-nonblocking-writer.h: New file.
22362         * tests/test-nonblocking-reader.h: New file.
22363         * tests/test-nonblocking-misc.h: New file.
22364         * modules/nonblocking-pipe-tests: New file.
22365         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
22366
22367 2011-04-16  Bruno Haible  <bruno@clisp.org>
22368
22369         gettext: Clarify the needed programmer actions.
22370         * modules/gettext (Notice): New field.
22371         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
22372
22373 2011-04-16  Bruno Haible  <bruno@clisp.org>
22374
22375         strchrnul: Tweak last commit.
22376         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
22377         bug.
22378         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
22379         as in _GL_FUNCDECL_SYS.
22380         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
22381         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
22382
22383 2011-04-15  Eric Blake  <eblake@redhat.com>
22384
22385         strchrnul: work around cygwin bug
22386         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
22387         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
22388         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
22389         * modules/string (Makefile.am): Substitute it.
22390         * lib/string.in.h (strchrnul): Use it.
22391
22392 2011-04-15  Bruno Haible  <bruno@clisp.org>
22393
22394         Don't require lib/stdio-write.c when only module 'stdio' is used.
22395         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
22396         invocation.
22397         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
22398
22399 2011-04-14  Bruno Haible  <bruno@clisp.org>
22400
22401         Support non-blocking pipe I/O in read() on native Windows.
22402         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
22403         (read): New declaration.
22404         * lib/read.c: New file.
22405         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
22406         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
22407         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
22408         vscanf): New declarations.
22409         * lib/stdio-read.c: New file.
22410         * m4/read.m4: New file.
22411         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
22412         REPLACE_READ.
22413         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
22414         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22415         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
22416         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
22417         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
22418         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22419         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
22420         * modules/read: New file.
22421         * modules/nonblocking (Files): Add lib/stdio-read.c.
22422         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
22423         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
22424         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22425         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
22426         * modules/pread (Depends-on): Add read.
22427         * modules/safe-read (Depends-on): Likewise.
22428         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
22429         gets, scanf, vfscanf, vscanf): Verify signatures.
22430         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
22431         problem with non-blocking pipes.
22432         * doc/posix-functions/fgetc.texi: Likewise.
22433         * doc/posix-functions/fgets.texi: Likewise.
22434         * doc/posix-functions/fread.texi: Likewise.
22435         * doc/posix-functions/fscanf.texi: Likewise.
22436         * doc/posix-functions/getc.texi: Likewise.
22437         * doc/posix-functions/getchar.texi: Likewise.
22438         * doc/posix-functions/gets.texi: Likewise.
22439         * doc/posix-functions/scanf.texi: Likewise.
22440         * doc/posix-functions/vfscanf.texi: Likewise.
22441         * doc/posix-functions/vscanf.texi: Likewise.
22442
22443 2011-04-14  Bruno Haible  <bruno@clisp.org>
22444
22445         Support non-blocking pipe I/O in write() on native Windows.
22446         * lib/write.c (rpl_write): Split a write request that failed merely
22447         because the byte count was larger than the pipe buffer's size.
22448         * doc/posix-functions/write.texi: Mention the problem with large byte
22449         counts.
22450
22451 2011-04-14  Bruno Haible  <bruno@clisp.org>
22452
22453         wchar: Ensure that wchar_t gets defined on uClibc.
22454         * lib/wchar.in.h: On uClibc, include <stddef.h>.
22455         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
22456
22457 2011-04-13  Bruno Haible  <bruno@clisp.org>
22458
22459         safe-write, full-read: Avoid unnecessary compilation units.
22460         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
22461         (Depends-on): Remove safe-read. Add ssize_t.
22462         * modules/full-read (Files): Add lib/full-write.c.
22463         (Depends-on): Add full-write.
22464
22465 2011-04-13  Bruno Haible  <bruno@clisp.org>
22466
22467         Support non-blocking pipe I/O and SIGPIPE in pwrite().
22468         * modules/pwrite (Depends-on): Add 'write'.
22469
22470 2011-04-13  Bruno Haible  <bruno@clisp.org>
22471
22472         Support non-blocking pipe I/O in write() on native Windows.
22473         * lib/unistd.in.h (write): Enable replacement also if
22474         GNULIB_UNISTD_H_NONBLOCKING is 1.
22475         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
22476         (rpl_write): When failing to write on a non-blocking pipe, change
22477         errno from ENOSPC to EAGAIN.
22478         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
22479         putchar, puts, vfprintf, vprintf): Enable replacement also if
22480         GNULIB_STDIO_H_NONBLOCKING is 1.
22481         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
22482         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
22483         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
22484         CALL_WITH_SIGPIPE_EMULATION.
22485         (CALL_WITH_SIGPIPE_EMULATION): Use them.
22486         * m4/nonblocking.m4: New file.
22487         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
22488         for non-blocking I/O support.
22489         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22490         GNULIB_UNISTD_H_NONBLOCKING.
22491         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
22492         required for non-blocking I/O support.
22493         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
22494         * modules/nonblocking (Files): Add m4/nonblocking.m4,
22495         lib/stdio-write.c, m4/asm-underscore.m4.
22496         (Depends-on): Add stdio, unistd.
22497         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
22498         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
22499         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
22500         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
22501         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
22502         problem with non-blocking pipes.
22503         * doc/posix-functions/fputc.texi: Likewise.
22504         * doc/posix-functions/fputs.texi: Likewise.
22505         * doc/posix-functions/fwrite.texi: Likewise.
22506         * doc/posix-functions/printf.texi: Likewise.
22507         * doc/posix-functions/putc.texi: Likewise.
22508         * doc/posix-functions/putchar.texi: Likewise.
22509         * doc/posix-functions/puts.texi: Likewise.
22510         * doc/posix-functions/vfprintf.texi: Likewise.
22511         * doc/posix-functions/vprintf.texi: Likewise.
22512         * doc/posix-functions/write.texi: Likewise.
22513
22514 2011-04-10  Jim Meyering  <meyering@redhat.com>
22515
22516         maint.mk: prohibit doubled words
22517         Detect them also when they're separated by a newline.
22518         There are 3 ways to customize it:
22519           - disable the test on a per file basis, as usual with rules using
22520             $(VC_LIST_EXCEPT)
22521           - replace the default doubled-word-selecting regexp (affects all files)
22522           - ignore a particular file-vs-doubled-word match
22523         I nearly used that last one to ignore the "is is" match in
22524         coreutils' NEWS file, since the text was "ls -is is ..."
22525         To do that, I would have added this line to cfg.mk:
22526           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
22527         but it would have ignored any "is is" match in NEWS.
22528         Low probability, but still...
22529         Instead, I changed the text, slightly:
22530           -  ls -is is now consistent with ls -lis in ignoring values returned
22531           +  "ls -is" is now consistent with ls -lis in ignoring values returned
22532         * top/maint.mk (prohibit_double_word_RE_): Provide default.
22533         (prohibit_doubled_word_): Define.
22534         (sc_prohibit_doubled_word): New rule.
22535         (sc_prohibit_the_the): Remove.  Subsumed by the above.
22536
22537 2011-04-10  Jim Meyering  <meyering@redhat.com>
22538
22539         maint: fix doubled-word typo in comment
22540         * m4/gethostname.m4: s/is is/it is/
22541         * m4/getdomainname.m4: Likewise.
22542
22543 2011-04-10  Jim Meyering  <meyering@redhat.com>
22544
22545         maint: remove doubled word: s/it it/it/
22546         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
22547
22548 2011-04-10  Jim Meyering  <meyering@redhat.com>
22549
22550         maint.mk: remove useless semicolon and backslash
22551         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
22552         semicolon and backslash.
22553
22554 2011-04-10  Bruno Haible  <bruno@clisp.org>
22555
22556         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
22557         * modules/stdint-tests (Depends-on): Add wchar.
22558
22559 2011-04-10  Jim Meyering  <meyering@redhat.com>
22560
22561         maint: remove doubled words in comments, e.g., s/a a/a/
22562         * lib/strptime.c (day_of_the_week): s/the the/the/
22563         * tests/test-chown.h (test_chown): s/a a/a/
22564
22565         test-chown.h: correct a cast
22566         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
22567         when the destination is a stat.st_gid.
22568
22569 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
22570
22571         getaddrinfo: Fix test for sa_len member.
22572         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
22573         include <sys/types.h> before <sys/socket.h>.
22574
22575 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
22576
22577         maint: change "can not" to "cannot"
22578         * doc/posix-functions/iconv.texi (iconv): This one crossed line
22579         boundaries.
22580
22581 2011-04-09  Jim Meyering  <meyering@redhat.com>
22582
22583         maint: change "a a" to "a"
22584         * tests/test-lchown.h (test_lchown): s/a a/a/
22585
22586         maint.mk: prohibit \<the the\>
22587         * top/maint.mk (sc_prohibit_the_the): New rule.
22588
22589         maint: fix "the the" in comment
22590         * lib/count-one-bits.h: s/the the/the/
22591
22592         maint: change "can not" to "cannot"
22593         But do not change the occurrences in maintain.texi or in
22594         build-aux/po/Makefile.in.in, which I presume comes from gettext.
22595         * doc/gnulib-tool.texi: s/can not/cannot/
22596         * doc/posix-functions/accept.texi (accept): Likewise.
22597         * doc/posix-functions/socket.texi (socket): Likewise.
22598         * lib/mbrtowc.c: Likewise.
22599
22600         maint.mk: prohibit use of "can not"
22601         * top/maint.mk (sc_prohibit_can_not): New rule.
22602         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
22603
22604 2011-04-09  Bruno Haible  <bruno@clisp.org>
22605
22606         careadlinkat: Guard against misuse of careadlinkatcwd.
22607         * lib/careadlinkat.c: Include <stdlib.h>.
22608         (careadlinkatcwd): Check that the fd argument is as expected.
22609
22610 2011-04-09  Bruno Haible  <bruno@clisp.org>
22611
22612         careadlinkat: Use common coding style.
22613         * lib/careadlinkat.c: Move gnulib includes after system includes.
22614
22615 2011-04-09  Bruno Haible  <bruno@clisp.org>
22616
22617         careadlinkat: Clarify specification.
22618         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
22619         (careadlinkatcwd): Add comment.
22620         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
22621
22622 2011-04-09  Bruno Haible  <bruno@clisp.org>
22623
22624         areadlinkat: Avoid link error on many platforms.
22625         * modules/areadlinkat (Depends-on): Add areadlink.
22626
22627 2011-04-09  Bruno Haible  <bruno@clisp.org>
22628
22629         allocator, careadlinkat: Fix double-inclusion guard.
22630         * lib/allocator.h: Fix double-inclusion guard.
22631         * lib/careadlinkat.h: Likewise.
22632
22633 2011-04-09  Bruno Haible  <bruno@clisp.org>
22634
22635         relocatable-prog-wrapper: Update after module 'areadlink' changed.
22636         * lib/relocwrapper.c: Update dependencies hierarchy.
22637         * build-aux/install-reloc: Update list of files to be compiled.
22638         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
22639         lib/allocator.[hc].
22640
22641 2011-04-08  Eric Blake  <eblake@redhat.com>
22642
22643         strftime: silence gnulib-tool warning
22644         * modules/strftime-tests (Depends-on): Drop automatic dependency.
22645
22646 2011-04-08  Bruno Haible  <bruno@clisp.org>
22647
22648         verify: Fix syntax error with GCC 4.6 in C++ mode.
22649         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
22650         (HAVE_STATIC_ASSERT): New macro.
22651         (verify_true, verify): Use 'static_assert' if it is supported and
22652         '_Static_assert' is not supported.
22653
22654 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
22655
22656         allocator: New module.
22657         * modules/allocator, lib/allocator.c: New files.
22658         * lib/allocator.h (stdlib_allocator): New decl.
22659         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
22660         Remove.  Do not include <stdlib.h>.
22661         (careadlinkat): Use stdlib_allocator instead of rolling our own.
22662         * modules/careadlinkat (Files): Remove lib/allocator.h.
22663         (Depends-on): Add allocator.
22664
22665         stdlib: let modules use system malloc, realloc
22666         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
22667         if !_GL_USE_STDLIB_ALLOC.
22668         (malloc, realloc): Limit this change to a smaller scope.
22669
22670         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
22671         (malloc, realloc): Don't #undef; no longer needed.
22672         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22673         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22674         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22675         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22676         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22677         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22678         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22679         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22680
22681         careadlinkat: rename members to avoid problem
22682         * lib/allocator.h (struct allocator): Rename members from
22683         malloc/realloc to allocate/reallocate, to avoid problems if malloc
22684         and realloc are #define'd.  Reported by Eric Blake in
22685         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
22686         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
22687
22688 2011-04-08  Eric Blake  <eblake@redhat.com>
22689
22690         nonblocking: reduce dependency
22691         * tests/test-nonblocking.c: Only test sockets when in use.
22692         * modules/nonblocking-tests (Depends-on): Drop socket.
22693         (Makefile.am): Link even if sockets are not present.
22694         * modules/pipe2-tests (Makefile.am): Likewise.
22695         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
22696
22697         pipe2: fix O_NONBLOCK support on mingw
22698         * modules/pipe2 (Depends-on): Add nonblocking.
22699         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
22700         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
22701         * tests/test-nonblocking.c (main): Likewise.
22702         * modules/pipe2-tests (Makefile.am): Avoid link failure.
22703
22704         fcntl-h: fix O_ACCMODE on cygwin
22705         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
22706         * lib/fcntl.in.h (O_ACCMODE): Fix it.
22707
22708         pipe-filter: drop O_NONBLOCK workarounds
22709         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
22710         * modules/pipe-filter-ii (Depends-on): Likewise.
22711         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
22712
22713         nonblocking: provide O_NONBLOCK for mingw
22714         * modules/nonblocking (Depends-on): Add open.
22715         (configure.ac): Set new witness macro.
22716         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
22717         * modules/fcntl-h (Makefile.am): Substitute it.
22718         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
22719         nonblocking module is in use.
22720         * lib/nonblocking.c: Adjust portability test.
22721         * lib/open.c (open): Don't let native open see gnulib flag.
22722         * tests/test-fcntl-h.c (main): Enhance test.
22723         * tests/test-open.h (test_open): Likewise.
22724         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
22725
22726         careadlinkat: fix compilation error on mingw
22727         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
22728         within struct allocator.
22729
22730 2011-04-06  Eric Blake  <eblake@redhat.com>
22731
22732         binary-io: relicense under LGPLv2+
22733         * modules/binary-io (License): Relax to LGPLv2+.
22734         Requested for libvirt, and required by pipe2.
22735
22736 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
22737
22738         verify: use _Static_assert if available
22739         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
22740         (verify_true, verify): Use it if available.  This generates better
22741         diagnostics with GCC 4.6.0 and later.
22742
22743 2011-04-05  Bruno Haible  <bruno@clisp.org>
22744
22745         Remove leftover generated .h files after config.status changed.
22746
22747         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
22748         GL_GENERATE_ALLOCA_H.
22749         * modules/alloca-opt (Makefile.am): Remove alloca.h if
22750         GL_GENERATE_ALLOCA_H evaluates to false.
22751
22752         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
22753         GL_GENERATE_ARGZ_H.
22754         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
22755         evaluates to false.
22756
22757         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
22758         GL_GENERATE_BYTESWAP_H.
22759         * modules/byteswap (Makefile.am): Remove byteswap.h if
22760         GL_GENERATE_BYTESWAP_H evaluates to false.
22761
22762         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
22763         GL_GENERATE_ERRNO_H.
22764         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
22765         evaluates to false.
22766
22767         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
22768         GL_GENERATE_FLOAT_H.
22769         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
22770         evaluates to false.
22771
22772         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
22773         GL_GENERATE_FNMATCH_H.
22774         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
22775         GL_GENERATE_FNMATCH_H evaluates to false.
22776
22777         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
22778         GL_GENERATE_GLOB_H.
22779         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
22780         evaluates to false.
22781
22782         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
22783         automake conditional GL_GENERATE_ICONV_H.
22784         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
22785         evaluates to false.
22786
22787         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
22788         GL_GENERATE_NETINET_IN_H.
22789         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
22790         GL_GENERATE_NETINET_IN_H evaluates to false.
22791
22792         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
22793         conditional GL_GENERATE_PTHREAD_H.
22794         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
22795         * modules/pthread (Makefile.am): Remove pthread.h if
22796         GL_GENERATE_PTHREAD_H evaluates to false.
22797
22798         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
22799         GL_GENERATE_SCHED_H.
22800         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
22801         evaluates to false.
22802
22803         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
22804         conditional GL_GENERATE_SELINUX_CONTEXT_H.
22805         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
22806         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
22807
22808         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
22809         GL_GENERATE_STDARG_H.
22810         * modules/stdarg (Makefile.am): Remove stdarg.h if
22811         GL_GENERATE_STDARG_H evaluates to false.
22812
22813         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
22814         GL_GENERATE_STDBOOL_H.
22815         * modules/stdbool (Makefile.am): Remove stdbool.h if
22816         GL_GENERATE_STDBOOL_H evaluates to false.
22817
22818         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
22819         conditional GL_GENERATE_STDDEF_H.
22820         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
22821         * modules/stddef (Makefile.am): Remove stddef.h if
22822         GL_GENERATE_STDDEF_H evaluates to false.
22823
22824         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
22825         GL_GENERATE_STDINT_H.
22826         * modules/stdint (Makefile.am): Remove stdint.h if
22827         GL_GENERATE_STDINT_H evaluates to false.
22828
22829         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
22830         GL_GENERATE_SYSEXITS_H.
22831         * modules/sysexits (Makefile.am): Remove sysexits.h if
22832         GL_GENERATE_SYSEXITS_H evaluates to false.
22833
22834         Reported by Karl Berry and Ralf Wildenhues.
22835
22836 2011-04-05  Bruno Haible  <bruno@clisp.org>
22837
22838         Ensure to rebuild generated .h files when config.status has changed.
22839         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
22840         config.status.
22841         * modules/ctype (Makefile.am): Likewise.
22842         * modules/dirent (Makefile.am): Likewise.
22843         * modules/errno (Makefile.am): Likewise.
22844         * modules/fcntl-h (Makefile.am): Likewise.
22845         * modules/float (Makefile.am): Likewise.
22846         * modules/getopt-posix (Makefile.am): Likewise.
22847         * modules/glob (Makefile.am): Likewise.
22848         * modules/iconv-h (Makefile.am): Likewise.
22849         * modules/inttypes (Makefile.am): Likewise.
22850         * modules/langinfo (Makefile.am): Likewise.
22851         * modules/locale (Makefile.am): Likewise.
22852         * modules/math (Makefile.am): Likewise.
22853         * modules/netdb (Makefile.am): Likewise.
22854         * modules/netinet_in (Makefile.am): Likewise.
22855         * modules/poll-h (Makefile.am): Likewise.
22856         * modules/pthread (Makefile.am): Likewise.
22857         * modules/pty (Makefile.am): Likewise.
22858         * modules/sched (Makefile.am): Likewise.
22859         * modules/search (Makefile.am): Likewise.
22860         * modules/selinux-h (Makefile.am): Likewise.
22861         * modules/signal (Makefile.am): Likewise.
22862         * modules/spawn (Makefile.am): Likewise.
22863         * modules/stdarg (Makefile.am): Likewise.
22864         * modules/stdbool (Makefile.am): Likewise.
22865         * modules/stddef (Makefile.am): Likewise.
22866         * modules/stdint (Makefile.am): Likewise.
22867         * modules/stdio (Makefile.am): Likewise.
22868         * modules/stdlib (Makefile.am): Likewise.
22869         * modules/string (Makefile.am): Likewise.
22870         * modules/strings (Makefile.am): Likewise.
22871         * modules/sys_file (Makefile.am): Likewise.
22872         * modules/sys_ioctl (Makefile.am): Likewise.
22873         * modules/sys_select (Makefile.am): Likewise.
22874         * modules/sys_socket (Makefile.am): Likewise.
22875         * modules/sys_stat (Makefile.am): Likewise.
22876         * modules/sys_time (Makefile.am): Likewise.
22877         * modules/sys_times (Makefile.am): Likewise.
22878         * modules/sys_utsname (Makefile.am): Likewise.
22879         * modules/sys_wait (Makefile.am): Likewise.
22880         * modules/sysexits (Makefile.am): Likewise.
22881         * modules/termios (Makefile.am): Likewise.
22882         * modules/time (Makefile.am): Likewise.
22883         * modules/unistd (Makefile.am): Likewise.
22884         * modules/wchar (Makefile.am): Likewise.
22885         * modules/wctype-h (Makefile.am): Likewise.
22886         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
22887
22888 2011-04-05  Bruno Haible  <bruno@clisp.org>
22889
22890         pipe2: Relicense under LGPLv2+.
22891         * modules/pipe2 (License): Change to LGPLv2+.
22892         Requested by Eric Blake, for libvirt.
22893
22894 2011-04-05  Bruce Korb  <bkorb@gnu.org>
22895
22896         bootstrap: compute gnulib_extra_files after updating build_aux
22897         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
22898         change build_aux or also supply gnulib_extra_files.  Handle correctly.
22899
22900 2011-04-05  Eric Blake  <eblake@redhat.com>
22901
22902         bootstrap: preserve git whitelist item sorting
22903         * build-aux/bootstrap (sort_patterns): New function.
22904         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
22905
22906 2011-04-05  Simon Josefsson  <simon@josefsson.org>
22907
22908         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
22909         sc_space_tab check.
22910
22911 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
22912
22913         areadlink, areadlinkat: rewrite in terms of careadlinkat
22914         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
22915         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
22916         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
22917         (malloc, realloc): Remove #undefs.
22918         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
22919         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
22920         readlink, ssize_t, stdint, unistd.
22921         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
22922         areadlink, stdint.
22923
22924         careadlinkat: new module
22925         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
22926         * modules/careadlinkat: New files, written by me with
22927         a review and feedback from Ben Pfaff in
22928         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
22929
22930 2011-04-01  Bruno Haible  <bruno@clisp.org>
22931
22932         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
22933         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
22934         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
22935         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
22936         Reported by Bruce Korb <bruce.korb@gmail.com>.
22937
22938 2011-04-01  Bruno Haible  <bruno@clisp.org>
22939
22940         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
22941         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
22942         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
22943         * modules/wcpcpy (Depends-on): Add extensions.
22944         * modules/wcpncpy (Depends-on): Likewise.
22945         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
22946         systems.
22947         * doc/posix-functions/wcpncpy.texi: Likewise.
22948         * doc/posix-functions/wcwidth.texi: Likewise.
22949
22950 2011-03-31  Eric Blake  <eblake@redhat.com>
22951
22952         nonblocking: fix mingw test failures
22953         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
22954         non-blocking flag on regular file.
22955         (get_nonblocking_flag): Set errno on invalid fd.
22956         * tests/test-nonblocking.c (main): Avoid test failure on
22957         directories if fchdir is not active.
22958         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
22959
22960 2011-03-31  Bruno Haible  <bruno@clisp.org>
22961
22962         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
22963         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
22964         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
22965         Reported by Simon Josefsson <simon@josefsson.org>.
22966
22967 2011-03-31  Bruno Haible  <bruno@clisp.org>
22968         and Eric Blake  <eblake@redhat.com>
22969
22970         nonblocking: new module
22971         * modules/nonblocking: New module.
22972         * modules/nonblocking-tests: Likewise.
22973         * lib/nonblocking.h: New file.
22974         * lib/nonblocking.c: Likewise.
22975         * tests/test-nonblocking.c: New test.
22976         * lib/ioctl.c (ioctl) [mingw]: Update comment.
22977
22978 2011-03-30  Bruno Haible  <bruno@clisp.org>
22979
22980         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
22981         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
22982         instead of 'printf' format for GCC >= 4.4.
22983         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
22984         (fprintf, printf, vfprintf, vprintf): Declare with
22985         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
22986         the system's vfprintf() function.
22987         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
22988
22989 2011-03-30  Eric Blake  <eblake@redhat.com>
22990
22991         passfd: fix scoping bug
22992         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
22993         before sendmsg/recvmsg.
22994
22995         passfd: standardize coding conventions
22996         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
22997         can be learned at compile time.
22998         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
22999         ifdefs.
23000         (sendfd, recvfd): Follow gnulib code conventions.
23001
23002         passfd: fix incorrect sendmsg arguments
23003         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
23004         incorrect msg_controllen value.
23005         * modules/passfd-tests (Depends-on): Check for alarm.
23006         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
23007         Reported by Bastien ROUCARIES.
23008
23009 2011-03-30  Bruno Haible  <bruno@clisp.org>
23010
23011         c-strcasestr: Relicense under LGPLv2+.
23012         * modules/c-strcasestr (License): Change to LGPLv2+.
23013         Requested by Eric Blake, for libvirt.
23014
23015 2011-03-30  Simon Josefsson  <simon@josefsson.org>
23016
23017         * users.txt: Add libidn2.  Fix libtasn1 link.
23018
23019 2011-03-30  Jim Meyering  <meyering@redhat.com>
23020
23021         tests: readlink* ("",... fails with EINVAL on newer kernels
23022         readlink and readlinkat have typically failed with ENOENT for
23023         the invalid, empty file name,  "".  However, with the advent
23024         of linux-2.6.39, they fail with EINVAL.
23025         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
23026         when operating on the empty file name.
23027         * tests/test-readlink.h (test_readlink): Likewise.
23028
23029 2011-03-29  Bruno Haible  <bruno@clisp.org>
23030
23031         Relicense some modules under LGPLv2+, for libidn2.
23032         * modules/array-mergesort (License): Change to LGPLv2+.
23033         * modules/c-strcaseeq (License): Likewise.
23034         * modules/striconveh (License): Likewise.
23035         * modules/striconveha (License): Likewise.
23036         * modules/uniconv/base (License): Likewise.
23037         * modules/uniconv/u8-conv-from-enc (License): Likewise.
23038         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
23039         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
23040         * modules/unictype/base (License): Likewise.
23041         * modules/unictype/bidiclass-of (License): Likewise.
23042         * modules/unictype/category-M (License): Likewise.
23043         * modules/unictype/category-none (License): Likewise.
23044         * modules/unictype/category-of (License): Likewise.
23045         * modules/unictype/category-test (License): Likewise.
23046         * modules/unictype/category-test-withtable (License): Likewise.
23047         * modules/unictype/combining-class (License): Likewise.
23048         * modules/unictype/joiningtype-of (License): Likewise.
23049         * modules/unictype/scripts (License): Likewise.
23050         * modules/uninorm/base (License): Likewise.
23051         * modules/uninorm/canonical-decomposition (License): Likewise.
23052         * modules/uninorm/composition (License): Likewise.
23053         * modules/uninorm/decompose-internal (License): Likewise.
23054         * modules/uninorm/decomposition-table (License): Likewise.
23055         * modules/uninorm/nfc (License): Likewise.
23056         * modules/uninorm/nfd (License): Likewise.
23057         * modules/uninorm/u32-normalize (License): Likewise.
23058         * modules/unistr/base (License): Likewise.
23059         * modules/unistr/u32-cpy (License): Likewise.
23060         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
23061         * modules/unistr/u32-to-u8 (License): Likewise.
23062         * modules/unistr/u32-uctomb (License): Likewise.
23063         * modules/unistr/u8-check (License): Likewise.
23064         * modules/unistr/u8-mblen (License): Likewise.
23065         * modules/unistr/u8-mbtouc (License): Likewise.
23066         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
23067         * modules/unistr/u8-mbtoucr (License): Likewise.
23068         * modules/unistr/u8-prev (License): Likewise.
23069         * modules/unistr/u8-strlen (License): Likewise.
23070         * modules/unistr/u8-to-u32 (License): Likewise.
23071         * modules/unistr/u8-uctomb (License): Likewise.
23072         * modules/unitypes (License): Likewise.
23073         Requested by Simon Josefsson.
23074
23075 2011-03-29  Simon Josefsson  <simon@josefsson.org>
23076
23077         lib-symbol-visibility: Add a notice.
23078         * modules/lib-symbol-visibility (Notice): New field.
23079
23080 2011-03-29  Bruno Haible  <bruno@clisp.org>
23081
23082         getaddrinfo: Doc fix.
23083         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
23084         section "fixed in Gnulib".
23085
23086 2011-03-28  Simon Josefsson  <simon@josefsson.org>
23087
23088         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
23089         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
23090
23091 2011-03-26  Bruno Haible  <bruno@clisp.org>
23092
23093         unictype/property-byname: Reduce the number of load-time relocations.
23094         * lib/unictype/pr_byname.c: Include <stdlib.h>.
23095         (UC_PROPERTY_INDEX_*): New enumeration values.
23096         (uc_property_byname): Convert an index from the lookup table to an
23097         uc_property_t.
23098         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
23099         values.
23100
23101 2011-03-26  Bruno Haible  <bruno@clisp.org>
23102
23103         unictype/property-byname: Allow omitted word separators and aliases.
23104         * lib/unictype/pr_byname.gperf: Add property names without word
23105         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
23106         for 'space'.
23107
23108 2011-03-26  Bruno Haible  <bruno@clisp.org>
23109
23110         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
23111         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
23112         also hyphens to space.
23113         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
23114         without spaces.
23115         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
23116
23117 2011-03-26  Bruno Haible  <bruno@clisp.org>
23118
23119         unictype/joiningtype-byname: Recognize long names as well.
23120         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
23121         a long name.
23122         * lib/unictype/joiningtype_byname.c: Include <string.h>,
23123         unictype/joiningtype_byname.h.
23124         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
23125         * lib/unictype/joiningtype_byname.gperf: New file.
23126         * modules/unictype/joiningtype-byname (Files): Add
23127         lib/unictype/joiningtype_byname.gperf.
23128         (Depends-on): Add gperf.
23129         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
23130         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
23131         long names.
23132
23133         Tests for module 'unictype/joiningtype-longname'.
23134         * modules/unictype/joiningtype-longname-tests: New file.
23135         * tests/unictype/test-joiningtype_longname.c: New file.
23136
23137         New module 'unictype/joiningtype-longname'.
23138         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
23139         * lib/unictype/joiningtype_longname.c: New file.
23140         * modules/unictype/joiningtype-longname: New file.
23141         * modules/unictype/joiningtype-all (Depends-on): Add
23142         unictype/joiningtype-longname.
23143
23144 2011-03-26  Bruno Haible  <bruno@clisp.org>
23145
23146         unictype/bidiclass-byname: Recognize long names as well.
23147         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
23148         name.
23149         * lib/unictype/bidi_byname.c: Include <string.h>,
23150         unictype/bidi_byname.h.
23151         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
23152         * lib/unictype/bidi_byname.gperf: New file.
23153         * modules/unictype/bidiclass-byname (Files): Add
23154         lib/unictype/bidi_byname.gperf.
23155         (Depends-on): Add gperf.
23156         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
23157         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
23158         long names.
23159
23160         Tests for module 'unictype/bidiclass-longname'.
23161         * modules/unictype/bidiclass-longname-tests: New file.
23162         * tests/unictype/test-bidi_longname.c: New file.
23163
23164         New module 'unictype/bidiclass-longname'.
23165         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
23166         * lib/unictype/bidi_longname.c: New file.
23167         * modules/unictype/bidiclass-longname: New file.
23168         * modules/unictype/bidiclass-all (Depends-on): Add
23169         unictype/bidiclass-longname.
23170
23171 2011-03-26  Bruno Haible  <bruno@clisp.org>
23172
23173         unictype/bidi*: Rename modules.
23174         * modules/unictype/bidiclass-all: Renamed from
23175         modules/unictype/bidicategory-all.
23176         * modules/unictype/bidiclass-name: Renamed from
23177         modules/unictype/bidiclass-name.
23178         (Description): Update.
23179         * modules/unictype/bidiclass-name-tests: Renamed from
23180         modules/unictype/bidicategory-name-tests.
23181         * modules/unictype/bidiclass-byname: Renamed from
23182         modules/unictype/bidicategory-byname.
23183         (Description): Update.
23184         * modules/unictype/bidiclass-byname-tests: Renamed from
23185         modules/unictype/bidicategory-byname-tests.
23186         * modules/unictype/bidiclass-of: Renamed from
23187         modules/unictype/bidicategory-of.
23188         (Description): Update.
23189         * modules/unictype/bidiclass-of-tests: Renamed from
23190         modules/unictype/bidicategory-of-tests.
23191         * modules/unictype/bidiclass-test: Renamed from
23192         modules/unictype/bidicategory-test.
23193         (Description): Update.
23194         * modules/unictype/bidiclass-test-tests: Renamed from
23195         modules/unictype/bidicategory-test-tests.
23196         * modules/unictype/bidicategory-all: New file, a simple redirection.
23197         * modules/unictype/bidicategory-name: Likewise.
23198         * modules/unictype/bidicategory-byname: Likewise.
23199         * modules/unictype/bidicategory-of: Likewise.
23200         * modules/unictype/bidicategory-test: Likewise.
23201         * modules/unictype/property-bidi-* (Dependencies): Update.
23202         * lib/unictype/bidi_*.c: Update comment.
23203
23204 2011-03-26  Bruno Haible  <bruno@clisp.org>
23205
23206         unictype/bidi*: Rename functions, part 2.
23207         * modules/unictype/bidicategory-name (configure.ac): Update required
23208         libunistring version.
23209         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
23210
23211 2011-03-25  Bruno Haible  <bruno@clisp.org>
23212
23213         New module 'unictype/combining-class-all'.
23214         * modules/unictype/combining-class-all: New file.
23215
23216         Tests for module 'unictype/combining-class-byname'.
23217         * modules/unictype/combining-class-byname-tests: New file.
23218         * tests/unictype/test-combiningclass_byname.c: New file.
23219
23220         New module 'unictype/combining-class-byname'.
23221         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
23222         * lib/unictype/combiningclass_byname.c: New file.
23223         * lib/unictype/combiningclass_byname.gperf: New file.
23224         * modules/unictype/combining-class-byname: New file.
23225
23226         Tests for module 'unictype/combining-class-longname'.
23227         * modules/unictype/combining-class-longname-tests: New file.
23228         * tests/unictype/test-combiningclass_longname.c: New file.
23229
23230         New module 'unictype/combining-class-longname'.
23231         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
23232         * lib/unictype/combiningclass_longname.c: New file.
23233         * modules/unictype/combining-class-longname: New file.
23234
23235         Tests for module 'unictype/combining-class-name'.
23236         * modules/unictype/combining-class-name-tests: New file.
23237         * tests/unictype/test-combiningclass_name.c: New file.
23238
23239         New module 'unictype/combining-class-name'.
23240         * lib/unictype.in.h (uc_combining_class_name): New declaration.
23241         * lib/unictype/combiningclass_name.c: New file.
23242         * modules/unictype/combining-class-name: New file.
23243
23244 2011-03-25  Bruno Haible  <bruno@clisp.org>
23245
23246         unictype/combining-class: Rename source files.
23247         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
23248         of unictype/combining.h.
23249         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
23250         Update.
23251         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
23252         * modules/unictype/combining-class (Description): Fix.
23253         (Files, Makefile.am): Update.
23254         * tests/unictype/test-combiningclass.c: Renamed from
23255         tests/unictype/test-combining.c.
23256         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
23257
23258 2011-03-25  Bruno Haible  <bruno@clisp.org>
23259
23260         unictype: Update list of canonical combining classes.
23261         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
23262
23263 2011-03-25  Bruno Haible  <bruno@clisp.org>
23264
23265         unictype/category-byname: Recognize long names as well.
23266         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
23267         a long name.
23268         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
23269         unictype/categ_byname.h.
23270         (UC_CATEGORY_INDEX_*): New enumeration values.
23271         (uc_general_category_byname): Use uc_general_category_lookup and
23272         convert from index to value.
23273         * lib/unictype/categ_byname.gperf: New file.
23274         * modules/unictype/category-byname (Files): Add
23275         lib/unictype/categ_byname.gperf.
23276         (Depends-on): Add gperf.
23277         (Makefile.am): Add rule for generating unictype/categ_byname.h.
23278         * tests/unictype/test-categ_byname.c (main): Test the recognition of
23279         long names.
23280
23281         Tests for module 'unictype/category-longname'.
23282         * modules/unictype/category-longname-tests: New file.
23283         * tests/unictype/test-categ_longname.c: New file.
23284
23285         New module 'unictype/category-longname'.
23286         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
23287         * lib/unictype/categ_longname.c: New file.
23288         * modules/unictype/category-longname: New file.
23289         * modules/unictype/category-all (Depends-on): Add it.
23290
23291 2011-03-25  Bruno Haible  <bruno@clisp.org>
23292
23293         Tests for module 'unictype/category-LC'.
23294         * modules/unictype/category-LC-tests: New file.
23295         * tests/unictype/test-categ_LC.c: New file, automatically generated.
23296
23297         New module 'unictype/category-LC'.
23298         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
23299         (UC_CATEGORY_LC): New declaration.
23300         (UC_CASED_LETTER): New macro.
23301         * lib/gen-uni-tables.c (is_category_LC): New function.
23302         (output_categories): Also handle category LC.
23303         (UC_CATEGORY_MASK_LC): New enumeration value.
23304         (general_category_byname): Also handle category LC.
23305         * lib/unictype/categ_LC.c: New file.
23306         * lib/unictype/categ_LC.h: New file, automatically generated.
23307         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
23308         category LC.
23309         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
23310         * modules/unictype/category-LC: New file.
23311         * modules/unictype/category-byname (Depends-on): Add
23312         unictype/category-LC.
23313         * modules/unictype/category-all (Depends-on): Likewise.
23314
23315 2011-03-25  Eric Blake  <eblake@redhat.com>
23316
23317         xmalloc: revert yesterday's regression
23318         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
23319         realloc's underlying behavior (allowing allocation of zero-size
23320         objects, especially if malloc-gnu is also in use).
23321
23322 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
23323
23324         maint.mk: add missing version to VC-tag
23325         * top/maint.mk: git tag was missing actual tag name; add it.
23326
23327         valgrind: do leak checking, and exit with code 1 on error (not 0)
23328         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
23329         to VALGRIND.
23330
23331 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
23332
23333         posix-modules: say what it does.
23334         * posix-modules: Add a line to the --help output saying what it does.
23335
23336 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
23337
23338         xmalloc: Do not leak if underlying realloc is C99 compatible.
23339         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
23340         This avoids a leak on C99-based systems.  See
23341         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
23342
23343 2011-03-24  Eric Blake  <eblake@redhat.com>
23344
23345         realloc: document portability problem
23346         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
23347         passing 0 size to realloc.
23348
23349 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
23350
23351         doc: update users.txt
23352         * users.txt: Add cvsps, tmpwatch
23353
23354 2011-03-23  Matt Rice  <ratmice@gmail.com>
23355
23356         doc: update users.txt
23357         * users.txt: Add gdb.
23358
23359 2011-03-23  Jim Meyering  <meyering@redhat.com>
23360
23361         doc: update users.txt
23362         Looking through matches up to the following URL (there are still
23363         several more pages), I found several projects that use gnulib:
23364         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
23365         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
23366         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
23367
23368 2011-03-22  Bruno Haible  <bruno@clisp.org>
23369
23370         unictype/bidi*: Rename functions.
23371         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
23372         uc_bidi_class, uc_is_bidi_class): New declarations.
23373         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
23374         uc_bidi_category_byname.
23375         (uc_bidi_category_byname): New function.
23376         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
23377         u_bidi_category_name.
23378         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
23379         (uc_bidi_category_name): New function.
23380         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
23381         uc_bidi_category.
23382         (uc_bidi_category): New function.
23383         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
23384         uc_is_bidi_category. Invoke uc_bidi_class.
23385         (uc_is_bidi_category): New function.
23386         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
23387         instead of uc_bidi_category_byname.
23388         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
23389         instead of uc_bidi_category_name.
23390         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
23391         uc_bidi_category.
23392         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
23393         instead of uc_is_bidi_category.
23394
23395 2011-03-21  Bruno Haible  <bruno@clisp.org>
23396
23397         New module 'unictype/joininggroup-all'.
23398         * modules/unictype/joininggroup-all: New file.
23399
23400         Tests for module 'unictype/joininggroup-of'.
23401         * modules/unictype/joininggroup-of-tests: New file.
23402         * tests/unictype/test-joininggroup_of.c: New file.
23403         * tests/unictype/test-joininggroup_of.h: New file, automatically
23404         generated by gen-uni-tables.
23405
23406         New module 'unictype/joininggroup-of'.
23407         * modules/unictype/joininggroup-of: New file.
23408         * lib/unictype/joininggroup_of.c: New file.
23409         * lib/unictype/joininggroup_of.h: New file, automatically generated by
23410         gen-uni-tables.
23411
23412         Tests for module 'unictype/joininggroup-byname'.
23413         * modules/unictype/joininggroup-byname-tests: New file.
23414         * tests/unictype/test-joininggroup_byname.c: New file.
23415
23416         New module 'unictype/joininggroup-byname'.
23417         * modules/unictype/joininggroup-byname: New file.
23418         * lib/unictype/joininggroup_byname.c: New file.
23419         * lib/unictype/joininggroup_byname.gperf: New file.
23420
23421         Tests for module 'unictype/joininggroup-name'.
23422         * modules/unictype/joininggroup-name-tests: New file.
23423         * tests/unictype/test-joininggroup_name.c: New file.
23424
23425         New module 'unictype/joininggroup-name'.
23426         * modules/unictype/joininggroup-name: New file.
23427         * lib/unictype/joininggroup_name.c: New file.
23428         * lib/unictype/joininggroup_name.h: New file.
23429
23430         New module 'unictype/joiningtype-all'.
23431         * modules/unictype/joiningtype-all: New file.
23432
23433         Tests for module 'unictype/joiningtype-of'.
23434         * modules/unictype/joiningtype-of-tests: New file.
23435         * tests/unictype/test-joiningtype_of.c: New file.
23436         * tests/unictype/test-joiningtype_of.h: New file, automatically
23437         generated by gen-uni-tables.
23438
23439         New module 'unictype/joiningtype-of'.
23440         * modules/unictype/joiningtype-of: New file.
23441         * lib/unictype/joiningtype_of.c: New file.
23442         * lib/unictype/joiningtype_of.h: New file, automatically generated by
23443         gen-uni-tables.
23444
23445         Tests for module 'unictype/joiningtype-byname'.
23446         * modules/unictype/joiningtype-byname-tests: New file.
23447         * tests/unictype/test-joiningtype_byname.c: New file.
23448
23449         New module 'unictype/joiningtype-byname'.
23450         * modules/unictype/joiningtype-byname: New file.
23451         * lib/unictype/joiningtype_byname.c: New file.
23452
23453         Tests for module 'unictype/joiningtype-name'.
23454         * modules/unictype/joiningtype-name-tests: New file.
23455         * tests/unictype/test-joiningtype_name.c: New file.
23456
23457         New module 'unictype/joiningtype-name'.
23458         * modules/unictype/joiningtype-name: New file.
23459         * lib/unictype/joiningtype_name.c: New file.
23460
23461         unictype: Add support for Arabic shaping properties.
23462         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
23463         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
23464         declarations.
23465         (UC_JOINING_GROUP_*): New enumeration values.
23466         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
23467         declarations.
23468         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
23469         (unicode_joining_type): New variable.
23470         (UC_JOINING_GROUP_*): New enumeration values.
23471         (unicode_joining_group): New variable.
23472         (fill_arabicshaping, joining_type_as_c_identifier,
23473         output_joining_type_test, output_joining_type,
23474         joining_group_as_c_identifier, output_joining_group_test,
23475         output_joining_group): New functions.
23476         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
23477         fill_arabicshaping and output_joining_type_test, output_joining_type,
23478         output_joining_group_test, output_joining_group.
23479         Reported by Simon Josefsson.
23480
23481 2011-03-21  Jim Meyering  <meyering@redhat.com>
23482
23483         strftime: fix a bug in yesterday's change
23484         * lib/strftime.c (add): Accommodate width's initial value of -1.
23485         Otherwise, nstrftime would copy uninitialized data into
23486         the result buffer.
23487
23488 2011-03-21  Jim Meyering  <meyering@redhat.com>
23489
23490         tests: add strftime-tests module
23491         * tests/test-strftime.c: New file.
23492         * modules/strftime-tests: New module.
23493
23494 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23495
23496         strftime: don't assume a byte count fits in 'int'
23497         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
23498         found this problem by static analysis, using gcc -Wstrict-overflow
23499         (GCC 4.5.2, x86-64).  This reported an optimization that depended
23500         on an integer overflow having undefined behavior, but it turns out
23501         that the argument is a size, which might not fit in 'int' anyway,
23502
23503 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23504
23505         stdio: don't require ignore_value around fwrite
23506
23507         This patch works around libc bug 11959
23508         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
23509         Without this patch, applications must often write
23510         ignore_value (fwrite (...)) even though the ignore_value is
23511         not helpful here.  It's common to write many objects, using
23512         fwrite/printf/etc., and then use ferror to detect output error.
23513
23514         I considered making this patch optional, but decided against it,
23515         because libc is obviously being inconsistent here: there is no
23516         reason libc should insist that user code must inspect fwrite
23517         return's value without also insisting that it inspect printf's,
23518         putchar's, etc.  If user code wants to have a strict style where
23519         all these functions' values are checked (so that ferror need not
23520         be checked), we could add support for that style in a new gnulib
23521         module, but in the meantime it's better to be consistent and to
23522         support common usage.
23523
23524         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
23525         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
23526         that we are compiling in checking mode, and if not C++, and
23527         if not already wrapping fwrite for some other reason.
23528         (fwrite): #define to rpl_fwrite if the latter is defined.
23529
23530 2011-03-20  Bruno Haible  <bruno@clisp.org>
23531
23532         verror: Fix compilation error introduced on 2011-02-13.
23533         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
23534         instead of __attribute__.
23535         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23536
23537 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23538             Bruno Haible  <bruno@clisp.org>
23539
23540         socklen: do not depend on sys_socket
23541         While trying to modify Emacs to use gnulib's socklen module,
23542         I discovered a circular dependency: socklen depends on sys_socket
23543         and vice versa.  Emacs can use socklen, but it does not need
23544         sys_socket because it has its own substitute for sys/socket.h.
23545         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
23546         gl_TYPE_SOCKLEN_T.
23547         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
23548         gl_PREREQ_SYS_H_SOCKET.
23549         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
23550         gl_PREREQ_SYS_H_SOCKET.
23551         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
23552         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
23553         * modules/socklen (Depends-on): Do not depend on sys_socket.
23554         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
23555
23556 2011-03-20  Jim Meyering  <meyering@redhat.com>
23557
23558         maint.mk: sort file names *after* new transformation
23559         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
23560         prefix would have led to an unwarranted failure in GNU parted.
23561         Sort after that transformation.
23562
23563 2011-03-19  Jim Meyering  <meyering@redhat.com>
23564
23565         maint.mk: fix po-file syntax-check rule
23566         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
23567         Patch by Bruno Haible.
23568
23569 2011-03-19  Bruno Haible  <bruno@clisp.org>
23570
23571         socklen: Update comment.
23572         * m4/socklen.m4: Update comment about platforms.
23573
23574 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23575             Bruno Haible  <bruno@clisp.org>
23576
23577         inet_ntop, inet_pton: Simplify.
23578         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
23579         documented to provide socklen_t and we already depend on sys_socket.
23580         * modules/inet_pton (Depends-on): Likewise.
23581         * lib/arpa_inet.in.h: Adjust comment.
23582
23583 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23584             Bruno Haible  <bruno@clisp.org>
23585
23586         netdb: Simplify.
23587         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
23588         documented to provide socklen_t and we already depend on sys_socket.
23589         * lib/netdb.in.h: Adjust comment.
23590
23591 2011-03-19  Bruno Haible  <bruno@clisp.org>
23592
23593         sys_socket, netdb: Document problem with socklen_t.
23594         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
23595         platforms.
23596         * doc/posix-headers/netdb.texi: Likewise.
23597
23598 2011-03-18  Eric Blake  <eblake@redhat.com>
23599
23600         maint.mk: let po check work in VPATH build
23601         * top/maint.mk (po_file): Allow cfg.mk override.
23602         (sc_po_check): Allow VPATH use.
23603         Reported by Jiri Denemark.
23604
23605 2011-03-16  Jim Meyering  <meyering@redhat.com>
23606
23607         maint.mk: allow fine-grained syntax-check exclusion via Make variables
23608         Before, you would have had to create one .x-sc_ file per rule in order
23609         to exempt offending files.  Now, you may instead use a Make variable --
23610         usually defined in cfg.mk -- whose name identifies the affected rule.
23611         * top/maint.mk (_sc_excl): Define.
23612         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
23613         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
23614
23615 2011-03-13  Bruno Haible  <bruno@clisp.org>
23616
23617         ignore-value tests: Avoid warnings.
23618         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
23619         empty for gcc < 3.4.
23620
23621 2011-03-13  Bruno Haible  <bruno@clisp.org>
23622
23623         passfd: Fix link error on Solaris.
23624         * modules/passfd (Description): Correct.
23625         (Depends-on): Add socketlib.
23626         (Link): New section.
23627         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
23628
23629 2011-03-13  Bruno Haible  <bruno@clisp.org>
23630
23631         passfd: Fix link error on AIX 5.2.
23632         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
23633
23634 2011-03-13  Bruno Haible  <bruno@clisp.org>
23635
23636         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
23637         * lib/sys_socket.in.h: Include <stddef.h>.
23638         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
23639         CMSG_FIRSTHDR. Remove unused variable.
23640
23641 2011-03-13  Bruno Haible  <bruno@clisp.org>
23642
23643         passfd: Fix compilation error on OpenBSD.
23644         * lib/passfd.c: Include <sys/uio.h>.
23645
23646 2011-03-13  Bruno Haible  <bruno@clisp.org>
23647
23648         passfd test: Fix warnings.
23649         * tests/test-passfd.c: Include <sys/wait.h>.
23650         (main): Fix typo.
23651
23652 2011-03-13  Bruno Haible  <bruno@clisp.org>
23653
23654         passfd module, part 4, tweaks.
23655         * tests/test-passfd.c: Reorder includes.
23656         (main): Fix perror and printf calls.
23657
23658 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23659
23660         passfd module, part 4.
23661         * modules/passfd-tests: New file.
23662         * tests/test-passfd.c: New file.
23663
23664 2011-03-13  Jim Meyering  <meyering@redhat.com>
23665
23666         Makefile: rely on GNU make; derive syntax-check rule names
23667         Rather than requiring that each sc_ rule be listed as a dependent
23668         of "check", use features of GNU make to derive the list.
23669         * Makefile (syntax-check-rules): Define.
23670         (check): Depend on the new variable, not the hard-coded list.
23671
23672 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
23673             Bruno Haible  <bruno@clisp.org>
23674
23675         passfd module, part 3.
23676         * lib/passfd.h (recvfd): Add a flags argument.
23677         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
23678         (recvfd): Add a flags argument.
23679         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
23680         exists.
23681         * modules/passfd (Depends-on): Add cloexec.
23682         Suggested by Eric Blake.
23683
23684 2011-03-13  Bruno Haible  <bruno@clisp.org>
23685
23686         passfd module, part 2, tweaks.
23687         * modules/passfd (Files): Reorder.
23688         (Depends-on): Remove errno.
23689         (Include): Remove <sys/socket.h>, <sys/un.h>.
23690         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
23691         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
23692         specification header. Include <sys/socket.h> always. Don't include
23693         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
23694         (sendfd): Clarify that it sets errno when it fails.
23695         (recvfd): Fix specification.
23696
23697 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23698
23699         passfd module, part 2.
23700         * modules/passfd: New file.
23701         * lib/passfd.h: New file.
23702         * lib/passfd.c: New file.
23703
23704 2011-03-12  Bruno Haible  <bruno@clisp.org>
23705
23706         wcswidth, mbswidth: Avoid integer overflow.
23707         * lib/wcswidth.c: Include <limits.h>.
23708         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
23709         * lib/mbswidth.c: Include <limits.h>.
23710         (mbsnwidth): Avoid 'int' overflow.
23711         Reported by Jim Meyering.
23712
23713 2011-03-12  Bruno Haible  <bruno@clisp.org>
23714
23715         futimens, utimensat: Avoid endless recursion on Solaris 10.
23716         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
23717         Solaris.
23718         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
23719         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
23720
23721 2011-03-11  Jim Meyering  <meyering@redhat.com>
23722
23723         maint.mk: relax a regexp to accommodate other formatting styles
23724         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
23725         between "ngettext" and the following "(".
23726
23727 2011-03-11  Pádraig Brady <P@draigBrady.com>
23728
23729         maint.mk: suppress a false positive warning
23730         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
23731         diagnostics are marked with ngettext.
23732
23733 2011-03-10  Eric Blake  <eblake@redhat.com>
23734
23735         wchar: add explicit dependencies, for Tru64
23736         * modules/mbmemcasecoll (Depends-on): Add wchar.
23737         * modules/mbtowc (Depends-on): Likewise.
23738         * modules/vasnprintf (Depends-on): Likewise.
23739         * modules/unistdio/u-printf-args (Depends-on): Likewise.
23740         * modules/wctomb (Depends-on): Likewise.
23741         Reported by Peter O'Gorman.
23742
23743 2011-03-08  Bruno Haible  <bruno@clisp.org>
23744
23745         passfd module, part 1, tweaks.
23746         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
23747         Improve indentation. Improve AC_MSG_CHECKING messages.
23748         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
23749         gl_SOCKET_FAMILIES.
23750
23751 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23752
23753         passfd module, part 1.
23754         * m4/afunix.m4: New file.
23755         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
23756         sockets.
23757
23758 2011-03-08  Bruno Haible  <bruno@clisp.org>
23759
23760         regex-quote: New API.
23761         * lib/regex-quote.h: Include <stdbool.h>.
23762         (struct regex_quote_spec): New type.
23763         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23764         New declarations.
23765         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23766         'const struct regex_quote_spec *' argument.
23767         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
23768         (pcre_special): New constant.
23769         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23770         New functions.
23771         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23772         'const struct regex_quote_spec *' argument.
23773         * modules/regex-quote (Depends-on): Add stdbool.
23774         * tests/test-regex-quote.c (check): Update for new API. Add test for
23775         anchored results.
23776         * NEWS: Mention the API change.
23777         Reported by Reuben Thomas and Eric Blake.
23778
23779 2011-03-06  Bruno Haible  <bruno@clisp.org>
23780
23781         regex-quote: Fix creation of POSIX extended regular expressions.
23782         * lib/regex-quote.c (ere_special): Add grouping and alternation
23783         operators.
23784
23785 2011-03-05  Bruno Haible  <bruno@clisp.org>
23786
23787         doc: Improve doc regarding autopoint vs. gnulib.
23788         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
23789         disable autopoint while running autoreconf.
23790         Suggested by Ralf Wildenhues.
23791
23792 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23793
23794         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
23795         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
23796
23797 2011-03-03  Bruce Korb  <bkorb@gnu.org>
23798
23799         parse-duration: remove xalloc.h dependency
23800         * lib/parse-duration.c (parse_period): handle NULL return from
23801         strdup instead of calling xstrdup().
23802         * modules/parse-duration: remove "xalloc" dependency
23803
23804 2011-03-03  Matthew Booth  <mbooth@redhat.com>
23805
23806         bootstrap: honor m4_base when running aclocal
23807         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
23808
23809 2011-03-02  Jim Meyering  <meyering@redhat.com>
23810
23811         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
23812         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
23813         on request from Matt Booth.
23814
23815 2011-03-01  Eric Blake  <eblake@redhat.com>
23816
23817         test-link: work on Hurd
23818         * tests/test-link.h (test_link): Hurd rejects linking directories
23819         with EISDIR instead of the POSIX-mandated EPERM.
23820
23821 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
23822
23823         stdio: simplify by moving files to printf-posix, sigpipe
23824         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
23825         since this symbol is needed only if printf is replaced.
23826         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
23827         Require gl_ASM_SYMBOL_PREFIX.
23828         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
23829         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
23830         (Depends-on): Add 'raise'.
23831         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
23832         * modules/stdio (Files): Remove lib/stdio-write.c,
23833         m4/asm-underscore.m4.
23834         (Depends-on): Remove 'raise'.
23835
23836         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
23837         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
23838         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
23839         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
23840
23841 2011-02-28  Bruno Haible  <bruno@clisp.org>
23842
23843         localcharset: Assume ANSI C behaviour of free().
23844         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
23845         calling free().
23846         Suggested by Simon Josefsson <simon@josefsson.org>.
23847
23848 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
23849             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
23850             Bruno Haible  <bruno@clisp.org>  (tiny change)
23851
23852         On Cygwin, use /proc file system instead of win32 API.
23853         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
23854         Win32 file names.
23855         (DllMain): Simplify by removing Cygwin specific code.
23856         (find_shared_library_fullname): Use Linux specific implementation also
23857         for Cygwin.
23858         (get_shared_library_fullname): Update accordingly.
23859         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
23860         Win32 file names.
23861         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
23862         Cygwin specific code.
23863
23864 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
23865             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
23866
23867         Fix OpenMP flag detection for various Fortran compilers.
23868         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
23869         OpenMP-conditional compilation construct, to force compile
23870         failure with missing OpenMP flag.
23871         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
23872
23873 2011-02-25  Eric Blake  <eblake@redhat.com>
23874
23875         strstr: expand test coverage
23876         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
23877         compilation.
23878         * tests/test-memmem.c (main): Duplicate tests.
23879         * tests/test-strcasestr.c (main): Likewise.
23880         * tests/test-c-strcasestr.c (main): Likewise.
23881
23882 2011-02-25  Jim Meyering  <meyering@redhat.com>
23883
23884         maint.mk: detect missing-NL-at-EOF, too
23885         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
23886         it also detects when a file lacks a newline at EOF.
23887         (require_exactly_one_NL_at_EOF_): Renamed from
23888         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
23889         since people may well have .x-sc_... file names tied to the
23890         existing name.  Suggested by Eric Blake.
23891
23892 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
23893
23894         dirname: move m4/dos.m4 functionality into lib/dosname.h
23895
23896         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
23897         extracts symbols from it, puts them into config.h; but it's much
23898         easier to use the symbols directly.  filename.h already does this,
23899         but it disagrees with dos.m4 in some respects.  This patch
23900         introduces a different include file dosname.h that packages up
23901         dos.m4, and then later we can work on merging filename.h and
23902         dosname.h.  Applications that need only the easy-to-configure
23903         symbols should consider including dosname.h rather than dirname.h.
23904         * NEWS: Mention incompatible changes.
23905         * m4/dos.m4: Remove.
23906         * lib/dosname.h, modules/dosname: New files.
23907         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
23908         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
23909         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
23910         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
23911         Include dosname.h, not dirname.h.
23912         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
23913         Include dosname.h, for definitions of symbols like ISSLASH
23914         that used to be in config.h.
23915         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
23916         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23917         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23918         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23919         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
23920         * modules/rmdir (Files): Likewise.
23921         * modules/stat (Files): Likewise.
23922         * modules/unlink (Files): Likewise.
23923         * modules/dirname-lgpl (Depends-on): Add dosname.
23924         * modules/lstat (Depends-on): Likewise.
23925         * modules/openat (Depends-on): Likewise.
23926         * modules/rmdir (Depends-on): Likewise.
23927         * modules/savewd (Depends-on): Likewise.
23928         * modules/stat (Depends-on): Likewise.
23929         * modules/unlink (Depends-on): Likewise.
23930         * modules/openat (Depends-on): Remove dirname-lgpl.
23931         * modules/savewd (Depends-on): Likewise.
23932         * tests/test-dirname.c: Do not use removed symbols like
23933         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
23934         the remaining symbols, e.g., ISSLASH ('\\').
23935
23936 2011-02-25  Eric Blake  <eblake@redhat.com>
23937
23938         strstr: revert patches that introduced bug and pessimization
23939         * lib/str-two-way.h: Add another reference.
23940         (two_way_short_needle, two_way_long_needle): Revert changes from
23941         2011-02-24; they pessimize search speed.
23942         (critical_factorization): Partially revert changes from
23943         2010-06-22; they violate the requirement that the left half of the
23944         needle be smaller than the period of the needle.
23945
23946 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
23947
23948         filenamecat: remove unnecessary dependency on dirname-lgpl
23949         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
23950         is no direct dependency, just an indirect one via filenamecat-lgpl.
23951
23952         remove: remove unnecessary use of m4/dos.m4
23953         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
23954         * modules/remove (FILES): Remove m4/dos.m4.
23955
23956         * lib/openat-proc.c: Don't include dirname.h; not needed.
23957
23958         backupfile: remove unnecessary use of m4/dos.m4
23959         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
23960         of its symbols are used by the backupfile code.  backupfile.c does
23961         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
23962         for the rare case of programs that want all their backup file
23963         names to live within 8+3 limits, and dos.m4 doesn't address that.
23964         * modules/backupfile (Files): Remove m4/dos.m4.
23965
23966 2011-02-24  Jim Meyering  <meyering@redhat.com>
23967
23968         strstr: fix a bug whereby strstr would mistakenly return NULL
23969         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
23970         in period calculation.
23971         (two_way_long_needle): Likewise.
23972         The original problem was reported by Mike Stump in
23973         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
23974         Ralf Wildenhues provided the short needle and haystack.
23975         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
23976         Add a more involved test to trigger the bug in two_way_long_needle.
23977
23978 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23979
23980         gnulib-tool: remove use of bold display in help screen
23981         * gnulib-tool (func_usage): Do not use bold display anymore in the
23982         help screen.  That was just meant to be a temporary emphasis for a
23983         backward-incompatible change.
23984
23985 2011-02-23  Bruno Haible  <bruno@clisp.org>
23986
23987         Fix misindentation of preprocessor directives.
23988         * lib/argp-namefrob.h: Reindent preprocessor directives.
23989         * lib/getopt_int.h (struct _getopt_data): Likewise.
23990         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
23991         * lib/vasnprintf.c (decode_long_double): Likewise.
23992         * tests/test-argmatch.c: Insert blank lines, for clarity.
23993         * tests/test-exclude.c: Likewise.
23994
23995 2011-02-22  Bruno Haible  <bruno@clisp.org>
23996
23997         ioctl: Fix for MacOS X in 64-bit mode.
23998         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
23999         value.
24000         Suggested by Eric Blake.
24001         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
24002
24003 2011-02-22  Jim Meyering  <meyering@redhat.com>
24004
24005         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
24006         * Makefile (sc_cpp_indent_check): Don't limit the check to files
24007         in lib/.
24008
24009 2011-02-22  Eric Blake  <eblake@redhat.com>
24010
24011         maint: avoid any CDPATH issue
24012         * Makefile (sc_cpp_indent_check): Anchor cd argument.
24013
24014         maint: adjust cpp indentation for my modules, as well
24015         * Makefile (sc_cpp_indent_check): Add my name.
24016         * lib/fbufmode.c: Filter through cppi.
24017         * lib/fpurge.c: Likewise.
24018         * lib/freadable.c: Likewise.
24019         * lib/freading.c: Likewise.
24020         * lib/fwritable.c: Likewise.
24021         * lib/fwriting.c: Likewise.
24022         * lib/sigaction.c: Likewise.
24023
24024 2011-02-22  Jim Meyering  <meyering@redhat.com>
24025
24026         maint: adjust cpp indentation to reflect nesting depth
24027         I.e., in a block of code that begins with an unnested "#if",
24028         put one space between the "#" in column 1 and following token.
24029         For example,
24030         -#include <sys/vfs.h>
24031         +# include <sys/vfs.h>
24032         Do this only in .c files that are part of a module I maintain.
24033         * lib/linkat.c: Filter through cppi.
24034         * lib/nanosleep.c: Likewise.
24035         * lib/openat.c: Likewise.
24036         * lib/openat-die.c: Likewise.
24037         * lib/dup3.c: Likewise.
24038         * lib/fchownat.c: Likewise.
24039         * lib/flock.c: Likewise.
24040         * lib/fsync.c: Likewise.
24041         * lib/fts.c: Likewise.
24042         * lib/getpass.c: Likewise.
24043         * lib/gettimeofday.c: Likewise.
24044         * lib/userspec.c: Likewise.
24045         * Makefile (sc_cpp_indent_check): New rule, to check this.
24046
24047 2011-02-22  Bruno Haible  <bruno@clisp.org>
24048
24049         New module 'wctomb'.
24050         * lib/stdlib.in.h (wctomb): New declaration.
24051         * lib/wctomb.c: New file.
24052         * lib/wctomb-impl.h: New file.
24053         * m4/wctomb.m4: New file.
24054         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
24055         REPLACE_WCTOMB.
24056         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
24057         REPLACE_WCTOMB.
24058         * modules/wctomb: New file.
24059         * tests/test-stdlib-c++.cc: Test signature of wctomb.
24060         * doc/posix-functions/wctomb.texi: Mention the new module.
24061         * modules/wctob (Depends-on): Add wctomb.
24062
24063 2011-02-22  Bruno Haible  <bruno@clisp.org>
24064
24065         New module 'mbtowc'.
24066         * lib/stdlib.in.h (mbtowc): New declaration.
24067         * lib/mbtowc.c: New file.
24068         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
24069         * m4/mbtowc.m4: New file.
24070         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
24071         REPLACE_MBTOWC.
24072         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
24073         REPLACE_MBTOWC.
24074         * modules/mbtowc: New file.
24075         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
24076         * doc/posix-functions/mbtowc.texi: Mention the new module.
24077         * modules/btowc (Depends-on): Add mbtowc.
24078
24079 2011-02-22  Bruno Haible  <bruno@clisp.org>
24080
24081         wcrtomb: Add more tests for native Windows platforms.
24082         * tests/test-wcrtomb-w32-1.sh: New file.
24083         * tests/test-wcrtomb-w32-2.sh: New file.
24084         * tests/test-wcrtomb-w32-3.sh: New file.
24085         * tests/test-wcrtomb-w32-4.sh: New file.
24086         * tests/test-wcrtomb-w32-5.sh: New file.
24087         * tests/test-wcrtomb-w32.c: New file.
24088         * modules/wcrtomb-tests (Files): Add them.
24089         (Makefile.am): Arrange to run these tests.
24090         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
24091         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
24092
24093 2011-02-20  Bruno Haible  <bruno@clisp.org>
24094
24095         wcrtomb: Enhance test.
24096         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
24097
24098 2011-02-20  Bruno Haible  <bruno@clisp.org>
24099
24100         mbrtowc: Tiny optimization.
24101         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
24102
24103 2011-02-20  Jim Meyering  <meyering@redhat.com>
24104
24105         test-exclude.c: remove unmatched #endif
24106         * tests/test-exclude.c: Remove stray #endif, left over from
24107         the change of a week ago.
24108
24109 2011-02-19  Jim Meyering  <meyering@redhat.com>
24110
24111         git-version-gen: skip "-dirty" check when appropriate
24112         * build-aux/git-version-gen: Don't run any git commands when the
24113         version string comes from .tarball-version.  Prior to this, we
24114         would run git update-index --refresh even from a just-unpacked
24115         tarball directory, and that could affect a .git/ directory in a
24116         parent of the build directory.  Reported by Mike Frysinger.
24117
24118 2011-02-19  Bruno Haible  <bruno@clisp.org>
24119
24120         unictype/property-byname: Reduce the size of the 'data' segment.
24121         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
24122
24123 2011-02-19  Bruno Haible  <bruno@clisp.org>
24124
24125         unictype/scripts: Reduce the size of the 'data' segment.
24126         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
24127         '%pic'.
24128         * lib/unictype/scripts_byname.gperf: Regenerated.
24129
24130 2011-02-19  Bruno Haible  <bruno@clisp.org>
24131
24132         stdint: Update documentation.
24133         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
24134
24135 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
24136
24137         stdint: omit redundant check for wchar.h
24138         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
24139         always tests whether wchar.h exists, so remove the now-redundant test.
24140
24141 2011-02-18  Bruno Haible  <bruno@clisp.org>
24142
24143         stdint: Cut dependency to module 'wchar'.
24144         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
24145         include the necessary prerequisites.
24146         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
24147         * modules/stdint (Depends-on): Remove wchar.
24148         (Makefile.am): Substitute HAVE_WCHAR_H.
24149         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
24150
24151 2011-02-18  Eric Blake  <eblake@redhat.com>
24152
24153         longlong: skip, rather than fail, on cross-compilation
24154         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
24155         when cross-compiling; regression from 2011-02-16.
24156
24157 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
24158
24159         * NEWS: Mention 2011-02-08 change to stdlib.
24160
24161 2011-02-17  Bruno Haible  <bruno@clisp.org>
24162
24163         getloadavg: Add comments about platforms.
24164         * m4/getloadavg.m4: Add comment.
24165         * lib/getloadavg.c: Likewise.
24166
24167 2011-02-17  Bruno Haible  <bruno@clisp.org>
24168
24169         getloadavg: Fix link error on Solaris 2.6.
24170         * modules/getloadavg (Link): New section.
24171         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
24172         linking test-getloadavg.
24173         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
24174         getloadavg.
24175
24176 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
24177
24178         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
24179         It was 'int', but this doesn't match the IRIX 6.5 manual.
24180         Suggested by Bruno Haible in
24181         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
24182
24183 2011-02-17  Bruno Haible  <bruno@clisp.org>
24184
24185         havelib: Fix comments.
24186         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
24187         change.
24188
24189 2011-02-17  Bruno Haible  <bruno@clisp.org>
24190
24191         havelib: Update config.rpath.
24192         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
24193
24194 2011-02-17  Bruno Haible  <bruno@clisp.org>
24195
24196         getloadavg test: Add some plausibility checks.
24197         * tests/test-getloadavg.c (check_avg): Print a warning when the value
24198         is improbable.
24199
24200 2011-02-16  Eric Blake  <eblake@redhat.com>
24201
24202         maintainer-makefile: make syntax-check a no-op from tarballs
24203         * top/maint.mk (no-vc-detected): New rule.
24204         (local-checks-available): Use it to avoid hanging if someone tries
24205         'make syntax-check' from a tarball.  Also append to any non-syntax
24206         checks already defined in cfg.mk.
24207
24208 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
24209
24210         longlong: tune, particularly for common case of c99
24211
24212         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
24213         or running anything if c99, or if unsigned long long int does not
24214         work.  In either case, we know the answer without further tests.
24215         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
24216         it at most once, and use its results for both long long int and
24217         unsigned long long int.  This is more likely to be efficient in
24218         the common case where the program wants to check for both long
24219         long int and unsigned long long int.
24220         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
24221         since the answer is already known.
24222
24223 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
24224
24225         getloadavg: set errno
24226         * lib/getloadavg.c: Set errno when returning -1.  If no other
24227         error number looks appropriate, set it to ENOSYS if the getloadavg
24228         looks like it can't possibly ever work, ENOTSUP otherwise.
24229         Suggested by Bruno Haible in
24230         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
24231
24232         getloadavg: trim unused parts and speed up 'configure'
24233         * NEWS: Document this.
24234         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
24235         always compiled if getloadavg is absent.
24236         Move test code to ...
24237         * tests/test-getloadavg.c: New file, containing previous
24238         contents of test from lib/getloadavg.c.  It also contains
24239         suggestions by Bruno Haible in
24240         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
24241         * modules/getloadavg-tests: New file.
24242         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
24243         Do tests in the same order as they're needed for getloadavg.c.
24244         Omit setgid-related tests that generate symbols KMEM_GROUP,
24245         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
24246         Do only the tests that are needed to see whether the system has
24247         getloadavg, moving the other tests into ...
24248         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
24249         NLIST_NAME_UNION; nobody should be using it.  Do not define
24250         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
24251         relevant, as the user of this module shouldn't care how getloadavg
24252         is implemented.
24253
24254         getloadavg: omit unused var
24255         * lib/getloadavg.c (getloadavg): Omit unused local variable.
24256
24257 2011-02-15  Jim Meyering  <meyering@redhat.com>
24258
24259         doc: update users.txt
24260         * users.txt: Update iwhd's URL.
24261
24262 2011-02-13  Bruno Haible  <bruno@clisp.org>
24263
24264         Consistent macro naming for macros that use GCC __attribute__.
24265         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
24266         _ATTRIBUTE_NONNULL_.
24267         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
24268         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
24269         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
24270         ATTRIBUTE_DEPRECATED.
24271         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
24272         ATTRIBUTE_NORETURN.
24273         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24274         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24275         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24276         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24277         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
24278         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
24279         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
24280         ATTRIBUTE_SENTINEL.
24281         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
24282         ATTRIBUTE_RETURN_CHECK.
24283         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
24284         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
24285         ATTRIBUTE_NORETURN.
24286         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
24287         Reported by Paul Eggert.
24288
24289 2011-02-13  Bruno Haible  <bruno@clisp.org>
24290
24291         Don't interfere with a program's definition of __attribute__.
24292         * lib/argp.h (__attribute__): Remove definition.
24293         (_GL_ATTRIBUTE_FORMAT): New macro.
24294         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
24295         * lib/argp-fmtstream.h (__attribute__): Remove definition.
24296         (_GL_ATTRIBUTE_FORMAT): New macro.
24297         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
24298         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
24299         GCC 3 or newer.
24300         * lib/error.h (__attribute__): Remove definition.
24301         (_GL_ATTRIBUTE_FORMAT): New macro.
24302         (error, error_at_line): Use it.
24303         * lib/hash.h (__attribute__): Remove definition.
24304         (ATTRIBUTE_WUR): Update definition. Define always.
24305         * lib/openat.h (__attribute__): Remove definition.
24306         (ATTRIBUTE_NORETURN): Update definition. Define always.
24307         * lib/sigpipe-die.h (__attribute__): Remove definition.
24308         (ATTRIBUTE_NORETURN): Update definition. Define always.
24309         * lib/vasnprintf.h (__attribute__): Remove definition.
24310         (_GL_ATTRIBUTE_FORMAT): New macro.
24311         (asnprintf, vasnprintf): Use it.
24312         * lib/xalloc.h (__attribute__): Remove definition.
24313         (ATTRIBUTE_NORETURN): Update definition. Define always.
24314         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
24315         * lib/xmemdup0.h (__attribute__): Remove definition.
24316         (ATTRIBUTE_NORETURN): Update definition. Define always.
24317         * lib/xprintf.h (__attribute__): Remove definition.
24318         (_GL_ATTRIBUTE_FORMAT): New macro.
24319         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
24320         * lib/xstrtol.h (__attribute__): Remove definition.
24321         (ATTRIBUTE_NORETURN): Update definition. Define always.
24322         * lib/xvasprintf.h (__attribute__): Remove definition.
24323         (_GL_ATTRIBUTE_FORMAT): New macro.
24324         (xasprintf, xvasprintf): Use it.
24325         * tests/test-argmatch.c (__attribute__): Remove definition.
24326         (ATTRIBUTE_NORETURN): Update definition. Define always.
24327         * tests/test-exclude.c (__attribute__): Remove definition.
24328         (ATTRIBUTE_NORETURN): Update definition. Define always.
24329         Reported by Paul Eggert.
24330
24331 2011-02-13  Bruno Haible  <bruno@clisp.org>
24332
24333         mbrtowc: Add more tests for native Windows platforms.
24334         * tests/test-mbrtowc-w32-1.sh: New file.
24335         * tests/test-mbrtowc-w32-2.sh: New file.
24336         * tests/test-mbrtowc-w32-3.sh: New file.
24337         * tests/test-mbrtowc-w32-4.sh: New file.
24338         * tests/test-mbrtowc-w32-5.sh: New file.
24339         * tests/test-mbrtowc-w32.c: New file.
24340         * modules/mbrtowc-tests (Files): Add them.
24341         (Makefile.am): Arrange to run these tests.
24342         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
24343         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
24344
24345 2011-02-13  Bruno Haible  <bruno@clisp.org>
24346
24347         mbrtowc: Work around native Windows bug.
24348         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
24349         guess when no suitable locale for testing was found.
24350         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
24351
24352 2011-02-13  Bruno Haible  <bruno@clisp.org>
24353
24354         mbsinit: Work around mingw bug.
24355         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
24356         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
24357         Windows.
24358         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
24359
24360 2011-02-13  Bruno Haible  <bruno@clisp.org>
24361
24362         mbsinit: Don't crash for a NULL argument.
24363         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
24364         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
24365
24366 2011-02-13  Bruno Haible  <bruno@clisp.org>
24367
24368         Don't interfere with a program's definition of __attribute__.
24369         * lib/stdio.in.h (__attribute__): Remove definition.
24370         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
24371         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
24372         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
24373         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
24374         * lib/string.in.h (__attribute__): Remove definition.
24375         Reported by Paul Eggert.
24376
24377 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
24378
24379         stdlib: don't get in the way of non-GCC __attribute__
24380         See thread starting at
24381         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
24382         Revert previous stdlib change, installing the following instead:
24383         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
24384         to get in the way of a non-GCC compiler that supports __attribute__.
24385         (_GL_ATTRIBUTE_RETURN): New macro.
24386         (_Exit): Use it instead of __attribute__.
24387
24388 2011-02-12  Bruno Haible  <bruno@clisp.org>
24389
24390         quotearg test: Avoid test failure on mingw.
24391         * tests/test-quotearg.sh: Convert the locale identifier from native
24392         Windows syntax to Unix syntax.
24393
24394 2011-02-12  Bruno Haible  <bruno@clisp.org>
24395
24396         setlocale: Prefer gnulib's override over libintl's override.
24397         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
24398         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
24399         GNULIB_defined_setlocale is set.
24400
24401 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
24402
24403         stdlib: support non-GCC __attribute__
24404
24405         Fix a serious and tricky problem encountered when attempting to
24406         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
24407         5.5, but it crashed due to memory corruption on Solaris 10 with
24408         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
24409         bits that are otherwise zero.  This tagging is optional inside
24410         Emacs but is preferred and is used when __attribute__ ((__aligned
24411         (8))) works, as it does with both recent-enough GCC and with Sun C
24412         5.11.  However, Sun C 5.11 is not GCC and does not #define
24413         __GNUC__ and __GNUC_MINOR__.
24414
24415         When I added the getloadavg module to Emacs, it brought in
24416         stdlib.in.h, which contained this fragment:
24417
24418            #ifndef __attribute__
24419            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
24420            #  define __attribute__(Spec)   /* empty */
24421            # endif
24422            #endif
24423
24424         When files that include <stdlib.h> were compiled with Sun C 5.11,
24425         the above code disabled __attribute__ ((__aligned (8))), which
24426         caused variables to not be properly aligned, which eventually led
24427         to the pointer corruption mentioned above.  (This was a bit hard
24428         to diagnose, unfortunately.)
24429
24430         Several "#define __attribute__(X) /* empty */" code snippets need
24431         to be eradicated from Gnulib to work with non-GCC compilers that
24432         support __attribute__.  The Autoconf way to do this is to test for
24433         each kind of attribute that we want support for, and selectively
24434         enable that in source code.
24435
24436         Fix this problem just for stdlib.h, by adding a test for the
24437         __noreturn__ attribute, and change stdlib.in.h to use that test
24438         when needed.  This technique can be easily generalized to the
24439         other *.in.h files and attributes, and a similar technique can be
24440         used for *.h and *.c files.  This patch is enough to solve the
24441         problem for Emacs + getloadavg, and I thought I'd publish it for
24442         feedback before undertaking further, similar fixes in other
24443         modules.
24444
24445         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
24446         because it's not needed for stdlib.h.  It merely substitutes the
24447         value directly into stdlib.h.  We may well need to #define it, or
24448         similar symbols, for other modules, but it's nice to also have an
24449         option to not #define it for applications like Emacs that do not
24450         need it.
24451
24452         * lib/stdlib.in.h (__attribute__): Do not #define.
24453         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
24454         be defined only if the _Exit module is also used.
24455         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
24456         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
24457         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
24458         platforms.
24459         * modules/_Exit (Files): Add m4/attribute.m4.
24460         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
24461         * m4/attribute.m4: New file.
24462
24463 2011-02-12  Bruno Haible  <bruno@clisp.org>
24464
24465         wcsrtombs: Work around bug on native Windows.
24466         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
24467         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
24468         instead of len.
24469         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
24470
24471 2011-02-12  Bruno Haible  <bruno@clisp.org>
24472
24473         mbsrtowcs: Work around bug on native Windows.
24474         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
24475         against mingw bug.
24476         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
24477
24478 2011-02-12  Bruno Haible  <bruno@clisp.org>
24479
24480         Avoid setlocale bugs in tests.
24481         * modules/btowc (Dependencies): Add setlocale.
24482         * modules/c-strcase (Dependencies): Likewise.
24483         * modules/mbmemcasecmp (Dependencies): Likewise.
24484         * modules/mbmemcasecoll (Dependencies): Likewise.
24485         * modules/mbrtowc (Dependencies): Likewise.
24486         * modules/mbscasecmp (Dependencies): Likewise.
24487         * modules/mbscasestr (Dependencies): Likewise.
24488         * modules/mbschr (Dependencies): Likewise.
24489         * modules/mbscspn (Dependencies): Likewise.
24490         * modules/mbsinit (Dependencies): Likewise.
24491         * modules/mbsncasecmp (Dependencies): Likewise.
24492         * modules/mbsnrtowcs (Dependencies): Likewise.
24493         * modules/mbspbrk (Dependencies): Likewise.
24494         * modules/mbspcasecmp (Dependencies): Likewise.
24495         * modules/mbsrchr (Dependencies): Likewise.
24496         * modules/mbsrtowcs (Dependencies): Likewise.
24497         * modules/mbsspn (Dependencies): Likewise.
24498         * modules/mbsstr (Dependencies): Likewise.
24499         * modules/nl_langinfo (Dependencies): Likewise.
24500         * modules/quotearg (Dependencies): Likewise.
24501         * modules/unicase/locale-language (Dependencies): Likewise.
24502         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
24503         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
24504         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
24505         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
24506         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
24507         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
24508         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
24509         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
24510         * modules/vasnprintf-posix (Dependencies): Likewise.
24511         * modules/wcrtomb (Dependencies): Likewise.
24512         * modules/wcsnrtombs (Dependencies): Likewise.
24513         * modules/wcsrtombs (Dependencies): Likewise.
24514
24515 2011-02-12  Bruno Haible  <bruno@clisp.org>
24516
24517         setlocale: Workaround native Windows bug.
24518         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
24519         succeeds but sets LC_CTYPE to "C", report a failure.
24520         * tests/test-setlocale2.sh: New file.
24521         * tests/test-setlocale2.c: New file.
24522         * modules/setlocale-tests (Files): Add the new files.
24523         (Makefile.am): Enable test-setlocale2.sh test.
24524         * doc/posix-functions/setlocale.texi: Mention workaround.
24525
24526 2011-02-11  Bruno Haible  <bruno@clisp.org>
24527
24528         Tests for module 'setlocale'.
24529         * modules/setlocale-tests: New file.
24530         * tests/test-setlocale1.sh: New file.
24531         * tests/test-setlocale1.c: New file.
24532
24533         New module 'setlocale'.
24534         * lib/locale.in.h (setlocale): New declaration.
24535         * lib/setlocale.c: New file, based on
24536         gettext/gettext-runtime/intl/setlocale.c.
24537         * m4/setlocale.m4: New file.
24538         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
24539         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
24540         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
24541         REPLACE_SETLOCALE.
24542         * modules/setlocale: New file.
24543         * tests/test-locale-c++.cc: Test the declaration of setlocale.
24544         * doc/posix-functions/setlocale.texi: Mention the new module.
24545
24546 2011-02-11  Bruno Haible  <bruno@clisp.org>
24547
24548         Prepare for locale dependent tests on mingw.
24549         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
24550         because it has the wrong locale encoding.
24551         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
24552         French_France.1252 instead of "fr".
24553         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
24554         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
24555         because it has the wrong locale encoding.
24556         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
24557         native Windows, try Turkish_Turkey.65001.
24558         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
24559         Chinese_China.54936.
24560
24561         Prepare for locale dependent tests on mingw.
24562         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
24563         differently.
24564         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
24565         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
24566         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
24567         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
24568
24569 2011-02-11  Eric Blake  <eblake@redhat.com>
24570
24571         strptime: avoid compiler warnings
24572         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
24573         compiler warnings about dead code.
24574         Reported by Daniel P. Berrange.
24575
24576 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
24577
24578         doc: update users.txt
24579         * users.txt: Add rcs.
24580
24581 2011-02-10  John W. Eaton  <jwe@gnu.org>
24582
24583         doc: update users.txt
24584         * users.txt: Add octave.
24585
24586 2011-02-10  Jim Meyering  <meyering@redhat.com>
24587
24588         doc: update users.txt
24589         * users.txt: Add iwhd.
24590
24591 2011-02-09  Bruno Haible  <bruno@clisp.org>
24592
24593         gnulib-tool: Make copyright notice adjustment more robust.
24594         * gnulib-tool (func_import): In sed_transform_main_lib_file,
24595         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
24596         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
24597         License".
24598         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
24599
24600 2011-02-06  Bruno Haible  <bruno@clisp.org>
24601
24602         New module 'towctrans'.
24603         * modules/towctrans: New file.
24604         * lib/wctype.in.h (towctrans): New declaration.
24605         * lib/towctrans.c: New file.
24606         * lib/towctrans-impl.h: New file.
24607         * m4/towctrans.m4: New file.
24608         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
24609         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
24610         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
24611         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
24612         * doc/posix-functions/towctrans.texi: Mention the new module.
24613
24614 2011-02-06  Bruno Haible  <bruno@clisp.org>
24615
24616         New module 'wctrans'.
24617         * modules/wctrans: New file.
24618         * lib/wctype.in.h (wctrans): New declaration.
24619         * lib/wctrans.c: New file.
24620         * lib/wctrans-impl.h: New file.
24621         * m4/wctrans.m4: New file.
24622         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
24623         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
24624         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
24625         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
24626         * doc/posix-functions/wctrans.texi: Mention the new module.
24627
24628 2011-02-06  Bruno Haible  <bruno@clisp.org>
24629
24630         New module 'iswctype'.
24631         * modules/iswctype: New file.
24632         * lib/wctype.in.h (iswctype): New declaration.
24633         * lib/iswctype.c: New file.
24634         * lib/iswctype-impl.h: New file.
24635         * m4/iswctype.m4: New file.
24636         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
24637         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
24638         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
24639         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
24640         * doc/posix-functions/iswctype.texi: Mention the new module and the
24641         HP-UX 11.00 problem.
24642
24643 2011-02-06  Bruno Haible  <bruno@clisp.org>
24644
24645         New module 'wctype'.
24646         * modules/wctype: Change to represent the wctype() substitute.
24647         * lib/wctype.in.h (wctype): New declaration.
24648         * lib/wctype.c: New file.
24649         * lib/wctype-impl.h: New file.
24650         * m4/wctype.m4: New file.
24651         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
24652         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
24653         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
24654         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
24655         * doc/posix-functions/wctype.texi: Mention the new module and the
24656         HP-UX 11.00 problem.
24657
24658 2011-02-06  Bruno Haible  <bruno@clisp.org>
24659
24660         wctype-h: Ensure wctype_t and wctrans_t are defined.
24661         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
24662         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24663         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24664         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
24665         HAVE_WCTRANS_T.
24666         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
24667
24668 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
24669
24670         flock: fix license typo
24671
24672         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
24673         omitted.
24674
24675 2011-02-08  Bruno Haible  <bruno@clisp.org>
24676
24677         Split large sed scripts, for HP-UX sed.
24678         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
24679         to avoid HP-UX limit of 99 commands, in the near future.
24680         * modules/stdlib (Makefile.am): Likewise.
24681         * modules/unistd (Makefile.am): Likewise.
24682         * modules/wchar (Makefile.am): Likewise.
24683         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24684         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
24685         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
24686
24687 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24688             Bruno Haible  <bruno@clisp.org>
24689
24690         stdlib: improve random_r modularization
24691         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
24692         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
24693         you also need the random_r module to get this material right.
24694         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
24695         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
24696         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
24697
24698 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24699
24700         stdlib: don't depend on stdint
24701         * lib/stdlib.in.h: Don't include <stdint.h> merely because
24702         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
24703         be independent of whether stdint.h is needed.
24704         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
24705         here, instead of ...
24706         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
24707         struct random_data should be using the random_r module, not just
24708         the stdlib module (which wouldn't make sense: what package needs
24709         just struct random_data without also needing random_r?).
24710         * modules/stdlib (Depends-on): Remove stdint.
24711
24712         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
24713         See the thread rooted at
24714         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
24715         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
24716         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
24717         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
24718         __VMS)); previously it was always included (via fcntl--.h).
24719         (getloadavg): Do not use c_strtod.  Instead, approximate it by
24720         hand; this is good enough for load averages.  Also, do not use
24721         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
24722         flags directly if available and don't bother otherwise.  (Packages
24723         that need the extra reliability should use the modules that define
24724         these flags on older platforms that lack them.)
24725         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
24726         fcntl-safer.
24727
24728 2011-02-08  Jim Meyering  <meyering@redhat.com>
24729
24730         di-set.h, ino-map.h: add multiple-inclusion guard
24731         Technically, the guard is required only for ino-map.h, due to its
24732         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
24733         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
24734         * lib/ino-map.h: Likewise.
24735
24736 2011-02-06  Bruno Haible  <bruno@clisp.org>
24737
24738         iswblank: Ensure declaration on glibc systems.
24739         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
24740         * modules/iswblank (Dependencies): Add 'extensions'.
24741         * doc/posix-functions/iswblank.texi: Document the glibc problem.
24742
24743 2011-02-06  Bruno Haible  <bruno@clisp.org>
24744
24745         New module 'iswblank'.
24746         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
24747         * modules/iswblank: New file.
24748         * modules/wctype-h (Files): Remove lib/iswblank.c.
24749         (Makefile.am): Substitute GNULIB_ISWBLANK.
24750         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
24751         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
24752         (gl_WCTYPE_H_DEFAULTS): New macro.
24753         (gl_WCTYPE_H): Require it. Remove iswblank related code.
24754         * modules/iswblank-tests: New file.
24755         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
24756         * tests/test-wctype-h.c (main): Remove iswblank tests.
24757         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
24758         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
24759         of 'wctype-h'.
24760         * NEWS: Mention the change.
24761         * modules/mbchar (Depends-on): Add iswblank.
24762
24763 2011-02-08  Bruno Haible  <bruno@clisp.org>
24764
24765         di-set tests: Refactor.
24766         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
24767         unnecessary includes.
24768         (ASSERT): Remove macro.
24769         (main): Make C90 compliant by avoiding variable declaration after
24770         statement.
24771         * modules/di-set-tests (Files): Add tests/macros.h.
24772
24773 2011-02-08  Bruno Haible  <bruno@clisp.org>
24774
24775         ino-map tests: Refactor.
24776         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
24777         unnecessary includes.
24778         (ASSERT): Remove macro.
24779         (main): Make C90 compliant by avoiding variable declaration after
24780         statement.
24781         * modules/ino-map-tests (Files): Add tests/macros.h.
24782
24783 2011-02-08  Jim Meyering  <meyering@redhat.com>
24784
24785         di-set: add "const" to a cast
24786         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
24787         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
24788
24789 2011-02-06  Bruno Haible  <bruno@clisp.org>
24790
24791         Rename module 'wctype' to 'wctype-h'.
24792         * modules/wctype-h: Renamed from modules/wctype.
24793         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
24794         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
24795         (Files, Depends-on, Makefile.am): Update.
24796         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
24797         (Files, Makefile.am): Update.
24798         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
24799         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
24800         * doc/posix-headers/wctype.texi: Update.
24801         * doc/posix-functions/iswalnum.texi: Update.
24802         * doc/posix-functions/iswalpha.texi: Update.
24803         * doc/posix-functions/iswblank.texi: Update.
24804         * doc/posix-functions/iswcntrl.texi: Update.
24805         * doc/posix-functions/iswdigit.texi: Update.
24806         * doc/posix-functions/iswgraph.texi: Update.
24807         * doc/posix-functions/iswlower.texi: Update.
24808         * doc/posix-functions/iswprint.texi: Update.
24809         * doc/posix-functions/iswpunct.texi: Update.
24810         * doc/posix-functions/iswspace.texi: Update.
24811         * doc/posix-functions/iswupper.texi: Update.
24812         * doc/posix-functions/iswxdigit.texi: Update.
24813         * doc/posix-functions/towlower.texi: Update.
24814         * doc/posix-functions/towupper.texi: Update.
24815         * NEWS: Mention the change.
24816         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
24817         * modules/mbchar (Dependencies): Likewise.
24818         * modules/mbswidth (Dependencies): Likewise.
24819         * modules/quotearg (Dependencies): Likewise.
24820         * modules/regex (Dependencies): Likewise.
24821         * modules/wcscasecmp (Dependencies): Likewise.
24822         * modules/wcsncasecmp (Dependencies): Likewise.
24823         * modules/wcwidth (Dependencies): Likewise.
24824
24825 2011-02-06  Bruno Haible  <bruno@clisp.org>
24826
24827         New module 'wcswidth'.
24828         * modules/wcswidth: New file.
24829         * lib/wchar.in.h (wcswidth): New declaration.
24830         * lib/wcswidth.c: New file.
24831         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
24832         * m4/wcswidth.m4: New file.
24833         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
24834         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
24835         REPLACE_WCSWIDTH.
24836         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
24837         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
24838         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
24839         * doc/posix-functions/wcswidth.texi: Mention the new module.
24840
24841 2011-02-06  Bruno Haible  <bruno@clisp.org>
24842
24843         New module 'wcstok'.
24844         * modules/wcstok: New file.
24845         * lib/wchar.in.h (wcstok): New declaration.
24846         * lib/wcstok.c: New file.
24847         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
24848         * m4/wcstok.m4: New file.
24849         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
24850         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
24851         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
24852         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
24853         * doc/posix-functions/wcstok.texi: Mention the new module.
24854
24855 2011-02-06  Bruno Haible  <bruno@clisp.org>
24856
24857         New module 'wcsstr'.
24858         * modules/wcsstr: New file.
24859         * lib/wchar.in.h (wcsstr): New declaration.
24860         * lib/wcsstr.c: New file.
24861         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
24862         * m4/wcsstr.m4: New file.
24863         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
24864         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
24865         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
24866         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
24867         * doc/posix-functions/wcsstr.texi: Mention the new module.
24868
24869 2011-02-06  Bruno Haible  <bruno@clisp.org>
24870
24871         New module 'wcspbrk'.
24872         * modules/wcspbrk: New file.
24873         * lib/wchar.in.h (wcspbrk): New declaration.
24874         * lib/wcspbrk.c: New file.
24875         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
24876         * m4/wcspbrk.m4: New file.
24877         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
24878         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
24879         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
24880         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
24881         * doc/posix-functions/wcspbrk.texi: Mention the new module.
24882
24883 2011-02-06  Bruno Haible  <bruno@clisp.org>
24884
24885         New module 'wcsspn'.
24886         * modules/wcsspn: New file.
24887         * lib/wchar.in.h (wcsspn): New declaration.
24888         * lib/wcsspn.c: New file.
24889         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
24890         * m4/wcsspn.m4: New file.
24891         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
24892         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
24893         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
24894         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
24895         * doc/posix-functions/wcsspn.texi: Mention the new module.
24896
24897 2011-02-06  Bruno Haible  <bruno@clisp.org>
24898
24899         New module 'wcscspn'.
24900         * modules/wcscspn: New file.
24901         * lib/wchar.in.h (wcscspn): New declaration.
24902         * lib/wcscspn.c: New file.
24903         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
24904         * m4/wcscspn.m4: New file.
24905         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
24906         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
24907         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
24908         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
24909         * doc/posix-functions/wcscspn.texi: Mention the new module.
24910
24911 2011-02-06  Bruno Haible  <bruno@clisp.org>
24912
24913         New module 'wcsrchr'.
24914         * modules/wcsrchr: New file.
24915         * lib/wchar.in.h (wcsrchr): New declaration.
24916         * lib/wcsrchr.c: New file.
24917         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
24918         * m4/wcsrchr.m4: New file.
24919         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
24920         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
24921         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
24922         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
24923         * doc/posix-functions/wcsrchr.texi: Mention the new module.
24924
24925 2011-02-06  Bruno Haible  <bruno@clisp.org>
24926
24927         New module 'wcschr'.
24928         * modules/wcschr: New file.
24929         * lib/wchar.in.h (wcschr): New declaration.
24930         * lib/wcschr.c: New file.
24931         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
24932         * m4/wcschr.m4: New file.
24933         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
24934         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
24935         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
24936         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
24937         * doc/posix-functions/wcschr.texi: Mention the new module.
24938
24939 2011-02-06  Bruno Haible  <bruno@clisp.org>
24940
24941         New module 'wcsdup'.
24942         * modules/wcsdup: New file.
24943         * lib/wchar.in.h (wcsdup): New declaration.
24944         * lib/wcsdup.c: New file.
24945         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
24946         * m4/wcsdup.m4: New file.
24947         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
24948         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
24949         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
24950         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
24951         * doc/posix-functions/wcsdup.texi: Mention the new module.
24952
24953 2011-02-06  Bruno Haible  <bruno@clisp.org>
24954
24955         New module 'wcsxfrm'.
24956         * modules/wcsxfrm: New file.
24957         * lib/wchar.in.h (wcsxfrm): New declaration.
24958         * lib/wcsxfrm.c: New file.
24959         * lib/wcsxfrm-impl.h: New file.
24960         * m4/wcsxfrm.m4: New file.
24961         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
24962         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
24963         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
24964         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
24965         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
24966
24967 2011-02-06  Bruno Haible  <bruno@clisp.org>
24968
24969         New module 'wcscoll'.
24970         * modules/wcscoll: New file.
24971         * lib/wchar.in.h (wcscoll): New declaration.
24972         * lib/wcscoll.c: New file.
24973         * lib/wcscoll-impl.h: New file.
24974         * m4/wcscoll.m4: New file.
24975         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
24976         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
24977         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
24978         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
24979         * doc/posix-functions/wcscoll.texi: Mention the new module.
24980
24981 2011-02-06  Bruno Haible  <bruno@clisp.org>
24982
24983         New module 'wcsncasecmp'.
24984         * modules/wcsncasecmp: New file.
24985         * lib/wchar.in.h (wcsncasecmp): New declaration.
24986         * lib/wcsncasecmp.c: New file.
24987         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
24988         * m4/wcsncasecmp.m4: New file.
24989         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
24990         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
24991         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
24992         HAVE_WCSNCASECMP.
24993         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
24994         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
24995
24996 2011-02-06  Bruno Haible  <bruno@clisp.org>
24997
24998         New module 'wcscasecmp'.
24999         * modules/wcscasecmp: New file.
25000         * lib/wchar.in.h (wcscasecmp): New declaration.
25001         * lib/wcscasecmp.c: New file.
25002         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
25003         * m4/wcscasecmp.m4: New file.
25004         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
25005         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
25006         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
25007         HAVE_WCSCASECMP.
25008         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
25009         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
25010
25011 2011-02-05  Bruno Haible  <bruno@clisp.org>
25012
25013         New module 'wcsncmp'.
25014         * modules/wcsncmp: New file.
25015         * lib/wchar.in.h (wcsncmp): New declaration.
25016         * lib/wcsncmp.c: New file.
25017         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
25018         * m4/wcsncmp.m4: New file.
25019         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
25020         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
25021         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
25022         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
25023         * doc/posix-functions/wcsncmp.texi: Mention the new module.
25024
25025 2011-02-05  Bruno Haible  <bruno@clisp.org>
25026
25027         New module 'wcscmp'.
25028         * modules/wcscmp: New file.
25029         * lib/wchar.in.h (wcscmp): New declaration.
25030         * lib/wcscmp.c: New file.
25031         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
25032         * m4/wcscmp.m4: New file.
25033         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
25034         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
25035         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
25036         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
25037         * doc/posix-functions/wcscmp.texi: Mention the new module.
25038
25039 2011-02-05  Bruno Haible  <bruno@clisp.org>
25040
25041         New module 'wcsncat'.
25042         * modules/wcsncat: New file.
25043         * lib/wchar.in.h (wcsncat): New declaration.
25044         * lib/wcsncat.c: New file.
25045         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
25046         * m4/wcsncat.m4: New file.
25047         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
25048         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
25049         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
25050         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
25051         * doc/posix-functions/wcsncat.texi: Mention the new module.
25052
25053 2011-02-05  Bruno Haible  <bruno@clisp.org>
25054
25055         New module 'wcscat'.
25056         * modules/wcscat: New file.
25057         * lib/wchar.in.h (wcscat): New declaration.
25058         * lib/wcscat.c: New file.
25059         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
25060         * m4/wcscat.m4: New file.
25061         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
25062         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
25063         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
25064         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
25065         * doc/posix-functions/wcscat.texi: Mention the new module.
25066
25067 2011-02-05  Bruno Haible  <bruno@clisp.org>
25068
25069         New module 'wcpncpy'.
25070         * modules/wcpncpy: New file.
25071         * lib/wchar.in.h (wcpncpy): New declaration.
25072         * lib/wcpncpy.c: New file.
25073         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
25074         * m4/wcpncpy.m4: New file.
25075         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
25076         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
25077         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
25078         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
25079         * doc/posix-functions/wcpncpy.texi: Mention the new module.
25080
25081 2011-02-05  Bruno Haible  <bruno@clisp.org>
25082
25083         New module 'wcsncpy'.
25084         * modules/wcsncpy: New file.
25085         * lib/wchar.in.h (wcsncpy): New declaration.
25086         * lib/wcsncpy.c: New file.
25087         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
25088         * m4/wcsncpy.m4: New file.
25089         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
25090         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
25091         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
25092         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
25093         * doc/posix-functions/wcsncpy.texi: Mention the new module.
25094
25095 2011-02-05  Bruno Haible  <bruno@clisp.org>
25096
25097         New module 'wcpcpy'.
25098         * modules/wcpcpy: New file.
25099         * lib/wchar.in.h (wcpcpy): New declaration.
25100         * lib/wcpcpy.c: New file.
25101         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
25102         * m4/wcpcpy.m4: New file.
25103         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
25104         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
25105         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
25106         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
25107         * doc/posix-functions/wcpcpy.texi: Mention the new module.
25108
25109 2011-02-05  Bruno Haible  <bruno@clisp.org>
25110
25111         New module 'wcscpy'.
25112         * modules/wcscpy: New file.
25113         * lib/wchar.in.h (wcscpy): New declaration.
25114         * lib/wcscpy.c: New file.
25115         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
25116         * m4/wcscpy.m4: New file.
25117         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
25118         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
25119         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
25120         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
25121         * doc/posix-functions/wcscpy.texi: Mention the new module.
25122
25123 2011-02-05  Bruno Haible  <bruno@clisp.org>
25124
25125         New module 'wcsnlen'.
25126         * modules/wcsnlen: New file.
25127         * lib/wchar.in.h (wcsnlen): New declaration.
25128         * lib/wcsnlen.c: New file.
25129         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
25130         * m4/wcsnlen.m4: New file.
25131         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
25132         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
25133         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
25134         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
25135         * doc/posix-functions/wcsnlen.texi: Mention the new module.
25136
25137 2011-02-05  Bruno Haible  <bruno@clisp.org>
25138
25139         New module 'wcslen'.
25140         * modules/wcslen: New file.
25141         * lib/wchar.in.h (wcslen): New declaration.
25142         * lib/wcslen.c: New file.
25143         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
25144         * m4/wcslen.m4: New file.
25145         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
25146         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
25147         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
25148         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
25149         * doc/posix-functions/wcslen.texi: Mention the new module.
25150
25151 2011-02-05  Bruno Haible  <bruno@clisp.org>
25152
25153         New module 'wmemset'.
25154         * modules/wmemset: New file.
25155         * lib/wchar.in.h (wmemset): New declaration.
25156         * lib/wmemset.c: New file.
25157         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
25158         * m4/wmemset.m4: New file.
25159         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
25160         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
25161         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
25162         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
25163         * doc/posix-functions/wmemset.texi: Mention the new module.
25164
25165 2011-02-05  Bruno Haible  <bruno@clisp.org>
25166
25167         New module 'wmemmove'.
25168         * modules/wmemmove: New file.
25169         * lib/wchar.in.h (wmemmove): New declaration.
25170         * lib/wmemmove.c: New file.
25171         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
25172         * m4/wmemmove.m4: New file.
25173         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
25174         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
25175         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
25176         HAVE_WMEMMOVE.
25177         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
25178         * doc/posix-functions/wmemmove.texi: Mention the new module.
25179
25180 2011-02-05  Bruno Haible  <bruno@clisp.org>
25181
25182         New module 'wmemcpy'.
25183         * modules/wmemcpy: New file.
25184         * lib/wchar.in.h (wmemcpy): New declaration.
25185         * lib/wmemcpy.c: New file.
25186         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
25187         * m4/wmemcpy.m4: New file.
25188         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
25189         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
25190         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
25191         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
25192         * doc/posix-functions/wmemcpy.texi: Mention the new module.
25193
25194 2011-02-05  Bruno Haible  <bruno@clisp.org>
25195
25196         New module 'wmemcmp'.
25197         * modules/wmemcmp: New file.
25198         * lib/wchar.in.h (wmemcmp): New declaration.
25199         * lib/wmemcmp.c: New file.
25200         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
25201         * m4/wmemcmp.m4: New file.
25202         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
25203         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
25204         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
25205         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
25206         * doc/posix-functions/wmemcmp.texi: Mention the new module.
25207
25208 2011-02-07  Jim Meyering  <meyering@redhat.com>
25209
25210         di-set, ino-map: new modules, from coreutils
25211         * lib/di-set.c: New file.
25212         * lib/di-set.h: Likewise.
25213         * lib/ino-map.c: Likewise.
25214         * lib/ino-map.h: Likewise.
25215         * modules/di-set: Likewise.
25216         * modules/di-set-tests: Likewise.
25217         * modules/ino-map: Likewise.
25218         * modules/ino-map-tests: Likewise.
25219         * tests/test-di-set.c: Likewise.
25220         * tests/test-ino-map.c: Likewise.
25221
25222 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
25223
25224         getloadavg: merge minor changes from Emacs
25225
25226         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
25227         (getloadavg): Use memset, not bzero.
25228
25229         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
25230         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
25231         clash (bug#86).
25232
25233 2010-11-14  Bruno Haible  <bruno@clisp.org>
25234
25235         Allow multiple gnulib generated replacements to coexist.
25236         * lib/getopt.in.h (struct option): Avoid identical redefinition.
25237         * lib/inttypes.in.h (imaxdiv_t): Likewise.
25238         * lib/langinfo.in.h (nl_item): Likewise.
25239         * lib/math.in.h (_NaN, NAN): Likewise.
25240         * lib/netdb.in.h (struct addrinfo): Likewise.
25241         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
25242         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
25243         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
25244         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
25245         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
25246         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
25247         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
25248         pthread_mutexattr_init, pthread_mutexattr_settype,
25249         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
25250         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
25251         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
25252         pthread_spin_trylock, pthread_spin_unlock): Likewise.
25253         * lib/sched.in.h (struct sched_param): Likewise.
25254         * lib/se-selinux.in.h (security_class_t, security_context_t,
25255         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
25256         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
25257         lsetfilecon, fsetfilecon, security_check_context,
25258         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
25259         Likewise.
25260         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
25261         Likewise.
25262         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
25263         _gl_function_taking_int_returning_void_t, union sigval,
25264         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
25265         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
25266         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
25267         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
25268         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
25269         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
25270         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
25271         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
25272         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
25273         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
25274         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
25275         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
25276         socklen_t, rpl_fd_isset): Likewise.
25277         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
25278         * lib/sys_time.in.h (struct timeval): Likewise.
25279         * lib/sys_times.in.h (struct tms): Likewise.
25280         * lib/sys_utsname.in.h (struct utsname):
25281         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
25282         * lib/unistd.in.h (getpagesize): Likewise.
25283         * lib/wchar.in.h (mbstate_t): Likewise.
25284         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
25285         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
25286         towlower, towupper): Likewise.
25287         Reported by Sam Steingold <sds@gnu.org>.
25288
25289 2011-02-05  Eric Blake  <eblake@redhat.com>
25290
25291         unsetenv: work around Haiku issues
25292         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
25293         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
25294
25295 2010-12-30  Bruce Korb  <bkorb@gnu.org>
25296
25297         libposix: avoid calling error() within libposix
25298         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
25299         is defined.
25300
25301 2011-02-05  Eric Blake  <eblake@redhat.com>
25302
25303         strerror_r-posix: port to cygwin
25304         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
25305         implementation.
25306         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
25307         * tests/test-strerror_r.c (main): Fix test.
25308         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
25309         issue.
25310
25311 2011-02-05  Bruno Haible  <bruno@clisp.org>
25312
25313         New module 'wmemchr'.
25314         * modules/wmemchr: New file.
25315         * lib/wchar.in.h (wmemchr): New declaration.
25316         * lib/wmemchr.c: New file.
25317         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
25318         * m4/wmemchr.m4: New file.
25319         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
25320         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
25321         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
25322         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
25323         * doc/posix-functions/wmemchr.texi: Mention the new module.
25324
25325 2011-02-04  Eric Blake  <eblake@redhat.com>
25326
25327         fdopendir: detect FreeBSD bug
25328         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
25329         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
25330
25331 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
25332
25333         stdbool: do not define HAVE_STDBOOL_H
25334         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
25335         AC_HEADER_STDBOOL.  All uses changed.  Do not define
25336         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
25337         imported from the latest Autoconf git.  It was motivated by Emacs,
25338         which uses gnulib but does not need HAVE_STDBOOL_H.
25339
25340 2011-02-04  Bruno Haible  <bruno@clisp.org>
25341
25342         wcsnrtombs: Prepare for new module wwcsnrtombs.
25343         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
25344         * lib/wcsnrtombs.c: Include it.
25345         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
25346
25347         wcsrtombs: Prepare for new module wwcsrtombs.
25348         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
25349         * lib/wcsrtombs.c: Include it.
25350         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
25351
25352         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
25353         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
25354         * lib/mbsnrtowcs.c: Include it.
25355         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
25356
25357         mbsrtowcs: Prepare for new module mbsrtowwcs.
25358         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
25359         * lib/mbsrtowcs.c: Include it.
25360         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
25361
25362 2011-02-04  Bruno Haible  <bruno@clisp.org>
25363
25364         vasnprintf: Reduce use of malloc for small format strings.
25365         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
25366         (arguments): Add room for the first 7 arguments.
25367         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
25368         (char_directives, u8_directives, u16_directives, u32_directives): Add
25369         room for the first 7 directives.
25370         * lib/printf-parse.c: Include <string.h>.
25371         (PRINTF_PARSE): Change memory handling code so that it uses the first
25372         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
25373         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
25374         Reported by Pádraig Brady <P@draigbrady.com>.
25375
25376 2011-01-31  Eric Blake  <eblake@redhat.com>
25377
25378         dup2: work around Haiku bug
25379         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
25380         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
25381         * doc/posix-functions/dup2.texi (dup2): Document the bug.
25382         * tests/test-dup2.c (main): Enhance test.
25383
25384 2011-01-31  Simon Josefsson  <simon@josefsson.org>
25385
25386         doc: off_t is not available in eglibc 2.11.2 stdio.h.
25387         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
25388         declared by eglibc 2.11.2.
25389         * lib/stdio.in.h: Likewise.
25390
25391 2011-01-31  Eric Blake  <eblake@redhat.com>
25392
25393         ignore-value: add missing test dependency
25394         * tests/test-ignore-value.c: Revert previous change; stdio.h
25395         provides off_t.
25396         * modules/ignore-value-tests (Depends-on): Add missing dependency.
25397
25398 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
25399
25400         mktime: clarify long_int width checking
25401         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
25402         the top level, to make it clearer that the assumption about
25403         long_int width is being checked.  See
25404         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
25405
25406 2011-01-30  Simon Josefsson  <simon@josefsson.org>
25407
25408         ignore-value: Fix self-test.
25409         * tests/test-ignore-value.c: Include sys/types.h for off_t.
25410
25411 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
25412
25413         TYPE_MAXIMUM: avoid theoretically undefined behavior
25414         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
25415         negative number, which the C Standard says has undefined behavior.
25416         In practice this is not a problem, but might as well do it by the book.
25417         Reported by Rich Felker and Eric Blake; see
25418         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
25419         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
25420         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
25421         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25422         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
25423         * m4/stdint.m4 (gl_STDINT_H): Likewise.
25424         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
25425
25426         mktime: #undef mktime before #defining it
25427         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
25428
25429         mktime: systematically normalize tm_isdst comparisons
25430         * lib/mktime.c (isdst_differ): New function.
25431         (__mktime_internal): Use it systematically for all isdst comparisons.
25432         This completes the fix for libc BZ #6723, and removes the need for
25433         normalizing tm_isdst.  See
25434         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
25435         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
25436
25437         mktime: fix some integer overflow issues and sidestep the rest
25438
25439         This was prompted by a bug report by Benjamin Lindner for MinGW
25440         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
25441         His bug is due to signed integer overflow (0 - INT_MIN), and I
25442         I scanned through mktime.c looking for other integer overflow
25443         problems, fixing all the bugs I found.
25444
25445         Although the C Standard says the resulting code is still not safe
25446         in the presence of integer overflow, in practice it should be good
25447         enough for all real-world two's-complement implementations, except
25448         for debugging environments that deliberately trap on integer
25449         overflow (e.g., gcc -ftrapv).
25450
25451         * lib/mktime.c (WRAPV): New macro.
25452         (SHR): Also check that long_int and time_t shift right in the
25453         usual way, before using the fast-but-unportable method.
25454         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
25455         used.  The code already assumed two's complement, so there's
25456         no need to test for alternatives.  All uses removed.
25457         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
25458         the C standard.  Problem reported by Rich Felker in
25459         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
25460         (twos_complement_arithmetic): Also check long_int and time_t.
25461         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
25462         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
25463         (__mktime_internal): Avoid integer overflow with unary subtraction
25464         in two instances where -1 - X is an adequate replacement for -X,
25465         since the calculations are approximate.
25466
25467 2011-01-29  Eric Blake  <eblake@redhat.com>
25468
25469         mktime: avoid infinite loop
25470         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
25471         type; behavior is still undefined but portable to all known targets.
25472         Reported by Rich Felker.
25473
25474 2011-01-29  Simon Josefsson  <simon@josefsson.org>
25475
25476         rename, unlink, same-inode: Relicense.
25477         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
25478         * modules/unlink (License): Likewise.
25479         * modules/same-inode (License): Likewise.
25480
25481 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
25482
25483         mktime: avoid problems on NetBSD 5 / i386
25484         * lib/mktime.c (long_int): New type.  This works around a problem
25485         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
25486         but time_t is 64 bits, and where I expect the existing code is
25487         wrong in some cases.
25488         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
25489         (ydhms_diff): Bring back the compile-time check for wide-enough
25490         year and yday.
25491
25492         mktime: fix misspelling in comment
25493         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
25494         This merges all recent glibc changes of importance.
25495
25496 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25497
25498         move-if-change: cope with concurrent mv of identical file.
25499         * build-aux/move-if-change (CMPPROG): Accept environment
25500         variable as an override for `cmp'.
25501         (usage): Document CMPPROG.
25502         Adjust comparison to drop stdout.  Cope with failure of mv if
25503         the target file exists and is identical to the source, for
25504         parallel builds.
25505         Report from H.J. Lu against binutils in PR binutils/12283.
25506
25507 2011-01-28  Bruce Korb  <bkorb@gnu.org>
25508
25509         * users.txt: Mention sharutils.
25510
25511 2011-01-28  Simon Josefsson  <simon@josefsson.org>
25512
25513         * users.txt: Mention OATH Toolkit.
25514
25515 2011-01-27  Bruno Haible  <bruno@clisp.org>
25516
25517         Prepare for supporting FreeBSD 10.
25518         * build-aux/config.libpath: Remove handling of freebsd1*.
25519
25520 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
25521
25522         Prepare for supporting FreeBSD 10.
25523         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
25524         match FreeBSD 10.0.
25525
25526 2011-01-27  Bruno Haible  <bruno@clisp.org>
25527
25528         vma-iter, get-rusage-as: Add OpenBSD support.
25529         * modules/vma-iter (configure.ac): Test for mquery.
25530         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
25531         * lib/vma-iter.c: Include <sys/mman.h>.
25532         (vma_iterate): Add an implementation based on mquery().
25533         * lib/resource-ext.h (get_rusage_as): Update comments.
25534         * lib/get-rusage-as.c: Likewise.
25535         * lib/get-rusage-data.c: Likewise.
25536
25537 2011-01-26  Karl Berry  <karl@gnu.org>
25538
25539         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
25540         variables to make it easier to override the makeinfo program used.
25541
25542 2011-01-26  Eric Blake  <eblake@redhat.com>
25543
25544         fcntl: work around Haiku F_DUPFD bugs
25545         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
25546         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
25547         cloexec bit on duplication.
25548         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
25549
25550 2011-01-26  Bruno Haible  <bruno@clisp.org>
25551
25552         Enable memory leak tests on AIX.
25553         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
25554         * tests/test-fprintf-posix3.c (main): Likewise.
25555
25556 2011-01-26  Bruno Haible  <bruno@clisp.org>
25557
25558         Tests for module 'get-rusage-data'.
25559         * modules/get-rusage-data-tests: New file.
25560         * tests/test-get-rusage-data.c: New file.
25561
25562         New module 'get-rusage-data'.
25563         * lib/resource-ext.h (get_rusage_data): New declaration.
25564         * lib/get-rusage-data.c: New file.
25565         * modules/get-rusage-data: New file.
25566
25567 2011-01-25  Bruno Haible  <bruno@clisp.org>
25568
25569         get-rusage-as: Allow for easier testing.
25570         * lib/resource-ext.h (get_rusage_as): Add comment.
25571         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
25572         (main): New function for interactive testing.
25573
25574 2011-01-25  Bruno Haible  <bruno@clisp.org>
25575
25576         vma-iter: Treat Haiku like BeOS.
25577         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
25578         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
25579
25580 2011-01-25  Eric Blake  <eblake@redhat.com>
25581
25582         c-stack: fix regression on cygwin when libsigsegv is present
25583         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
25584
25585 2011-01-24  Bruno Haible  <bruno@clisp.org>
25586
25587         vma-iter: Avoid empty intervals.
25588         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
25589         on an empty interval.
25590
25591 2011-01-24  Jim Meyering  <meyering@redhat.com>
25592
25593         u64: remove unnecessary #include
25594         * lib/u64.h: Don't include <stddef.h>.  It was not used.
25595
25596 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
25597
25598         Allow the user to avoid the HAVE_RAW_DECL_* macros.
25599         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
25600
25601 2011-01-23  Bruno Haible  <bruno@clisp.org>
25602
25603         New module 'vma-iter'.
25604         * lib/vma-iter.h: New file.
25605         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
25606         * modules/vma-iter: New file.
25607         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
25608         for get_rusage_as_via_iterator.
25609         (vma_iterate_callback): New function.
25610         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
25611         * modules/get-rusage-as (Depends-on): Add vma-iter.
25612
25613 2011-01-23  Bruno Haible  <bruno@clisp.org>
25614
25615         uninorm: Tweak includes.
25616         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
25617         Reported by Jim Meyering.
25618
25619 2011-01-23  Bruno Haible  <bruno@clisp.org>
25620
25621         get-rusage-as: Improve on NetBSD.
25622         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
25623         /proc, like on FreeBSD.
25624
25625 2011-01-23  Jim Meyering  <meyering@redhat.com>
25626
25627         xreadlink.h: remove unnecessary #include
25628         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
25629
25630         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
25631         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
25632
25633 2011-01-23  Bruno Haible  <bruno@clisp.org>
25634
25635         get-rusage-as: Fix bug.
25636         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
25637         original limit when aborting the first loop.
25638
25639 2011-01-23  Bruno Haible  <bruno@clisp.org>
25640
25641         wctype: Ensure valid C syntax.
25642         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
25643         unconditionally, instead of gl_NEXT_HEADERS conditionally.
25644
25645 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
25646
25647         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
25648         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
25649         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
25650         as they are needed only for configure's test case.
25651         This removes two unnecessary symbols from config.h.
25652
25653         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
25654         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
25655         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
25656         AC_CHECK_HEADERS_ONCE on a header that we also invoke
25657         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
25658         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
25659         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
25660         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
25661         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
25662         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
25663         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
25664         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25665         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25666         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25667         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
25668         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25669         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
25670         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
25671
25672 2011-01-21  Eric Blake  <eblake@redhat.com>
25673
25674         maintainer-makefile: work with older git for submodule check
25675         * top/maint.mk (public-submodule-commit): Rewrite to avoid
25676         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
25677         Reported by Matthias Bolte.
25678
25679         bootstrap: minor portability fixes
25680         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
25681         (usage): Omit leading capital and trailing . on help phrases, per
25682         GNU Coding Standards.
25683         (check_versions, top level): Prefix messages with script name.
25684
25685 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
25686
25687         bootstrap: support --no-git option
25688         * build-aux/bootstrap: Add --no-git option, to be used when
25689         --gnulib-srcdir points to the exact desired checkout.
25690
25691 2011-01-21  Eric Blake  <eblake@redhat.com>
25692
25693         strerror_r-posix: work with glibc 2.13
25694         * lib/strerror_r.c (strerror_r): Fix return type.
25695
25696 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25697             Bruno Haible  <bruno@clisp.org>
25698
25699         uN_strstr: New unit tests.
25700         * modules/unistr/u8-strstr-tests: New file.
25701         * modules/unistr/u16-strstr-tests: New file.
25702         * modules/unistr/u32-strstr-tests: New file.
25703         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
25704         * tests/unistr/test-u8-strstr.c: New file.
25705         * tests/unistr/test-u16-strstr.c: New file.
25706         * tests/unistr/test-u32-strstr.c: New file.
25707
25708 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25709             Bruno Haible  <bruno@clisp.org>
25710
25711         Make uN_strstr functions O(n) worst-case.
25712         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
25713         16-bit and 32-bit unit cases, use the unibyte algorithm from
25714         lib/mbsstr.c.
25715         * lib/unistr/u8-strstr.c: Include <string.h>.
25716         (UNIT_IS_UINT8_T): New macro.
25717         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
25718         (U_STRLEN, U_STRNLEN): New macros.
25719         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
25720         (U_STRLEN, U_STRNLEN): New macros.
25721         * modules/unistr/u8-strstr (Depends-on): Add strstr.
25722         (configure.ac): Update required libunistring version.
25723         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
25724         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
25725         malloca.
25726         (configure.ac): Update required libunistring version.
25727         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
25728         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
25729         malloca.
25730         (configure.ac): Update required libunistring version.
25731
25732 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25733             Bruno Haible  <bruno@clisp.org>
25734
25735         Prepare for faster uN_strstr functions.
25736         * lib/str-kmp.h: Support definable UNITs.
25737         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
25738         needle_len argument.
25739         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
25740         * lib/mbscasestr.c (mbscasestr): Likewise.
25741
25742 2011-01-21  Pádraig Brady <P@draigBrady.com>
25743
25744         malloca-tests: make faster by unsetting MALLOC_PERTURB_
25745         * tests/test-malloca.c (main): Unset the environment variable
25746         to greatly speed up the test.
25747         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
25748         * modules/malloca-tests: Depend on unsetenv.
25749
25750 2011-01-21  Pádraig Brady <P@draigBrady.com>
25751
25752         ignore-value: remove stdint dependency
25753         * lib/ignore-value.h: Remove <stdint.h>
25754         * modules/ignore-value: Remove stdint dependency.
25755
25756 2011-01-21  Jim Meyering  <meyering@redhat.com>
25757
25758         maint.mk: adjust variable name to be consistent with other gl_ vars
25759         * top/maint.mk (gl_public_submodule_commit): Rename the variable
25760         to be lower case.
25761
25762 2011-01-20  Jim Meyering  <meyering@redhat.com>
25763
25764         maint.mk: make "check" depend on public-submodule-commit by default
25765         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
25766
25767 2011-01-20  Bruno Haible  <bruno@clisp.org>
25768
25769         mbfile, mbiter: Complete change from 2008-12-21.
25770         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
25771         * m4/mbiter.m4 (gl_MBITER): Likewise.
25772
25773 2011-01-20  Jim Meyering  <meyering@redhat.com>
25774
25775         init.sh: insert space between each function name and "()"
25776         * tests/init.sh: Make it a little easier to see that a function's
25777         name is "warn_", and not "warn" when looking at the first part of
25778         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
25779
25780 2011-01-20  Jim Meyering  <meyering@redhat.com>
25781
25782         mountlist: clean up code formatting
25783         * lib/mountlist.c (read_file_system_list): Split a long line,
25784         correct bracing style, use NULL in place of "(struct statfs *)0",
25785         don't parenthesize return value, add spaces around "=" and after
25786         ";-in-for-stmt".
25787
25788 2011-01-14  Markus Duft <mduft@gentoo.org>
25789
25790         mountlist: add support for Interix
25791         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
25792         Apply statvfs to all entries of /dev/fs.
25793         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
25794         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
25795
25796 2011-01-20  Jim Meyering  <meyering@redhat.com>
25797
25798         maint.mk: improve the public-submodule-commit rule
25799         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
25800         to suppress printing of its commands... unless V=1.
25801         Add git submodule's --quiet option to suppress printing of e.g.,
25802         "Entering gnulib" output.
25803         "cd" into $(srcdir) before running git submodule.
25804
25805 2011-01-20  Bruno Haible  <bruno@clisp.org>
25806
25807         include_next: Fix bug introduced on 2011-01-18.
25808         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
25809         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
25810         ac_cv_header_... variable if the second argument is not 'check'.
25811         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
25812         gl_NEXT_HEADERS_INTERNAL.
25813
25814 2011-01-20  Bruno Haible  <bruno@clisp.org>
25815
25816         Allow the user to avoid the GNULIB_TEST_* macros.
25817         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
25818         Suggested by Paul Eggert.
25819
25820 2011-01-14  Jim Meyering  <meyering@redhat.com>
25821
25822         bootstrap: avoid failure when there is no .gitmodules file
25823         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
25824         has been assigned to, even when its value is the empty string.
25825         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
25826         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
25827         Reported by John W. Eaton <jwe@gnu.org>.
25828
25829 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
25830
25831         assume <ctype.h>, ..., <time.h> exist
25832         For years gnulib has been assuming the existence of the headers
25833         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
25834         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
25835         them, since they don't appear to be needed.
25836         * README (Portability guidelines): Document this.
25837         * lib/flock.c: Assume <fcntl.h> exists.
25838         * lib/regex_internal.h: Assume <locale.h> exists.
25839         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
25840         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
25841         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
25842         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
25843         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
25844         * m4/regex.m4 (gl_REGEX): Likewise.
25845         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
25846         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
25847         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
25848         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
25849         * tests/test-argp.c: Likewise.
25850         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
25851
25852         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
25853         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
25854         AA_APPLE_UNIVERSAL_BUILD.  See
25855         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
25856         * NEWS: Document this.
25857
25858 2011-01-19  Eric Blake  <eblake@redhat.com>
25859
25860         c-stack: assume stack overflow if SA_SIGINFO unsupported
25861         * lib/c-stack.c (SIGACTION_WORKS): Rename...
25862         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
25863         sigaction will work.
25864         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
25865         behavior match Linux.
25866         * tests/test-c-stack.c (main): Prefer NULL for pointers.
25867
25868         stdbool-tests: accommodate Haiku
25869         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
25870
25871         binary-io: fix O_TEXT on Haiku
25872         * modules/binary-io (Depends-on): Add fcntl-h.
25873         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
25874         than blindly undefining O_TEXT.
25875         Reported by Scott McCreary.
25876
25877 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25878
25879         include_next: do not check for standard headers like stddef.h
25880
25881         I found this problem when modifying Emacs to use gnulib.
25882         I noticed that it added HAVE_STDDEF_H to config.h, even though
25883         gnulib always assumes <stddef.h> exists as per README and this
25884         symbol is unnecessary.
25885         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
25886         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
25887         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
25888         faster for headers like stddef.h that are known to exist.
25889         (gl_CHECK_NEXT_HEADERS): Use it.
25890         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
25891         rather than gl_CHECK_NEXT_HEADERS.
25892         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
25893         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
25894
25895 2011-01-18  Eric Blake  <eblake@redhat.com>
25896
25897         ansi-c++-opt: skip C++ dependency style if C++ is unused
25898         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
25899         tests when we know C++ compilation is not desired.
25900         Reported by Scott McCreary.
25901
25902 2011-01-18  Bruno Haible  <bruno@clisp.org>
25903
25904         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
25905         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
25906         (main): Perform test also when getrlimit and setrlimit don't exist or
25907         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
25908         limiting the address space size using setrlimit, compare the address
25909         space size before and after the the test.
25910         * tests/test-dprintf-posix2.c: Likewise.
25911         * tests/test-fprintf-posix3.sh: Update skip messages.
25912         * tests/test-dprintf-posix2.sh: Likewise.
25913         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
25914         * modules/dprintf-posix-tests (Depends-on): Likewise.
25915         Reported by Bruce Korb <bkorb@gnu.org> and
25916         Gary V. Vaughan <gary@gnu.org>.
25917
25918 2011-01-18  Bruno Haible  <bruno@clisp.org>
25919
25920         get-rusage-as: Improvement for Cygwin.
25921         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
25922         areas that are merely reserved.
25923
25924 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25925
25926         strftime: remove dependencies on multibyte modules
25927
25928         strftime depended on mbrlen, mbsinit, and wchar, but these modules
25929         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
25930         only if __osf__ is defined, and I suspect OSF doesn't need these
25931         other modules.  If my guess is wrong, we'll need to come up with a
25932         variant of strftime that doesn't need the multibyte modules.
25933
25934         I discovered this problem when attempting modify Emacs to use the
25935         strftime module.  With the previous gnulib, this caused Emacs to
25936         need 31 new files, ranging from lib/config.charset to
25937         m4/wint_t.m4.  This was overkill and I expect would be offputting
25938         to the Emacs maintainers.  After this change, only 6 new files are
25939         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
25940         stdbool.m4, and tm_gmtoff.m4.
25941
25942         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
25943         Suggested by Bruno Haible in
25944         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
25945         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
25946         and do not check for wchar.h.
25947         * modules/strftime (Files): Remove m4/mbstate_t.m4.
25948         (Depends-on): Remove mbrlen, mbsinit, wchar.
25949
25950 2011-01-18  Bruno Haible  <bruno@clisp.org>
25951
25952         Tests for module 'get-rusage-as'.
25953         * modules/get-rusage-as-tests: New file.
25954         * tests/test-get-rusage-as.c: New file.
25955
25956         New module 'get-rusage-as'.
25957         * modules/get-rusage-as: New file.
25958         * lib/resource-ext.h: New file.
25959         * lib/get-rusage-as.c: New file.
25960
25961 2011-01-17  Eric Blake  <eblake@redhat.com>
25962
25963         sigaction: relax license from LGPLv3+ to LGPLv2+
25964         * modules/sigaction (License): Relax to LGPLv2+.
25965
25966 2011-01-14  Bruno Haible  <bruno@clisp.org>
25967
25968         filemode: Make function declarations usable in C++ mode.
25969         * lib/filemode.h: Enclose function declarations in extern "C" block.
25970         Reported by John W. Eaton <jwe@gnu.org>.
25971
25972 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
25973
25974         save-cwd: no longer include "xgetcwd.h"
25975         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
25976         This avoids a compilation failure in projects that use save-cwd
25977         without also using the xgetcwd module.
25978
25979 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25980
25981         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
25982         This is so that a program like Emacs, which needs only dtoastr,
25983         does not have to bother with distributing and compiling ftoastr
25984         and ldtoastr.
25985         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
25986         * modules/dtoastr, modules/ldtoastr: New files.
25987         * modules/ftoastr: Now works just for 'float'.
25988         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
25989         (Makefile.am): Remove ftoastr.h (not needed and no effect),
25990         dtoastr.c, ldtoastr.c.
25991
25992 2011-01-11  Jim Meyering  <meyering@redhat.com>
25993
25994         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
25995         There is no need to work around the lack of the fchdir function,
25996         since gnulib can now provide a replacement when required.
25997         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
25998         * modules/save-cwd (Depends-on): Add fchdir.
25999
26000 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
26001
26002         openat, save-cwd: avoid xmalloc
26003
26004         This removes a direct (but undocumented) dependency of openat on
26005         xalloc, along with an indirect dependency via save-cwd.  It also
26006         removes a dependency of save-cwd on xgetcwd, and thereby
26007         indirectly on xalloc.  This change causes the openat substitute
26008         to fall back on save_cwd when memory is tight, and for save_cwd to
26009         fail instead of dying when memory is tight, but that's good enough.
26010         Problem and initial idea for fix reported by Bastien Roucaries in
26011         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
26012
26013         * lib/openat-proc.c: Include stdlib.h (for malloc), not
26014         xalloc.h (for xmalloc).
26015         (openat_proc_name): Use malloc, not xmalloc.
26016         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
26017         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
26018
26019         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
26020         This avoids heap allocation for file names whose lengths are in
26021         the range 512..1023, with the upper bound increasing to at most
26022         4031 depending on the platform's PATH_MAX.  (We do not want
26023         pathmax.h here as it might supply a non-constant PATH_MAX.)
26024         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
26025         Perhaps they should be moved to malloca.h?
26026         (OPENAT_BUFFER_SIZE): Use them.
26027
26028 2011-01-10  Bruno Haible  <bruno@clisp.org>
26029
26030         doc: Update users.txt.
26031         * users.txt: Add recutils.
26032
26033 2011-01-09  Karl Berry  <karl@gnu.org>
26034
26035         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
26036
26037         * doc/configmake.texi: New file.
26038         * doc/gnulib.texi: Include it.
26039         * modules/configmake: Move documentation from here.
26040
26041 2011-01-09  Bruno Haible  <bruno@clisp.org>
26042
26043         Update to Unicode 6.0.0.
26044         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
26045         (get_lbp): Update for Unicode 6.0.0.
26046         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
26047         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
26048         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
26049         U+11001, U+11038..U+11046. Remove U+06DE.
26050         (uc_width): Fix bounds of planes.
26051         * tests/uniwidth/test-uc_width2.sh: Same updates as in
26052         lib/uniwidth/width.c.
26053         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
26054         trailing whitespace removed.
26055         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
26056         without comments, but with the original copyright notice.
26057         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
26058         * lib/unicase/ignorable.h: Likewise.
26059         * lib/unicase/tocasefold.h: Likewise.
26060         * lib/unicase/tolower.h: Likewise.
26061         * lib/unicase/totitle.h: Likewise.
26062         * lib/unicase/toupper.h: Likewise.
26063         * lib/unictype/bidi_of.h: Likewise.
26064         * lib/unictype/blocks.h: Likewise.
26065         * lib/unictype/categ_C.h: Likewise.
26066         * lib/unictype/categ_Cn.h: Likewise.
26067         * lib/unictype/categ_L.h: Likewise.
26068         * lib/unictype/categ_Ll.h: Likewise.
26069         * lib/unictype/categ_Lm.h: Likewise.
26070         * lib/unictype/categ_Lo.h: Likewise.
26071         * lib/unictype/categ_Lu.h: Likewise.
26072         * lib/unictype/categ_M.h: Likewise.
26073         * lib/unictype/categ_Mc.h: Likewise.
26074         * lib/unictype/categ_Me.h: Likewise.
26075         * lib/unictype/categ_Mn.h: Likewise.
26076         * lib/unictype/categ_N.h: Likewise.
26077         * lib/unictype/categ_Nd.h: Likewise.
26078         * lib/unictype/categ_No.h: Likewise.
26079         * lib/unictype/categ_P.h: Likewise.
26080         * lib/unictype/categ_Po.h: Likewise.
26081         * lib/unictype/categ_S.h: Likewise.
26082         * lib/unictype/categ_Sc.h: Likewise.
26083         * lib/unictype/categ_Sk.h: Likewise.
26084         * lib/unictype/categ_Sm.h: Likewise.
26085         * lib/unictype/categ_So.h: Likewise.
26086         * lib/unictype/categ_of.h: Likewise.
26087         * lib/unictype/combining.h: Likewise.
26088         * lib/unictype/ctype_alnum.h: Likewise.
26089         * lib/unictype/ctype_alpha.h: Likewise.
26090         * lib/unictype/ctype_graph.h: Likewise.
26091         * lib/unictype/ctype_lower.h: Likewise.
26092         * lib/unictype/ctype_print.h: Likewise.
26093         * lib/unictype/ctype_punct.h: Likewise.
26094         * lib/unictype/ctype_upper.h: Likewise.
26095         * lib/unictype/decdigit.h: Likewise.
26096         * lib/unictype/digit.h: Likewise.
26097         * lib/unictype/numeric.h: Likewise.
26098         * lib/unictype/pr_alphabetic.h: Likewise.
26099         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
26100         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
26101         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
26102         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
26103         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
26104         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
26105         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
26106         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
26107         * lib/unictype/pr_case_ignorable.h: Likewise.
26108         * lib/unictype/pr_cased.h: Likewise.
26109         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
26110         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
26111         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
26112         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
26113         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
26114         * lib/unictype/pr_combining.h: Likewise.
26115         * lib/unictype/pr_composite.h: Likewise.
26116         * lib/unictype/pr_currency_symbol.h: Likewise.
26117         * lib/unictype/pr_decimal_digit.h: Likewise.
26118         * lib/unictype/pr_deprecated.h: Likewise.
26119         * lib/unictype/pr_format_control.h: Likewise.
26120         * lib/unictype/pr_grapheme_base.h: Likewise.
26121         * lib/unictype/pr_grapheme_extend.h: Likewise.
26122         * lib/unictype/pr_grapheme_link.h: Likewise.
26123         * lib/unictype/pr_id_continue.h: Likewise.
26124         * lib/unictype/pr_id_start.h: Likewise.
26125         * lib/unictype/pr_ideographic.h: Likewise.
26126         * lib/unictype/pr_lowercase.h: Likewise.
26127         * lib/unictype/pr_math.h: Likewise.
26128         * lib/unictype/pr_numeric.h: Likewise.
26129         * lib/unictype/pr_other_alphabetic.h: Likewise.
26130         * lib/unictype/pr_other_id_continue.h: Likewise.
26131         * lib/unictype/pr_other_math.h: Likewise.
26132         * lib/unictype/pr_punctuation.h: Likewise.
26133         * lib/unictype/pr_sentence_terminal.h: Likewise.
26134         * lib/unictype/pr_terminal_punctuation.h: Likewise.
26135         * lib/unictype/pr_unassigned_code_value.h: Likewise.
26136         * lib/unictype/pr_unified_ideograph.h: Likewise.
26137         * lib/unictype/pr_uppercase.h: Likewise.
26138         * lib/unictype/pr_xid_continue.h: Likewise.
26139         * lib/unictype/pr_xid_start.h: Likewise.
26140         * lib/unictype/scripts.h: Likewise.
26141         * lib/unictype/scripts_byname.gperf: Likewise.
26142         * lib/unictype/sy_java_ident.h: Likewise.
26143         * lib/unigbrk/gbrkprop.h: Likewise.
26144         * lib/unilbrk/lbrkprop1.h: Likewise.
26145         * lib/unilbrk/lbrkprop2.h: Likewise.
26146         * lib/uninorm/decomposition-table2.h: Likewise.
26147         * lib/uniwbrk/wbrkprop.h: Likewise.
26148         * tests/unicase/test-cased.c: Likewise.
26149         * tests/unicase/test-ignorable.c: Likewise.
26150         * tests/unicase/test-uc_tolower.c: Likewise.
26151         * tests/unicase/test-uc_totitle.c: Likewise.
26152         * tests/unicase/test-uc_toupper.c: Likewise.
26153         * tests/unictype/test-categ_C.c: Likewise.
26154         * tests/unictype/test-categ_Cn.c: Likewise.
26155         * tests/unictype/test-categ_L.c: Likewise.
26156         * tests/unictype/test-categ_Ll.c: Likewise.
26157         * tests/unictype/test-categ_Lm.c: Likewise.
26158         * tests/unictype/test-categ_Lo.c: Likewise.
26159         * tests/unictype/test-categ_Lu.c: Likewise.
26160         * tests/unictype/test-categ_M.c: Likewise.
26161         * tests/unictype/test-categ_Mc.c: Likewise.
26162         * tests/unictype/test-categ_Me.c: Likewise.
26163         * tests/unictype/test-categ_Mn.c: Likewise.
26164         * tests/unictype/test-categ_N.c: Likewise.
26165         * tests/unictype/test-categ_Nd.c: Likewise.
26166         * tests/unictype/test-categ_No.c: Likewise.
26167         * tests/unictype/test-categ_P.c: Likewise.
26168         * tests/unictype/test-categ_Po.c: Likewise.
26169         * tests/unictype/test-categ_S.c: Likewise.
26170         * tests/unictype/test-categ_Sc.c: Likewise.
26171         * tests/unictype/test-categ_Sk.c: Likewise.
26172         * tests/unictype/test-categ_Sm.c: Likewise.
26173         * tests/unictype/test-categ_So.c: Likewise.
26174         * tests/unictype/test-ctype_alnum.c: Likewise.
26175         * tests/unictype/test-ctype_alpha.c: Likewise.
26176         * tests/unictype/test-ctype_graph.c: Likewise.
26177         * tests/unictype/test-ctype_lower.c: Likewise.
26178         * tests/unictype/test-ctype_print.c: Likewise.
26179         * tests/unictype/test-ctype_punct.c: Likewise.
26180         * tests/unictype/test-ctype_upper.c: Likewise.
26181         * tests/unictype/test-decdigit.h: Likewise.
26182         * tests/unictype/test-digit.h: Likewise.
26183         * tests/unictype/test-numeric.h: Likewise.
26184         * tests/unictype/test-pr_alphabetic.c: Likewise.
26185         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26186         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
26187         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
26188         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26189         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26190         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26191         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26192         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26193         * tests/unictype/test-pr_case_ignorable.c: Likewise.
26194         * tests/unictype/test-pr_cased.c: Likewise.
26195         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
26196         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
26197         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
26198         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
26199         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
26200         * tests/unictype/test-pr_combining.c: Likewise.
26201         * tests/unictype/test-pr_composite.c: Likewise.
26202         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26203         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26204         * tests/unictype/test-pr_deprecated.c: Likewise.
26205         * tests/unictype/test-pr_format_control.c: Likewise.
26206         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26207         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26208         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26209         * tests/unictype/test-pr_id_continue.c: Likewise.
26210         * tests/unictype/test-pr_id_start.c: Likewise.
26211         * tests/unictype/test-pr_ideographic.c: Likewise.
26212         * tests/unictype/test-pr_lowercase.c: Likewise.
26213         * tests/unictype/test-pr_math.c: Likewise.
26214         * tests/unictype/test-pr_numeric.c: Likewise.
26215         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26216         * tests/unictype/test-pr_other_id_continue.c: Likewise.
26217         * tests/unictype/test-pr_other_math.c: Likewise.
26218         * tests/unictype/test-pr_punctuation.c: Likewise.
26219         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26220         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26221         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26222         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26223         * tests/unictype/test-pr_uppercase.c: Likewise.
26224         * tests/unictype/test-pr_xid_continue.c: Likewise.
26225         * tests/unictype/test-pr_xid_start.c: Likewise.
26226         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
26227         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
26228         changes.
26229         * lib/unictype/categ_Cc.h: Likewise.
26230         * lib/unictype/categ_Cf.h: Likewise.
26231         * lib/unictype/categ_Co.h: Likewise.
26232         * lib/unictype/categ_Cs.h: Likewise.
26233         * lib/unictype/categ_Lt.h: Likewise.
26234         * lib/unictype/categ_Nl.h: Likewise.
26235         * lib/unictype/categ_Pc.h: Likewise.
26236         * lib/unictype/categ_Pd.h: Likewise.
26237         * lib/unictype/categ_Pe.h: Likewise.
26238         * lib/unictype/categ_Pf.h: Likewise.
26239         * lib/unictype/categ_Pi.h: Likewise.
26240         * lib/unictype/categ_Ps.h: Likewise.
26241         * lib/unictype/categ_Z.h: Likewise.
26242         * lib/unictype/categ_Zl.h: Likewise.
26243         * lib/unictype/categ_Zp.h: Likewise.
26244         * lib/unictype/categ_Zs.h: Likewise.
26245         * lib/unictype/ctype_blank.h: Likewise.
26246         * lib/unictype/ctype_cntrl.h: Likewise.
26247         * lib/unictype/ctype_digit.h: Likewise.
26248         * lib/unictype/ctype_space.h: Likewise.
26249         * lib/unictype/ctype_xdigit.h: Likewise.
26250         * lib/unictype/mirror.h: Likewise.
26251         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26252         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26253         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26254         * lib/unictype/pr_bidi_control.h: Likewise.
26255         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26256         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26257         * lib/unictype/pr_bidi_european_digit.h: Likewise.
26258         * lib/unictype/pr_bidi_pdf.h: Likewise.
26259         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26260         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26261         * lib/unictype/pr_dash.h: Likewise.
26262         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26263         * lib/unictype/pr_diacritic.h: Likewise.
26264         * lib/unictype/pr_extender.h: Likewise.
26265         * lib/unictype/pr_hex_digit.h: Likewise.
26266         * lib/unictype/pr_hyphen.h: Likewise.
26267         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26268         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26269         * lib/unictype/pr_ignorable_control.h: Likewise.
26270         * lib/unictype/pr_iso_control.h: Likewise.
26271         * lib/unictype/pr_join_control.h: Likewise.
26272         * lib/unictype/pr_left_of_pair.h: Likewise.
26273         * lib/unictype/pr_line_separator.h: Likewise.
26274         * lib/unictype/pr_logical_order_exception.h: Likewise.
26275         * lib/unictype/pr_non_break.h: Likewise.
26276         * lib/unictype/pr_not_a_character.h: Likewise.
26277         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26278         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26279         * lib/unictype/pr_other_id_start.h: Likewise.
26280         * lib/unictype/pr_other_lowercase.h: Likewise.
26281         * lib/unictype/pr_other_uppercase.h: Likewise.
26282         * lib/unictype/pr_paired_punctuation.h: Likewise.
26283         * lib/unictype/pr_paragraph_separator.h: Likewise.
26284         * lib/unictype/pr_pattern_syntax.h: Likewise.
26285         * lib/unictype/pr_pattern_white_space.h: Likewise.
26286         * lib/unictype/pr_private_use.h: Likewise.
26287         * lib/unictype/pr_quotation_mark.h: Likewise.
26288         * lib/unictype/pr_radical.h: Likewise.
26289         * lib/unictype/pr_soft_dotted.h: Likewise.
26290         * lib/unictype/pr_space.h: Likewise.
26291         * lib/unictype/pr_titlecase.h: Likewise.
26292         * lib/unictype/pr_variation_selector.h: Likewise.
26293         * lib/unictype/pr_white_space.h: Likewise.
26294         * lib/unictype/pr_zero_width.h: Likewise.
26295         * lib/unictype/sy_c_ident.h: Likewise.
26296         * lib/unictype/sy_c_whitespace.h: Likewise.
26297         * lib/unictype/sy_java_whitespace.h: Likewise.
26298         * lib/uninorm/composition-table.gperf: Likewise.
26299         * lib/uninorm/decomposition-table1.h: Likewise.
26300         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
26301         LB8.
26302         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26303         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26304         * modules/unictype/*: Bump version number of expected libunistring
26305         version.
26306
26307 2011-01-09  Bruno Haible  <bruno@clisp.org>
26308
26309         Update to Unicode 5.2.0.
26310         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
26311         trailing whitespace removed.
26312
26313 2011-01-09  Bruno Haible  <bruno@clisp.org>
26314
26315         New Unicode character properties, from Unicode 5.2.0.
26316         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
26317         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
26318         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
26319         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
26320         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
26321         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
26322         uc_is_property_cased, uc_is_property_case_ignorable,
26323         uc_is_property_changes_when_lowercased,
26324         uc_is_property_changes_when_uppercased,
26325         uc_is_property_changes_when_titlecased,
26326         uc_is_property_changes_when_casefolded,
26327         uc_is_property_changes_when_casemapped): New declarations.
26328         * lib/unictype/pr_byname.gperf: Add the new properties.
26329         * modules/unictype/property-byname (Depends-on): Depend on the new
26330         properties modules.
26331         * modules/unictype/property-all (Depends-on): Likewise.
26332         * MODULES.html.sh (Unicode string functions): Add
26333         unictype/property-case-ignorable, unictype/property-cased,
26334         unictype/property-changes-when-casefolded,
26335         unictype/property-changes-when-casemapped,
26336         unictype/property-changes-when-lowercased,
26337         unictype/property-changes-when-titlecased,
26338         unictype/property-changes-when-uppercased.
26339
26340         New module 'unictype/property-changes-when-casemapped'.
26341         * modules/unictype/property-changes-when-casemapped: New file.
26342         * lib/unictype/pr_changes_when_casemapped.c: New file.
26343         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
26344         generated by gen-uni-tables.
26345         * modules/unictype/property-changes-when-casemapped-tests: New file.
26346         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
26347         automatically generated by gen-uni-tables.
26348
26349         New module 'unictype/property-changes-when-casefolded'.
26350         * modules/unictype/property-changes-when-casefolded: New file.
26351         * lib/unictype/pr_changes_when_casefolded.c: New file.
26352         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
26353         generated by gen-uni-tables.
26354         * modules/unictype/property-changes-when-casefolded-tests: New file.
26355         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
26356         automatically generated by gen-uni-tables.
26357
26358         New module 'unictype/property-changes-when-titlecased'.
26359         * modules/unictype/property-changes-when-titlecased: New file.
26360         * lib/unictype/pr_changes_when_titlecased.c: New file.
26361         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
26362         generated by gen-uni-tables.
26363         * modules/unictype/property-changes-when-titlecased-tests: New file.
26364         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
26365         automatically generated by gen-uni-tables.
26366
26367         New module 'unictype/property-changes-when-uppercased'.
26368         * modules/unictype/property-changes-when-uppercased: New file.
26369         * lib/unictype/pr_changes_when_uppercased.c: New file.
26370         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
26371         generated by gen-uni-tables.
26372         * modules/unictype/property-changes-when-uppercased-tests: New file.
26373         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
26374         automatically generated by gen-uni-tables.
26375
26376         New module 'unictype/property-changes-when-lowercased'.
26377         * modules/unictype/property-changes-when-lowercased: New file.
26378         * lib/unictype/pr_changes_when_lowercased.c: New file.
26379         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
26380         generated by gen-uni-tables.
26381         * modules/unictype/property-changes-when-lowercased-tests: New file.
26382         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
26383         automatically generated by gen-uni-tables.
26384
26385         New module 'unictype/property-case-ignorable'.
26386         * modules/unictype/property-case-ignorable: New file.
26387         * lib/unictype/pr_case_ignorable.c: New file.
26388         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
26389         by gen-uni-tables.
26390         * modules/unictype/property-case-ignorable-tests: New file.
26391         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
26392         generated by gen-uni-tables.
26393
26394         New module 'unictype/property-cased'.
26395         * modules/unictype/property-cased: New file.
26396         * lib/unictype/pr_cased.c: New file.
26397         * lib/unictype/pr_cased.h: New file, automatically generated by
26398         gen-uni-tables.
26399         * modules/unictype/property-cased-tests: New file.
26400         * tests/unictype/test-pr_cased.c: New file, automatically generated by
26401         gen-uni-tables.
26402
26403 2011-01-09  Bruno Haible  <bruno@clisp.org>
26404
26405         Update to Unicode 5.2.0.
26406         * lib/gen-uni-tables.c (output_predicate, output_category,
26407         output_combclass, output_bidi_category, output_decimal_digit_test,
26408         output_decimal_digit, output_digit_test, output_digit,
26409         output_numeric_test, output_numeric, output_mirror, output_scripts,
26410         output_scripts_byname, output_blocks, output_ident_category): Fix
26411         comment header.
26412         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
26413         get_wbp.
26414         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
26415         items.
26416         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
26417         Changes_When_Lowercased, Changes_When_Uppercased,
26418         Changes_When_Titlecased, Changes_When_Casefolded,
26419         Changes_When_Casemapped.
26420         (is_property_alphabetic, is_property_default_ignorable_code_point):
26421         Update for Unicode 5.2.0.
26422         (is_property_cased, is_property_case_ignorable,
26423         is_property_changes_when_lowercased,
26424         is_property_changes_when_uppercased,
26425         is_property_changes_when_titlecased,
26426         is_property_changes_when_casefolded,
26427         is_property_changes_when_casemapped): New functions.
26428         (output_properties): Output also the properties cased, case_ignorable,
26429         changes_when_lowercased, changes_when_uppercased,
26430         changes_when_titlecased, changes_when_casefolded,
26431         changes_when_casemapped.
26432         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
26433         Unicode TR#11 revision 17 -> 19.
26434         (LBP_CP): New enumeration value.
26435         (LBP_*): Adjust values accordingly.
26436         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
26437         TR#14 revision 22 -> 24.
26438         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
26439         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
26440         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
26441         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
26442         is_WBP_MIDLETTER.
26443         (output_composition_tables): Allow for 24 bits instead of 16 bits in
26444         the code1 and code2 of each composition rule.
26445         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
26446         * lib/unicase/ignorable.h: Likewise.
26447         * lib/unicase/tocasefold.h: Likewise.
26448         * lib/unicase/tolower.h: Likewise.
26449         * lib/unicase/totitle.h: Likewise.
26450         * lib/unicase/toupper.h: Likewise.
26451         * lib/unictype/bidi_of.h: Likewise.
26452         * lib/unictype/blocks.h: Likewise.
26453         * lib/unictype/categ_C.h: Likewise.
26454         * lib/unictype/categ_Cf.h: Likewise.
26455         * lib/unictype/categ_Cn.h: Likewise.
26456         * lib/unictype/categ_L.h: Likewise.
26457         * lib/unictype/categ_Ll.h: Likewise.
26458         * lib/unictype/categ_Lm.h: Likewise.
26459         * lib/unictype/categ_Lo.h: Likewise.
26460         * lib/unictype/categ_Lu.h: Likewise.
26461         * lib/unictype/categ_M.h: Likewise.
26462         * lib/unictype/categ_Mc.h: Likewise.
26463         * lib/unictype/categ_Mn.h: Likewise.
26464         * lib/unictype/categ_N.h: Likewise.
26465         * lib/unictype/categ_Nd.h: Likewise.
26466         * lib/unictype/categ_Nl.h: Likewise.
26467         * lib/unictype/categ_No.h: Likewise.
26468         * lib/unictype/categ_P.h: Likewise.
26469         * lib/unictype/categ_Pd.h: Likewise.
26470         * lib/unictype/categ_Po.h: Likewise.
26471         * lib/unictype/categ_S.h: Likewise.
26472         * lib/unictype/categ_Sc.h: Likewise.
26473         * lib/unictype/categ_So.h: Likewise.
26474         * lib/unictype/categ_of.h: Likewise.
26475         * lib/unictype/combining.h: Likewise.
26476         * lib/unictype/ctype_alnum.h: Likewise.
26477         * lib/unictype/ctype_alpha.h: Likewise.
26478         * lib/unictype/ctype_graph.h: Likewise.
26479         * lib/unictype/ctype_lower.h: Likewise.
26480         * lib/unictype/ctype_print.h: Likewise.
26481         * lib/unictype/ctype_punct.h: Likewise.
26482         * lib/unictype/ctype_upper.h: Likewise.
26483         * lib/unictype/decdigit.h: Likewise.
26484         * lib/unictype/digit.h: Likewise.
26485         * lib/unictype/numeric.h: Likewise.
26486         * lib/unictype/pr_alphabetic.h: Likewise.
26487         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
26488         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
26489         * lib/unictype/pr_bidi_european_digit.h: Likewise.
26490         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
26491         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
26492         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
26493         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
26494         * lib/unictype/pr_combining.h: Likewise.
26495         * lib/unictype/pr_composite.h: Likewise.
26496         * lib/unictype/pr_currency_symbol.h: Likewise.
26497         * lib/unictype/pr_dash.h: Likewise.
26498         * lib/unictype/pr_decimal_digit.h: Likewise.
26499         * lib/unictype/pr_deprecated.h: Likewise.
26500         * lib/unictype/pr_diacritic.h: Likewise.
26501         * lib/unictype/pr_extender.h: Likewise.
26502         * lib/unictype/pr_grapheme_base.h: Likewise.
26503         * lib/unictype/pr_grapheme_extend.h: Likewise.
26504         * lib/unictype/pr_grapheme_link.h: Likewise.
26505         * lib/unictype/pr_id_continue.h: Likewise.
26506         * lib/unictype/pr_id_start.h: Likewise.
26507         * lib/unictype/pr_ideographic.h: Likewise.
26508         * lib/unictype/pr_ignorable_control.h: Likewise.
26509         * lib/unictype/pr_logical_order_exception.h: Likewise.
26510         * lib/unictype/pr_lowercase.h: Likewise.
26511         * lib/unictype/pr_numeric.h: Likewise.
26512         * lib/unictype/pr_other_alphabetic.h: Likewise.
26513         * lib/unictype/pr_punctuation.h: Likewise.
26514         * lib/unictype/pr_sentence_terminal.h: Likewise.
26515         * lib/unictype/pr_terminal_punctuation.h: Likewise.
26516         * lib/unictype/pr_unassigned_code_value.h: Likewise.
26517         * lib/unictype/pr_unified_ideograph.h: Likewise.
26518         * lib/unictype/pr_uppercase.h: Likewise.
26519         * lib/unictype/pr_xid_continue.h: Likewise.
26520         * lib/unictype/pr_xid_start.h: Likewise.
26521         * lib/unictype/pr_zero_width.h: Likewise.
26522         * lib/unictype/scripts.h: Likewise.
26523         * lib/unictype/scripts_byname.gperf: Likewise.
26524         * lib/unictype/sy_java_ident.h: Likewise.
26525         * lib/unigbrk/gbrkprop.h: Likewise.
26526         * lib/unilbrk/lbrkprop1.h: Likewise.
26527         * lib/unilbrk/lbrkprop2.h: Likewise.
26528         * lib/unilbrk/lbrktables.h: Likewise.
26529         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
26530         LBP_CP. Implement rule LB30.
26531         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
26532         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
26533         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
26534         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
26535         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
26536         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
26537         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
26538         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
26539         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
26540         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
26541         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
26542         bits instead of 16 bits in the code1 and code2 of each composition
26543         rule.
26544         (uc_composition): Update for Unicode 5.2.0.
26545         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
26546         * lib/uninorm/decomposition-table2.h: Likewise.
26547         * lib/uniwbrk/wbrkprop.h: Likewise.
26548         * tests/unicase/test-cased.c: Likewise.
26549         * tests/unicase/test-ignorable.c: Likewise.
26550         * tests/unicase/test-uc_tolower.c: Likewise.
26551         * tests/unicase/test-uc_totitle.c: Likewise.
26552         * tests/unicase/test-uc_toupper.c: Likewise.
26553         * tests/unictype/test-categ_C.c: Likewise.
26554         * tests/unictype/test-categ_Cf.c: Likewise.
26555         * tests/unictype/test-categ_Cn.c: Likewise.
26556         * tests/unictype/test-categ_L.c: Likewise.
26557         * tests/unictype/test-categ_Ll.c: Likewise.
26558         * tests/unictype/test-categ_Lm.c: Likewise.
26559         * tests/unictype/test-categ_Lo.c: Likewise.
26560         * tests/unictype/test-categ_Lu.c: Likewise.
26561         * tests/unictype/test-categ_M.c: Likewise.
26562         * tests/unictype/test-categ_Mc.c: Likewise.
26563         * tests/unictype/test-categ_Mn.c: Likewise.
26564         * tests/unictype/test-categ_N.c: Likewise.
26565         * tests/unictype/test-categ_Nd.c: Likewise.
26566         * tests/unictype/test-categ_Nl.c: Likewise.
26567         * tests/unictype/test-categ_No.c: Likewise.
26568         * tests/unictype/test-categ_P.c: Likewise.
26569         * tests/unictype/test-categ_Pd.c: Likewise.
26570         * tests/unictype/test-categ_Po.c: Likewise.
26571         * tests/unictype/test-categ_S.c: Likewise.
26572         * tests/unictype/test-categ_Sc.c: Likewise.
26573         * tests/unictype/test-categ_So.c: Likewise.
26574         * tests/unictype/test-ctype_alnum.c: Likewise.
26575         * tests/unictype/test-ctype_alpha.c: Likewise.
26576         * tests/unictype/test-ctype_graph.c: Likewise.
26577         * tests/unictype/test-ctype_lower.c: Likewise.
26578         * tests/unictype/test-ctype_print.c: Likewise.
26579         * tests/unictype/test-ctype_punct.c: Likewise.
26580         * tests/unictype/test-ctype_upper.c: Likewise.
26581         * tests/unictype/test-decdigit.h: Likewise.
26582         * tests/unictype/test-digit.h: Likewise.
26583         * tests/unictype/test-numeric.h: Likewise.
26584         * tests/unictype/test-pr_alphabetic.c: Likewise.
26585         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26586         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26587         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
26588         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26589         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26590         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26591         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26592         * tests/unictype/test-pr_combining.c: Likewise.
26593         * tests/unictype/test-pr_composite.c: Likewise.
26594         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26595         * tests/unictype/test-pr_dash.c: Likewise.
26596         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26597         * tests/unictype/test-pr_deprecated.c: Likewise.
26598         * tests/unictype/test-pr_diacritic.c: Likewise.
26599         * tests/unictype/test-pr_extender.c: Likewise.
26600         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26601         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26602         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26603         * tests/unictype/test-pr_id_continue.c: Likewise.
26604         * tests/unictype/test-pr_id_start.c: Likewise.
26605         * tests/unictype/test-pr_ideographic.c: Likewise.
26606         * tests/unictype/test-pr_ignorable_control.c: Likewise.
26607         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
26608         * tests/unictype/test-pr_lowercase.c: Likewise.
26609         * tests/unictype/test-pr_numeric.c: Likewise.
26610         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26611         * tests/unictype/test-pr_punctuation.c: Likewise.
26612         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26613         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26614         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26615         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26616         * tests/unictype/test-pr_uppercase.c: Likewise.
26617         * tests/unictype/test-pr_xid_continue.c: Likewise.
26618         * tests/unictype/test-pr_xid_start.c: Likewise.
26619         * tests/unictype/test-pr_zero_width.c: Likewise.
26620         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
26621         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
26622         changed behaviour: line breaking is now disallowed between a letter
26623         or '=' and '('.
26624         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26625         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26626         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
26627         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
26628         * tests/uniwidth/test-uc_width2.sh: Same updates as in
26629         lib/uniwidth/width.c.
26630         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
26631         without comments, but with the original copyright notice.
26632         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
26633         changes.
26634         * lib/unictype/categ_Cc.h: Likewise.
26635         * lib/unictype/categ_Co.h: Likewise.
26636         * lib/unictype/categ_Cs.h: Likewise.
26637         * lib/unictype/categ_Lt.h: Likewise.
26638         * lib/unictype/categ_Me.h: Likewise.
26639         * lib/unictype/categ_Pc.h: Likewise.
26640         * lib/unictype/categ_Pe.h: Likewise.
26641         * lib/unictype/categ_Pf.h: Likewise.
26642         * lib/unictype/categ_Pi.h: Likewise.
26643         * lib/unictype/categ_Ps.h: Likewise.
26644         * lib/unictype/categ_Sk.h: Likewise.
26645         * lib/unictype/categ_Sm.h: Likewise.
26646         * lib/unictype/categ_Z.h: Likewise.
26647         * lib/unictype/categ_Zl.h: Likewise.
26648         * lib/unictype/categ_Zp.h: Likewise.
26649         * lib/unictype/categ_Zs.h: Likewise.
26650         * lib/unictype/ctype_blank.h: Likewise.
26651         * lib/unictype/ctype_cntrl.h: Likewise.
26652         * lib/unictype/ctype_digit.h: Likewise.
26653         * lib/unictype/ctype_space.h: Likewise.
26654         * lib/unictype/ctype_xdigit.h: Likewise.
26655         * lib/unictype/mirror.h: Likewise.
26656         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26657         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
26658         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26659         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
26660         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26661         * lib/unictype/pr_bidi_control.h: Likewise.
26662         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26663         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26664         * lib/unictype/pr_bidi_pdf.h: Likewise.
26665         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26666         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26667         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26668         * lib/unictype/pr_format_control.h: Likewise.
26669         * lib/unictype/pr_hex_digit.h: Likewise.
26670         * lib/unictype/pr_hyphen.h: Likewise.
26671         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26672         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26673         * lib/unictype/pr_iso_control.h: Likewise.
26674         * lib/unictype/pr_join_control.h: Likewise.
26675         * lib/unictype/pr_left_of_pair.h: Likewise.
26676         * lib/unictype/pr_line_separator.h: Likewise.
26677         * lib/unictype/pr_math.h: Likewise.
26678         * lib/unictype/pr_non_break.h: Likewise.
26679         * lib/unictype/pr_not_a_character.h: Likewise.
26680         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26681         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26682         * lib/unictype/pr_other_id_continue.h: Likewise.
26683         * lib/unictype/pr_other_id_start.h: Likewise.
26684         * lib/unictype/pr_other_lowercase.h: Likewise.
26685         * lib/unictype/pr_other_math.h: Likewise.
26686         * lib/unictype/pr_other_uppercase.h: Likewise.
26687         * lib/unictype/pr_paired_punctuation.h: Likewise.
26688         * lib/unictype/pr_paragraph_separator.h: Likewise.
26689         * lib/unictype/pr_pattern_syntax.h: Likewise.
26690         * lib/unictype/pr_pattern_white_space.h: Likewise.
26691         * lib/unictype/pr_private_use.h: Likewise.
26692         * lib/unictype/pr_quotation_mark.h: Likewise.
26693         * lib/unictype/pr_radical.h: Likewise.
26694         * lib/unictype/pr_soft_dotted.h: Likewise.
26695         * lib/unictype/pr_space.h: Likewise.
26696         * lib/unictype/pr_titlecase.h: Likewise.
26697         * lib/unictype/pr_variation_selector.h: Likewise.
26698         * lib/unictype/pr_white_space.h: Likewise.
26699         * lib/unictype/sy_c_ident.h: Likewise.
26700         * lib/unictype/sy_c_whitespace.h: Likewise.
26701         * lib/unictype/sy_java_whitespace.h: Likewise.
26702         * modules/uni*/*: Bump version number of expected libunistring version.
26703         Reported by Simon Josefsson.
26704
26705 2011-01-09  Karl Heuer  <kwzh@gnu.org>
26706
26707         useless-if-before-free: fix typo in --help and make the internal,
26708         automatic version date update process work once again.
26709         --help output contained a NUL character instead of the
26710         backslash-zero that was intended.  Also, the "must lie within
26711         the first 8 lines" line is on line 9, and hence not getting
26712         automatically updated.
26713         * build-aux/useless-if-before-free: Fix the former by adding a
26714         backslash, and the latter by condensing the three lines of what-it-does
26715         to a single line, leaving one line of slack for the future.
26716
26717 2011-01-09  Bruno Haible  <bruno@clisp.org>
26718
26719         uniwidth/width: Fix width of U+1D173..U+1D17A.
26720         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
26721         symbolic_width, output_width_property_test): New functions.
26722         (main): Invoke output_nonspacing_property, output_width_property_test.
26723         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
26724         U+1D173..U+1D17A.
26725         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
26726         1.
26727         * modules/uniwidth/*: Bump version number of expected libunistring
26728         version.
26729         * modules/unilbrk/*: Likewise.
26730
26731 2011-01-08  Bruno Haible  <bruno@clisp.org>
26732
26733         uninorm tests: Preserve copyright of Unicode data file.
26734         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
26735         Mention modifications.
26736
26737 2011-01-08  Bruno Haible  <bruno@clisp.org>
26738
26739         gen-uni-tables: Prepare for Unicode 5.2.0.
26740         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
26741         (debug_output_lbp, output_lbp): Update.
26742
26743 2011-01-08  Bruno Haible  <bruno@clisp.org>
26744
26745         unilbrk: Clarify gen-uni-tables.c code.
26746         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
26747         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
26748         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
26749
26750 2011-01-07  Bruno Haible  <bruno@clisp.org>
26751
26752         strtod: Restore errno when successfully parsing Infinity or NaN.
26753         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
26754         restore the original errno.
26755
26756 2011-01-07  Bruno Haible  <bruno@clisp.org>
26757
26758         remove test: Avoid failure on HP-UX 11.
26759         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
26760
26761 2011-01-07  Bruno Haible  <bruno@clisp.org>
26762
26763         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
26764         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
26765         error code.
26766
26767 2011-01-07  Pádraig Brady <P@draigBrady.com>
26768
26769         ignore-value: fixup comments, and add Eric Blake
26770         as an author since he rewrote the macros.
26771         * lib/ignore-value.h (ignore_value):  State that
26772         we now support aggregates.  Also specify exactly
26773         when the GCC warn_unused_result feature was added.
26774
26775 2011-01-06  Eric Blake  <eblake@redhat.com>
26776
26777         ignore-value: support aggregate types
26778         * lib/ignore-value.h (ignore_value): Provide separate gcc
26779         definition.
26780         * modules/ignore-value-tests: New test module.
26781         * tests/test-ignore-value.c: New test.
26782
26783         maint.mk: improve sc_prohibit_strcmp regex
26784         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
26785         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
26786         definition of STRNEQ.
26787
26788         signal: work around Haiku issue with SIGBUS
26789         * lib/siglist.h: Add comment.
26790         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
26791         strsignal's favoring of SIGSEGV.
26792         * tests/test-signal.c (main): Avoid test failure.
26793         * doc/posix-headers/signal.texi (signal.h): Document the issue.
26794         Reported by Scott McCreary.
26795
26796         maint.mk: add pre-release check to ensure submodule commits are public
26797         * top/maint.mk (public-submodule-commit): New rule.
26798         (submodule-checks): New variable.
26799         (alpha beta stable): Depend on the variable.
26800
26801 2011-01-05  Pádraig Brady <P@draigBrady.com>
26802         and Jim Meyering  <meyering@redhat.com>
26803
26804         ignore-value: make ignore_value more generic; deprecate ignore_ptr
26805         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
26806         (ATTRIBUTE_DEPRECATED): Define.
26807         (_ignore_case): New function.
26808         (ignore_value): New macro, to replace the old function.
26809         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
26810         * modules/ignore-value (Depends-on): Add stdint.
26811
26812 2011-01-04  Eric Blake  <eblake@redhat.com>
26813
26814         doc: regenerate INSTALL
26815         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
26816         @firstparagraphindent support, now that autoconf dropped it.
26817         (INSTALL_PRELUDE): Reinstate old macro.
26818         * doc/install.texi: Resync from autoconf.
26819         * doc/INSTALL: Reflect recent autoconf update.
26820         * doc/INSTALL.ISO: Likewise.
26821         * doc/INSTALL.UTF-8: Likewise.
26822         Reported by Karl Berry.
26823
26824 2011-01-04  Bruce Korb  <address@hidden>
26825
26826         git-version-gen: avoid a sub-shell
26827         * build-aux/git-version-gen: Redirect stderr in `...` via
26828         "exec 2>...", rather than via an added sub-shell.
26829
26830 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
26831
26832         git-version-gen: use (...) rather than sh -c '...'
26833         * build-aux/git-version-gen: Rather than hard-coding a shell's name
26834         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
26835
26836 2011-01-03  Jim Meyering  <meyering@redhat.com>
26837
26838         git-version-gen: convert leading TABs to spaces
26839         * build-aux/git-version-gen: Expand leading TABs.
26840
26841         git-version-gen: handle failed "git rev-list"
26842         * build-aux/git-version-gen: Rather than leaking a "fatal" error
26843         from git and proceeding as if it had succeeded but printed no SHA1
26844         checksums, suppress the diagnostic and handle the failure.
26845         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
26846
26847         git-version-gen: include command name in one more diagnostic
26848         * build-aux/git-version-gen: When the required .tarball-version file
26849         was missing or unreadable, you might see the diagnostic from "cat",
26850         but no trace of the name of the invoking script.  Now, you still see
26851         the diagnostic from cat, but also get one from "git-version-gen: ".
26852         Inspired by a patch from Bruce Korb.
26853
26854         update-copyright: adjust test to match changed code
26855         * tests/test-update-copyright.sh: Change test's expected output
26856         to match new actual output.
26857
26858 2011-01-02  Bruno Haible  <bruno@clisp.org>
26859
26860         getlogin_r: Avoid test failure on HP-UX 11.
26861         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
26862         ERANGE when the second argument is zero.
26863         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
26864         portability problem.
26865
26866 2011-01-02  Bruce Korb  <bkorb@gnu.org>
26867
26868         * build-aux/update-copyright: doc Simon's changes
26869
26870 2011-01-02  Simon Josefsson  <simon@josefsson.org>
26871
26872         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
26873         environment variable.
26874
26875 2011-01-02  Bruno Haible  <bruno@clisp.org>
26876
26877         unigbrk: Avoid gcc warnings.
26878         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
26879         unused variable.
26880         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
26881         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
26882         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
26883         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
26884         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
26885         Change type of first argument to 'const char *'.
26886         (main): Remove unused variable.
26887         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
26888         type of first argument to 'const char *'.
26889         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
26890         Likewise.
26891         (main): Change type of variable 's'.
26892         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
26893         to 'int'.
26894
26895 2011-01-02  Bruno Haible  <bruno@clisp.org>
26896
26897         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
26898         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
26899         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
26900         bug.
26901         * lib/pwrite.c: Undo 2010-12-31 patch.
26902         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
26903
26904 2011-01-02  Bruno Haible  <bruno@clisp.org>
26905
26906         pread: Fix test whether it works.
26907         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
26908
26909 2011-01-02  Bruno Haible  <bruno@clisp.org>
26910
26911         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
26912         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
26913         ends in "6". Don't require a specific month name. Try also the locale
26914         names found on HP-UX 11 and Solaris 7.
26915
26916 2011-01-02  Bruno Haible  <bruno@clisp.org>
26917
26918         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
26919         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
26920         C linkage.
26921         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
26922
26923 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26924
26925         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
26926         for consistency, since the "cluster" term is not used elsewhere.
26927         * lib/unigbrk.in.h: Update name.
26928         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
26929         * lib/unigbrk/u16-grapheme-next.c: Update name.
26930         * lib/unigbrk/u16-grapheme-prev.c: Update name.
26931         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
26932         * lib/unigbrk/u32-grapheme-next.c: Update name.
26933         * lib/unigbrk/u32-grapheme-prev.c: Update name.
26934         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
26935         * lib/unigbrk/u8-grapheme-next.c: Update name.
26936         * lib/unigbrk/u8-grapheme-prev.c: Update name.
26937         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
26938         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
26939         Suggested by Bruno Haible.
26940
26941 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26942
26943         Remove module 'u8-grapheme-len' as too redundant with
26944         'u8-grapheme-next'.
26945         * modules/unigbrk/u8-grapheme-len: Delete file.
26946         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
26947         * lib/unigbrk.in.h: Remove prototype for deleted function.
26948         * lib/unigbrk/u8-grapheme-len.c: Delete file.
26949         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
26950
26951         Remove module 'u16-grapheme-len' as too redundant with
26952         'u16-grapheme-next'.
26953         * modules/unigbrk/u16-grapheme-len: Delete file.
26954         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
26955         * lib/unigbrk.in.h: Remove prototype for deleted function.
26956         * lib/unigbrk/u16-grapheme-len.c: Delete file.
26957         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
26958
26959         Remove module 'u32-grapheme-len' as too redundant with
26960         'u32-grapheme-next'.
26961         * modules/unigbrk/u32-grapheme-len: Delete file.
26962         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
26963         * lib/unigbrk.in.h: Remove prototype for deleted function.
26964         * lib/unigbrk/u32-grapheme-len.c: Delete file.
26965         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
26966
26967         Suggested by Bruno Haible.
26968
26969 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26970
26971         * unigbrk.in.h: Fix typo: "ben" => "been".
26972         Reported by Bruno Haible.
26973
26974 2011-01-01  Jim Meyering  <meyering@redhat.com>
26975
26976         maint: update almost all copyright ranges to include 2011
26977         Run the new "make update-copyright" rule.
26978
26979 2011-01-01  Jim Meyering  <meyering@redhat.com>
26980
26981         maint: update-copyright: exempt doc/INSTALL*
26982         * Makefile (update-copyright): Also exclude doc/INSTALL*,
26983         since they are generated.  Suggested by Bruno Haible.
26984
26985 2011-01-01  Jim Meyering  <meyering@redhat.com>
26986
26987         maint: refine the update-copyright rule
26988         * Makefile (update-copyright): Also exclude any file that includes
26989         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
26990         code that merely generates the comment.
26991
26992 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26993
26994         New module 'u8-grapheme-len'.
26995         * modules/unigbrk/u8-grapheme-len: New file.
26996         * modules/unigbrk/u8-grapheme-len-tests: New file.
26997         * lib/unigbrk.in.h: Add prototype for new function.
26998         * lib/unigbrk/u8-grapheme-len.c: New file.
26999         * tests/unigbrk/test-u8-grapheme-len.c: New file.
27000
27001         New module 'u16-grapheme-len'.
27002         * modules/unigbrk/u16-grapheme-len: New file.
27003         * modules/unigbrk/u16-grapheme-len-tests: New file.
27004         * lib/unigbrk.in.h: Add prototype for new function.
27005         * lib/unigbrk/u16-grapheme-len.c: New file.
27006         * tests/unigbrk/test-u16-grapheme-len.c: New file.
27007
27008         New module 'u32-grapheme-len'.
27009         * modules/unigbrk/u32-grapheme-len: New file.
27010         * modules/unigbrk/u32-grapheme-len-tests: New file.
27011         * lib/unigbrk.in.h: Add prototype for new function.
27012         * lib/unigbrk/u32-grapheme-len.c: New file.
27013         * tests/unigbrk/test-u32-grapheme-len.c: New file.
27014
27015         New module 'u8-grapheme-next'.
27016         * modules/unigbrk/u8-grapheme-next: New file.
27017         * modules/unigbrk/u8-grapheme-next-tests: New file.
27018         * lib/unigbrk.in.h: Add prototype for new function.
27019         * lib/unigbrk/u8-grapheme-next.c: New file.
27020         * tests/unigbrk/test-u8-grapheme-next.c: New file.
27021
27022         New module 'u16-grapheme-next'.
27023         * modules/unigbrk/u16-grapheme-next: New file.
27024         * modules/unigbrk/u16-grapheme-next-tests: New file.
27025         * lib/unigbrk.in.h: Add prototype for new function.
27026         * lib/unigbrk/u16-grapheme-next.c: New file.
27027         * tests/unigbrk/test-u16-grapheme-next.c: New file.
27028
27029         New module 'u32-grapheme-next'.
27030         * modules/unigbrk/u32-grapheme-next: New file.
27031         * modules/unigbrk/u32-grapheme-next-tests: New file.
27032         * lib/unigbrk.in.h: Add prototype for new function.
27033         * lib/unigbrk/u32-grapheme-next.c: New file.
27034         * tests/unigbrk/test-u32-grapheme-next.c: New file.
27035
27036         New module 'u8-grapheme-prev'.
27037         * modules/unigbrk/u8-grapheme-prev: New file.
27038         * modules/unigbrk/u8-grapheme-prev-tests: New file.
27039         * lib/unigbrk.in.h: Add prototype for new function.
27040         * lib/unigbrk/u8-grapheme-prev.c: New file.
27041         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
27042
27043         New module 'u16-grapheme-prev'.
27044         * modules/unigbrk/u16-grapheme-prev: New file.
27045         * modules/unigbrk/u16-grapheme-prev-tests: New file.
27046         * lib/unigbrk.in.h: Add prototype for new function.
27047         * lib/unigbrk/u16-grapheme-prev.c: New file.
27048         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
27049
27050         New module 'u32-grapheme-prev'.
27051         * modules/unigbrk/u32-grapheme-prev: New file.
27052         * modules/unigbrk/u32-grapheme-prev-tests: New file.
27053         * lib/unigbrk.in.h: Add prototype for new function.
27054         * lib/unigbrk/u32-grapheme-prev.c: New file.
27055         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
27056
27057         New module 'u8-grapheme-breaks'.
27058         * modules/unigbrk/u8-grapheme-breaks: New file.
27059         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
27060         * lib/unigbrk.in.h: Add prototype for new function.
27061         * lib/unigbrk/u8-grapheme-breaks.c: New file.
27062         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
27063
27064         New module 'u16-grapheme-breaks'.
27065         * modules/unigbrk/u16-grapheme-breaks: New file.
27066         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
27067         * lib/unigbrk.in.h: Add prototype for new function.
27068         * lib/unigbrk/u16-grapheme-breaks.c: New file.
27069         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
27070
27071         New module 'u32-grapheme-breaks'.
27072         * modules/unigbrk/u32-grapheme-breaks: New file.
27073         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
27074         * lib/unigbrk.in.h: Add prototype for new function.
27075         * lib/unigbrk/u32-grapheme-breaks.c: New file.
27076         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
27077
27078         New module 'ulc-grapheme-breaks'.
27079         * modules/unigbrk/ulc-grapheme-breaks: New file.
27080         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
27081         * m4/locale-ar.m4: New file.
27082         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
27083         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
27084         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
27085
27086 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
27087
27088         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
27089         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
27090         modified how this file was generated before I initially submitted
27091         the module, but failed to regenerate it.  This meant that several
27092         of the level2 entries were wrong.
27093         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
27094         Remove the division-by-2 that is folded into the table now that
27095         gbrkprop.h has been regenerated properly.  Now -1 entries are
27096         handled correctly.
27097
27098         New module 'unigbrk/uc-gbrk-prop-tests'.
27099         * modules/unigbrk/uc-gbrk-prop-tests: New file.
27100         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
27101         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
27102         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
27103
27104 2011-01-01  Bruno Haible  <bruno@clisp.org>
27105
27106         Avoid use of hexadecimal escapes.
27107         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
27108         instead of hexadecimal escapes.
27109
27110 2011-01-01  Jim Meyering  <meyering@redhat.com>
27111
27112         maint: new rule to update copyright year ranges
27113         * Makefile (update-copyright): New rule.
27114
27115         maint: indent with TABs in Makefile
27116         * Makefile: Expand leading sequences of spaces to TABs
27117
27118         version-etc: update the copyright year it reports
27119         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
27120
27121 2010-12-31  Bruno Haible  <bruno@clisp.org>
27122
27123         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
27124         * lib/isfinite.c (zerof, zerod, zerol): New variables.
27125         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
27126         zero.
27127
27128 2010-12-31  Bruno Haible  <bruno@clisp.org>
27129
27130         pwrite: Work around HP-UX 11.11 bug.
27131         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
27132         works and set REPLACE_PWRITE if not.
27133         * lib/pwrite.c (pwrite): Add an implementation that uses the system
27134         function.
27135         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
27136
27137 2010-12-31  Bruno Haible  <bruno@clisp.org>
27138
27139         pread: Work around HP-UX 11 bugs.
27140         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
27141         and set REPLACE_PREAD if not.
27142         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
27143
27144 2010-12-31  Eric Blake  <eblake@redhat.com>
27145
27146         nl_langinfo: fix YESEXPR on Irix 6.5
27147         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
27148         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
27149         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
27150         it.
27151
27152 2010-12-31  Bruno Haible  <bruno@clisp.org>
27153
27154         iconv: Document HP-UX 11 bug.
27155         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
27156
27157 2010-12-31  Bruno Haible  <bruno@clisp.org>
27158
27159         ldexpl: Fix link error on HP-UX 11.
27160         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
27161         LDEXPL_LIBM, using $ISNANL_LIBM.
27162
27163 2010-12-31  Eric Blake  <eblake@redhat.com>
27164
27165         ftello: avoid compilation failure with SunStudio c89
27166         * lib/ftello.c (ftello): Use lseek, not llseek.
27167
27168         tests: avoid failing coreutils tests on cygwin
27169         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
27170         (create_exe_shims_): Return 0 when skipping.
27171
27172 2010-12-31  Bruno Haible  <bruno@clisp.org>
27173
27174         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
27175         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
27176
27177 2010-12-31  Bruno Haible  <bruno@clisp.org>
27178
27179         waitpid: Fix link error in C++ mode.
27180         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
27181
27182 2010-12-31  Bruno Haible  <bruno@clisp.org>
27183
27184         isnan: Use GCC built-ins when possible.
27185         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
27186         __builtin_isnan.
27187         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
27188         (isnan): Define using GCC built-ins for GCC >= 4.0.
27189
27190 2010-12-31  Bruno Haible  <bruno@clisp.org>
27191
27192         isnand: Fix mistake.
27193         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
27194         __builtin_isnand.
27195
27196 2010-12-31  Bruno Haible  <bruno@clisp.org>
27197
27198         open: Avoid C++ error on HP-UX 11.
27199         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
27200
27201 2010-12-31  Bruno Haible  <bruno@clisp.org>
27202
27203         time_r: Add missing declarations on HP-UX 11.
27204         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
27205         instead of HAVE_LOCALTIME_R.
27206         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
27207         HAVE_LOCALTIME_R always.
27208         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
27209         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
27210         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
27211         HAVE_LOCALTIME_R.
27212         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
27213         * doc/posix-functions/localtime_r.texi: Likewise.
27214
27215 2010-12-29  Eric Blake  <eblake@redhat.com>
27216
27217         mountlist: tweak previous commit
27218         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
27219         Reported by Paul Eggert.
27220
27221         mountlist: fix local drive detection on cygwin
27222         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
27223         that works for cygwin.
27224
27225 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
27226
27227         ftoastr, snprintf: ftoastr + snprintf module
27228         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
27229         since the snprintf module now should be good enough here.
27230         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
27231         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
27232         and gl_MODULE_INDICATOR([snprintf]), but the former enables
27233         GNULIB_SNPRINTF only for the test directory, and the latter
27234         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
27235         seems to suffice by itself.
27236
27237 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
27238
27239         alloca: one step towards thread-safety
27240         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
27241         need for a static variable.  All callers changed.  This does not
27242         make the alloca replacement thread-safe, but it's one step.
27243
27244         tests: minor indenting change
27245         * tests/init.sh: Sync from coreutils housekeeping patch
27246         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
27247         to keep lines within 80 columns.
27248
27249 2010-12-28  Jim Meyering  <meyering@redhat.com>
27250
27251         regex: don't infloop on persistent failing calloc
27252         * lib/regexec.c (build_trtable): Return failure indication upon
27253         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
27254         In glibc, this was fixed for version 2.13:
27255         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
27256
27257 2010-12-28  Bruno Haible  <bruno@clisp.org>
27258             Paul Eggert <eggert@cs.ucla.edu>
27259
27260         linkat: Make implementation robust against system behaviour variations.
27261         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
27262         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
27263         way, and to -2 if it needs a generic runtime test.
27264         * lib/linkat.c (solaris_optimized_link_immediate,
27265         solaris_optimized_link_follow): New functions.
27266         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
27267         (check_same_link): Use it.
27268
27269 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
27270
27271         New module 'unigbrk/base'.
27272         * modules/unigbrk/base: New file.
27273         * lib/unigbrk.in.h: New file.
27274
27275         New module 'unigbrk/uc-gbrk-prop'.
27276         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
27277         * modules/unigbrk/uc-gbrk-prop: New file.
27278         * lib/unigbrk/gbrkprop.h: New file.
27279         * lib/unigbrk/uc-gbrk-prop.c: New file.
27280
27281         New module 'unigbrk/uc-is-grapheme-break'.
27282         * modules/unigbrk/uc-is-grapheme-break: New file.
27283         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
27284         * lib/unigbrk/uc-is-grapheme-break.c: New file.
27285         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
27286         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
27287         * tests/unigbrk/GraphemeBreakTest.txt: New file.
27288
27289         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
27290
27291 2010-12-27  Bruno Haible  <bruno@clisp.org>
27292
27293         linkat test: Avoid failure on Solaris 11 2010-11.
27294         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
27295
27296 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
27297
27298         utimens: work around glibc rounding bug on more platforms
27299         * lib/utimens.c (fdutimens): Work around rounding bug even if
27300         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
27301         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
27302
27303 2010-12-27  Bruno Haible  <bruno@clisp.org>
27304
27305         select tests: Improve comments.
27306         * tests/test-select.c (do_select): Add comments.
27307
27308 2010-12-27  Bruno Haible  <bruno@clisp.org>
27309
27310         select tests: Safer way of handling timeout.
27311         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
27312         at every invocation.
27313
27314 2010-12-27  Bruno Haible  <bruno@clisp.org>
27315
27316         select tests: Use 'bool' where appropriate.
27317         * tests/test-select.c (connect_to_socket): Change argument type to
27318         'bool'.
27319
27320 2010-12-27  Bruno Haible  <bruno@clisp.org>
27321
27322         select tests: Use existing modules.
27323         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
27324         (configure.ac): Don't test for unistd.h.
27325         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
27326         declared in <unistd.h>.
27327
27328 2010-12-27  Bruno Haible  <bruno@clisp.org>
27329
27330         mbrtowc: Work around a Solaris 7 bug.
27331         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
27332         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
27333         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
27334         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
27335         MBRTOWC_NULL_ARG1_BUG.
27336         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
27337         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
27338         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
27339         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
27340
27341 2010-12-27  Jim Meyering  <meyering@redhat.com>
27342
27343         read-file.c: tweak syntax
27344         * lib/read-file.c (fread_file): Remove space after "*" in function
27345         definitions.
27346
27347 2010-12-27  Bruno Haible  <bruno@clisp.org>
27348
27349         times test: Avoid gcc warnings on OSF/1.
27350         * tests/test-times.c (main): Cast printf arguments from clock_t to
27351         'long int'.
27352
27353 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
27354
27355         utimens: work around glibc rounding bug on older Linux kernels
27356         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
27357         on Linux with a glibc whose utimes might not work, then work
27358         around a longstanding glibc bug involving rounding rather than
27359         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
27360         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
27361
27362 2010-12-26  Bruno Haible  <bruno@clisp.org>
27363
27364         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
27365         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
27366         _GL_CXXALIAS_SYS.
27367         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27368
27369 2010-12-26  Bruno Haible  <bruno@clisp.org>
27370
27371         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
27372         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
27373         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
27374         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
27375         looking for the declaration.
27376         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
27377         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
27378         problem.
27379         * doc/posix-functions/inet_pton.texi: Likewise.
27380
27381 2010-12-26  Bruno Haible  <bruno@clisp.org>
27382
27383         arpa_inet: Use the common idioms with C++ support.
27384         * lib/arpa_inet.in.h: Include c++defs.h.
27385         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
27386         support.
27387         * modules/arpa_inet (Depends-on): Add c++defs.
27388         (Makefile.am): Substitute the contents of c++defs.h.
27389         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
27390         * modules/arpa_inet-c++-tests: New file.
27391         * tests/test-arpa_inet-c++.cc: New file.
27392
27393 2010-12-25  Bruno Haible  <bruno@clisp.org>
27394
27395         Fix more C++ link errors on Solaris 8.
27396         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
27397         $(LIB_EACCESS).
27398         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
27399         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
27400         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
27401         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
27402         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
27403
27404 2010-12-25  Bruno Haible  <bruno@clisp.org>
27405
27406         printf-posix: Fix link error when a non-GCC compiler is used.
27407         * lib/stdio.in.h (printf): When not using GCC, override printf
27408         correctly.
27409         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27410
27411 2010-12-25  Bruno Haible  <bruno@clisp.org>
27412
27413         strerror_r-posix: Update doc.
27414         * doc/posix-functions/strerror_r.texi: Update doc about the return
27415         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
27416
27417 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
27418
27419         utimens: simplify the logic of the previous change
27420         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
27421         This should not affect whether the test succeeds or fails.
27422
27423         utimens: configure better on hosts with NFS clock skew
27424         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
27425         uses the clock of the local host.  It might use the clock of the
27426         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
27427         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
27428
27429 2010-12-25  Bruno Haible  <bruno@clisp.org>
27430
27431         ptsname test: Avoid failure on Solaris.
27432         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
27433         open a pseudo-terminal; don't use BSD-style ptys.
27434         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
27435
27436 2010-12-25  Bruno Haible  <bruno@clisp.org>
27437
27438         ptsname: Avoid ERANGE failure on some systems.
27439         * lib/ptsname.c (buffer): Increase size.
27440
27441 2010-12-25  Bruno Haible  <bruno@clisp.org>
27442
27443         rename, renameat: Avoid test failures at NFS mounted locations.
27444         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
27445         so that subsequent mkdir calls succeed.
27446
27447 2010-12-25  Bruno Haible  <bruno@clisp.org>
27448
27449         iswblank: Fix C++ link error on Solaris 8.
27450         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
27451         _GL_FUNCDECL_SYS.
27452
27453 2010-12-25  Bruno Haible  <bruno@clisp.org>
27454
27455         unistd: Fix C++ link error on Solaris 8.
27456         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
27457
27458 2010-12-25  Bruno Haible  <bruno@clisp.org>
27459
27460         readlink doc: Mention an old glibc bug.
27461         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
27462
27463 2010-12-25  Bruno Haible  <bruno@clisp.org>
27464
27465         fcntl-h: Fix for use of C++ on glibc systems.
27466         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
27467         also on glibc systems in C++ mode.
27468         Reported by Gary V. Vaughan <gary@gnu.org>.
27469
27470 2010-12-25  Bruno Haible  <bruno@clisp.org>
27471
27472         roundl-ieee: Make it work on OSF/1 5.1 with cc.
27473         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
27474
27475 2010-12-25  Bruno Haible  <bruno@clisp.org>
27476
27477         truncl-ieee: Make it work on OSF/1 5.1 with cc.
27478         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
27479         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
27480         test whether truncl works according to ISO C 99 with IEC 60559.
27481         * m4/truncl-ieee.m4: New file.
27482         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
27483         m4/signbit.m4.
27484         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
27485
27486 2010-12-25  Bruno Haible  <bruno@clisp.org>
27487
27488         ceill-ieee: Make it work on OSF/1 5.1 with cc.
27489         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
27490         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
27491         test whether ceill works according to ISO C 99 with IEC 60559.
27492         * m4/ceill-ieee.m4: New file.
27493         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
27494         m4/signbit.m4.
27495         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
27496
27497 2010-12-25  Bruno Haible  <bruno@clisp.org>
27498
27499         Ensure all prerequisites of <wchar.h> are included.
27500         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
27501         before <wchar.h>.
27502         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
27503         gl_MBRLEN_NUL_RETVAL): Likewise.
27504         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
27505         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
27506         AC_FUNC_MBRTOWC): Likewise.
27507         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27508         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
27509         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27510         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
27511         Likewise.
27512         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
27513         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
27514         (gl_WCHAR_H): Improve comments.
27515         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
27516
27517 2010-12-25  Bruno Haible  <bruno@clisp.org>
27518
27519         strtok_r: Fix C syntax error in autoconf macro.
27520         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
27521         characters in test program.
27522
27523 2010-12-24  Bruno Haible  <bruno@clisp.org>
27524
27525         ceil, trunc, round: Fix gcc warnings.
27526         * lib/ceil.c (MIN): Undefine before redefining.
27527         * lib/trunc.c (MIN): Likewise.
27528         * lib/round.c (MIN): Likewise.
27529         Include <math.h> first.
27530
27531 2010-12-24  Bruno Haible  <bruno@clisp.org>
27532
27533         select tests: Avoid failures on OSF/1 5.1.
27534         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
27535         failure of closing the last socket; it may fail with ECONNRESET.
27536
27537 2010-12-24  Eric Blake  <eblake@redhat.com>
27538
27539         stdint: avoid HP-UX 10.20 preprocessor bug
27540         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
27541         than #if.
27542         * tests/test-floor2.c (main): Likewise.
27543         Reported by Peter O'Gorman.
27544
27545         pipe: make obsoletion transition easier
27546         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
27547         * modules/pipe (Files): Include revived file.
27548         (Include): Drop reference, to mirror getdate's behavior.
27549
27550 2010-12-24  Bruno Haible  <bruno@clisp.org>
27551
27552         sys_socket: Hide mismatch of declarations on NonStop Kernel.
27553         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
27554         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
27555         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27556
27557 2010-12-24  Bruno Haible  <bruno@clisp.org>
27558
27559         gethostname: Ensure declaration on NonStop Kernel.
27560         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
27561         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27562
27563 2010-12-24  Bruno Haible  <bruno@clisp.org>
27564
27565         sys_select: Ensure all necessary types on NonStop Kernel.
27566         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
27567         include <sys/time.h>.
27568         * doc/posix-headers/sys_select.texi: Mention that it's missing on
27569         NonStop Kernel.
27570         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27571
27572 2010-12-24  Bruno Haible  <bruno@clisp.org>
27573
27574         sys_select: Remove unneeded include.
27575         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
27576         have <sys/select.h>.
27577
27578 2010-12-24  Bruno Haible  <bruno@clisp.org>
27579
27580         gethostname: Provide a fallback for HOST_NAME_MAX.
27581         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
27582         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
27583         instead.
27584         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27585
27586 2010-12-24  Bruno Haible  <bruno@clisp.org>
27587
27588         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
27589         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
27590         (SA_RESTART): Likewise.
27591         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27592
27593 2010-12-24  Bruno Haible  <bruno@clisp.org>
27594
27595         signal: Define NSIG.
27596         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
27597         * tests/test-signal.c (nsig): New variable.
27598         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27599
27600 2010-12-24  Bruno Haible  <bruno@clisp.org>
27601
27602         rename, renameat: Avoid test failures on OSF/1 5.1.
27603         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
27604         alternative error codes.
27605         * tests/test-renameat.c (main): Likewise.
27606
27607 2010-12-24  Bruno Haible  <bruno@clisp.org>
27608
27609         *printf: Detect large precisions bug on Solaris 10/SPARC.
27610         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
27611         by Paul Eggert.
27612         * tests/test-snprintf-posix.h (test_function): Add this test code here
27613         too.
27614         * tests/test-sprintf-posix.h (test_function): Likewise.
27615         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27616         * tests/test-vasprintf-posix.c (test_function): Likewise.
27617         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
27618         around by gnulib.
27619         * doc/posix-functions/printf.texi: Likewise.
27620         * doc/posix-functions/snprintf.texi: Likewise.
27621         * doc/posix-functions/sprintf.texi: Likewise.
27622         * doc/posix-functions/vfprintf.texi: Likewise.
27623         * doc/posix-functions/vprintf.texi: Likewise.
27624         * doc/posix-functions/vsnprintf.texi: Likewise.
27625         * doc/posix-functions/vsprintf.texi: Likewise.
27626         * doc/posix-functions/dprintf.texi: Undo last commit.
27627         * doc/posix-functions/vdprintf.texi: Likewise.
27628
27629 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
27630
27631         tests: port test-fdutimensat.c to Solaris 8
27632         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
27633         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
27634         On Solaris 8, it fails with errno == ENOSYS, because there is no
27635         futimens (so it can't use the fd), and there is no lutimens (so it
27636         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
27637
27638         vsnprintf: make more consistent with snprintf; doc fixes
27639
27640         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
27641         the byte count return problem was promoted from the snprintf-posix
27642         to the snprintf module.
27643         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
27644         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
27645         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
27646         * tests/test-snprintf.c (main): Check the byte count returned.
27647         * tests/test-vsnprintf.c (main): Likewise.
27648
27649 2010-12-23  Eric Blake  <eblake@redhat.com>
27650
27651         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
27652         * modules/sigpipe (License): Relax license.
27653
27654 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27655
27656         doc: document Solaris printf bug with large float precisions
27657         * doc/posix-functions/dprintf.texi (dprintf):
27658         * doc/posix-functions/fprintf.texi (fprintf):
27659         * doc/posix-functions/printf.texi (printf):
27660         * doc/posix-functions/snprintf.texi (snprintf):
27661         * doc/posix-functions/sprintf.texi (sprintf):
27662         * doc/posix-functions/vdprintf.texi (vdprintf):
27663         * doc/posix-functions/vfprintf.texi (vfprintf):
27664         * doc/posix-functions/vprintf.texi (vprintf):
27665         * doc/posix-functions/vsnprintf.texi (vsnprintf):
27666         * doc/posix-functions/vsprintf.texi (vsprintf):
27667         Mention that these functions mishandle large floating point
27668         precisions on Solaris 10.  The same bug is also present in Solaris
27669         8, and I assume earlier.  This causes "cd gnulib-tests; make
27670         check" to fail on Solaris 8 (and I assume, later) when building
27671         the latest coreutils, in test-vasprintf-posix's call to
27672         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
27673         the wide flavors (e.g., wprintf) so this patch just updates the
27674         documentation for the narrow ones.
27675
27676         test-posixtm.c: add two tests
27677         * tests/test-posixtm.c: Add two tests, to highlight the
27678         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
27679         around this bug; this is merely to document it.
27680
27681 2010-12-22  Bruno Haible  <bruno@clisp.org>
27682
27683         getlogin_r: Work around portability problem on OSF/1.
27684         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
27685         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
27686         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
27687         test for a truncated result.
27688         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
27689         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
27690         * modules/getlogin_r (Depends-on): Add memchr.
27691         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
27692
27693 2010-12-22  Bruno Haible  <bruno@clisp.org>
27694
27695         ptsname: Avoid test failure on OSF/1 5.1.
27696         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
27697         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
27698         (same_slave): New function.
27699         (main): Use it to compare ptsname's result with the expected file name.
27700
27701 2010-12-22  Bruno Haible  <bruno@clisp.org>
27702
27703         Port extended stdio modules to HP NonStop Kernel.
27704         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
27705         macros.
27706         * lib/fbufmode.c: Update comments.
27707         * lib/fflush.c: Likewise.
27708         * lib/fpurge.c: Likewise.
27709         * lib/freadable.c: Likewise.
27710         * lib/freadahead.c: Likewise.
27711         * lib/freading.c: Likewise.
27712         * lib/freadptr.c: Likewise.
27713         * lib/freadseek.c: Likewise.
27714         * lib/fseeko.c: Likewise.
27715         * lib/fseterr.c: Likewise.
27716         * lib/fwritable.c: Likewise.
27717         * lib/fwriting.c: Likewise.
27718         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27719
27720 2010-12-22  Bruno Haible  <bruno@clisp.org>
27721
27722         ttyname_r: Work around bug on OSF/1 5.1.
27723         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
27724         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
27725         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
27726         present.
27727         * lib/ttyname_r.c (ttyname_r): Update comments.
27728
27729 2010-12-22  Bruno Haible  <bruno@clisp.org>
27730
27731         round: Implement result sign according to IEEE 754.
27732         * lib/round.c (MIN, MINUS_ZERO): New macros.
27733         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
27734         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
27735         * tests/test-round-ieee.c (main): Likewise.
27736         * tests/test-roundl-ieee.c (main): Likewise.
27737
27738         trunc: Implement result sign according to IEEE 754.
27739         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
27740         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
27741         * tests/test-trunc2.c: Include minus-zero.h.
27742         (MINUS_ZERO): New macro.
27743         (trunc_reference): Keep in sync with lib/trunc.c.
27744         * tests/test-truncf2.c: Include minus-zero.h.
27745         (MINUS_ZERO): New macro.
27746         (truncf_reference): Keep in sync with lib/trunc.c.
27747         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
27748         * tests/test-trunc-ieee.c (main): Likewise.
27749         * tests/test-truncl-ieee.c (main): Likewise.
27750
27751         ceil: Implement result sign according to IEEE 754.
27752         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
27753         (FUNC): Return -0.0 for -1 < x < 0.
27754         * tests/test-ceil2.c: Include minus-zero.h.
27755         (MINUS_ZERO): New macro.
27756         (ceil_reference): Keep in sync with lib/ceil.c.
27757         * tests/test-ceilf2.c: Include minus-zero.h.
27758         (MINUS_ZERO): New macro.
27759         (ceilf_reference): Keep in sync with lib/ceil.c.
27760         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
27761         * tests/test-ceil-ieee.c (main): Likewise.
27762         * tests/test-ceill-ieee.c (main): Likewise.
27763
27764         floor: Implement result sign according to IEEE 754.
27765         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
27766         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
27767         * tests/test-floorf2.c (floorf_reference): Likewise.
27768         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
27769         * tests/test-floor-ieee.c (main): Likewise.
27770         * tests/test-floorl-ieee.c (main): Likewise.
27771
27772 2010-12-22  Bruno Haible  <bruno@clisp.org>
27773
27774         getaddrinfo: Update doc.
27775         * doc/posix-functions/gai_strerror.texi: Return type is also different
27776         on AIX and HP-UX.
27777
27778 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27779
27780         getaddrinfo, inet_ntop: Update doc for Solaris.
27781         * doc/posix-functions/gai_strerror.texi: Return type is also an
27782         issue on Solaris 9 and earlier.
27783         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
27784         on Solaris 10 and earlier.
27785
27786 2010-12-21  Bruno Haible  <bruno@clisp.org>
27787
27788         New module 'roundl-ieee'.
27789         * modules/roundl-ieee: New file.
27790         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
27791         test whether roundl works according to ISO C 99 with IEC 60559.
27792         * m4/roundl-ieee.m4: New file.
27793         * modules/roundl-ieee-tests: New file.
27794         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
27795         * tests/test-roundl.c (main): Remove signbit tests.
27796         * modules/roundl-tests (Depends-on): Remove signbit.
27797         * doc/posix-functions/roundl.texi: Mention the new module.
27798
27799 2010-12-21  Bruno Haible  <bruno@clisp.org>
27800
27801         New module 'truncl-ieee'.
27802         * modules/truncl-ieee: New file.
27803         * modules/truncl-ieee-tests: New file.
27804         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
27805         * tests/test-truncl.c (main): Remove signbit tests.
27806         * modules/truncl-tests (Depends-on): Remove signbit.
27807         * doc/posix-functions/truncl.texi: Mention the new module.
27808
27809 2010-12-21  Bruno Haible  <bruno@clisp.org>
27810
27811         New module 'ceill-ieee'.
27812         * modules/ceill-ieee: New file.
27813         * modules/ceill-ieee-tests: New file.
27814         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
27815         * tests/test-ceill.c (main): Remove signbit tests.
27816         * modules/ceill-tests (Depends-on): Remove signbit.
27817         * doc/posix-functions/ceill.texi: Mention the new module.
27818
27819 2010-12-21  Bruno Haible  <bruno@clisp.org>
27820
27821         New module 'floorl-ieee'.
27822         * modules/floorl-ieee: New file.
27823         * modules/floorl-ieee-tests: New file.
27824         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
27825         * tests/test-floorl.c (main): Remove signbit tests.
27826         * modules/floorl-tests (Depends-on): Remove signbit.
27827         * doc/posix-functions/floorl.texi: Mention the new module.
27828
27829 2010-12-21  Bruno Haible  <bruno@clisp.org>
27830
27831         New module 'round-ieee'.
27832         * modules/round-ieee: New file.
27833         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
27834         whether round works according to ISO C 99 with IEC 60559.
27835         * m4/round-ieee.m4: New file.
27836         * modules/round-ieee-tests: New file.
27837         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
27838         * tests/test-round1.c (main): Remove signbit tests.
27839         * modules/round-tests (Depends-on): Remove 'signbit'.
27840         * doc/posix-functions/round.texi: Mention the new module.
27841
27842 2010-12-21  Bruno Haible  <bruno@clisp.org>
27843
27844         New module 'trunc-ieee'.
27845         * modules/trunc-ieee: New file.
27846         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
27847         whether trunc works according to ISO C 99 with IEC 60559.
27848         * m4/trunc-ieee.m4: New file.
27849         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
27850         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
27851         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
27852         * modules/trunc-ieee-tests: New file.
27853         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
27854         * tests/test-trunc1.c (main): Remove signbit tests.
27855         * modules/trunc-tests (Depends-on): Remove 'signbit'.
27856         * doc/posix-functions/trunc.texi: Mention the new module.
27857
27858 2010-12-21  Bruno Haible  <bruno@clisp.org>
27859
27860         New module 'ceil-ieee'.
27861         * modules/ceil-ieee: New file.
27862         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
27863         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
27864         ISO C 99 with IEC 60559.
27865         * m4/ceil-ieee.m4: New file.
27866         * modules/ceil (Files): Add lib/ceil.c.
27867         (Depends-on): Add 'float'.
27868         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27869         * lib/math.in.h (ceil): New declaration.
27870         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
27871         REPLACE_CEIL.
27872         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
27873         * modules/ceil-ieee-tests: New file.
27874         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
27875         * tests/test-math-c++.cc: Check the signature of 'ceil'.
27876         * doc/posix-functions/ceil.texi: Mention the new module.
27877
27878 2010-12-21  Bruno Haible  <bruno@clisp.org>
27879
27880         New module 'floor-ieee'.
27881         * modules/floor-ieee: New file.
27882         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
27883         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
27884         ISO C 99 with IEC 60559.
27885         * m4/floor-ieee.m4: New file.
27886         * modules/floor (Files): Add lib/floor.c.
27887         (Depends-on): Add 'float'.
27888         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27889         * lib/math.in.h (floor): New declaration.
27890         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
27891         REPLACE_FLOOR.
27892         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
27893         * modules/floor-ieee-tests: New file.
27894         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
27895         * tests/test-math-c++.cc: Check the signature of 'floor'.
27896         * doc/posix-functions/floor.texi: Mention the new module.
27897
27898 2010-12-21  Bruno Haible  <bruno@clisp.org>
27899
27900         New module 'roundf-ieee'.
27901         * modules/roundf-ieee: New file.
27902         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
27903         test whether roundf works according to ISO C 99 with IEC 60559.
27904         * m4/roundf-ieee.m4: New file.
27905         * modules/roundf-ieee-tests: New file.
27906         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
27907         * tests/test-roundf1.c (main): Remove signbit tests.
27908         * modules/roundf-tests (Depends-on): Remove 'signbit'.
27909         * doc/posix-functions/roundf.texi: Mention the new module.
27910
27911 2010-12-21  Bruno Haible  <bruno@clisp.org>
27912
27913         New module 'truncf-ieee'.
27914         * modules/truncf-ieee: New file.
27915         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
27916         test whether truncf works according to ISO C 99 with IEC 60559.
27917         * m4/truncf-ieee.m4: New file.
27918         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
27919         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
27920         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
27921         * modules/truncf-ieee-tests: New file.
27922         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
27923         * tests/test-truncf1.c (main): Remove signbit tests.
27924         * modules/truncf-tests (Depends-on): Remove 'signbit'.
27925         * doc/posix-functions/truncf.texi: Mention the new module.
27926
27927 2010-12-21  Bruno Haible  <bruno@clisp.org>
27928
27929         New module 'ceilf-ieee'.
27930         * modules/ceilf-ieee: New file.
27931         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
27932         test whether ceilf works according to ISO C 99 with IEC 60559.
27933         * m4/ceilf-ieee.m4: New file.
27934         * modules/ceilf-ieee-tests: New file.
27935         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
27936         * tests/test-ceilf1.c (main): Remove signbit tests.
27937         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
27938         * doc/posix-functions/ceilf.texi: Mention the new module.
27939
27940 2010-12-21  Bruno Haible  <bruno@clisp.org>
27941
27942         New module 'floorf-ieee'.
27943         * modules/floorf-ieee: New file.
27944         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
27945         test whether floorf works according to ISO C 99 with IEC 60559.
27946         * m4/floorf-ieee.m4: New file.
27947         * modules/floorf-ieee-tests: New file.
27948         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
27949         * tests/test-floorf1.c (main): Remove signbit tests.
27950         * modules/floorf-tests (Depends-on): Remove 'signbit'.
27951         * doc/posix-functions/floorf.texi: Mention the new module.
27952
27953 2010-12-21  Bruno Haible  <bruno@clisp.org>
27954
27955         Support for minus zero in autoconf macros.
27956         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
27957         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
27958         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
27959         * tests/minus-zero.h: Update comments.
27960
27961 2010-12-21  Bruno Haible  <bruno@clisp.org>
27962
27963         Tests for module 'ceil'.
27964         * modules/ceil-tests: New file.
27965         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
27966         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
27967
27968 2010-12-21  Bruno Haible  <bruno@clisp.org>
27969
27970         Tests for module 'floor'.
27971         * modules/floor-tests: New file.
27972         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
27973         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
27974
27975 2010-12-21  Bruno Haible  <bruno@clisp.org>
27976
27977         math: Fix indentation.
27978         * lib/math.in.h (floorf): Fix indentation.
27979
27980 2010-12-21  Bruno Haible  <bruno@clisp.org>
27981
27982         Fix cross-compilation guesses on Solaris.
27983         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
27984         not match "solaris2.10".
27985         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27986         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
27987         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
27988
27989 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
27990
27991         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
27992         This fixes a problem observed with the latest coreutils snapshot
27993         that caused a test to fail on Solaris 8.  src/csplit.c's call
27994         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
27995         earlier, instead of returning the number of bytes that would have
27996         been generated; this causes csplit to incorrectly report memory
27997         exhaustion.
27998         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
27999         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
28000         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
28001         comments to match.
28002         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
28003         Fix typo in matching older versions of Solaris: "solaris2.10"
28004         is matched by the shell pattern "solaris2.[0-9]*".  This matters
28005         only for guessing while cross-compiling.
28006         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
28007
28008 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
28009
28010         ftoastr: fix comment again
28011         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
28012         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
28013         Also, simplify example a bit by using flags = 0.
28014
28015 2010-12-20  Bruno Haible  <bruno@clisp.org>
28016
28017         round*, trunc*: Update documentation regarding glibc.
28018         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
28019         * doc/posix-functions/round.texi: Likewise.
28020         * doc/posix-functions/roundl.texi: Likewise.
28021         * doc/posix-functions/truncf.texi: Likewise.
28022         * doc/posix-functions/trunc.texi: Likewise.
28023         * doc/posix-functions/truncl.texi: Likewise.
28024
28025 2010-12-20  Bruno Haible  <bruno@clisp.org>
28026
28027         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
28028         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
28029         * doc/posix-functions/round.texi: Likewise.
28030         * doc/posix-functions/roundl.texi: Likewise.
28031
28032 2010-12-20  Bruno Haible  <bruno@clisp.org>
28033
28034         ttyname_r: Add missing declaration on HP-UX 11.
28035         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
28036         HAVE_TTYNAME_R.
28037         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
28038         declared. Set HAVE_TTYNAME_R always.
28039         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28040         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
28041         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
28042         HAVE_TTYNAME_R.
28043         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
28044
28045 2010-12-20  Bruno Haible  <bruno@clisp.org>
28046
28047         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
28048         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
28049         * doc/posix-functions/getlogin_r.texi: Likewise.
28050         * tests/test-getlogin.c: Include <errno.h>.
28051         (main): Avoid test failure on HP-UX 11.11.
28052         * tests/test-getlogin_r.c (main): Likewise.
28053
28054 2010-12-20  Bruno Haible  <bruno@clisp.org>
28055
28056         getlogin_r: Add missing declaration on HP-UX 11.
28057         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
28058         declared also when it exists as a function.
28059         * doc/posix-functions/getlogin_r.texi: Document this workaround.
28060
28061 2010-12-20  Bruno Haible  <bruno@clisp.org>
28062
28063         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
28064         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
28065         through wcrtomb.
28066
28067 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
28068
28069         ftoastr: fix comment
28070         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
28071         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
28072
28073 2010-12-19  Bruno Haible  <bruno@clisp.org>
28074
28075         isnan: Ensure it is a macro.
28076         * lib/math.in.h (isnan): Define as a macro if not already a macro.
28077         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
28078         Solaris.
28079
28080 2010-12-19  Bruno Haible  <bruno@clisp.org>
28081
28082         ldexpl test: Fix link error on OSF/1 5.1.
28083         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
28084
28085 2010-12-19  Bruno Haible  <bruno@clisp.org>
28086
28087         wctype: Make it work in C++ mode on OSF/1 5.1.
28088         * lib/wctype.in.h (iswblank): Declare but not define here.
28089         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
28090         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
28091         * modules/wctype (Files): Add lib/iswblank.c.
28092
28093 2010-12-19  Bruno Haible  <bruno@clisp.org>
28094
28095         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
28096         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
28097         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
28098
28099 2010-12-19  Bruno Haible  <bruno@clisp.org>
28100
28101         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
28102         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
28103         _POSIX_PII_SOCKET.
28104         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
28105         * doc/posix-functions/recvfrom.texi: Likewise.
28106         * doc/posix-functions/send.texi: Likewise.
28107         * doc/posix-functions/sendto.texi: Likewise.
28108
28109 2010-12-19  Bruno Haible  <bruno@clisp.org>
28110
28111         tcgetsid: Add missing declaration on OSF/1 5.1.
28112         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
28113         HAVE_TCGETSID.
28114         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
28115         Don't set HAVE_TCGETSID.
28116         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
28117         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
28118         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
28119         HAVE_TCGETSID.
28120         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
28121
28122 2010-12-19  Bruno Haible  <bruno@clisp.org>
28123
28124         stdio: Fix problem with popen() declaration on OSF/1 5.1.
28125         * lib/stdio.in.h: During the include_next statement, let recursive
28126         includes of this file include only the system header file.
28127
28128 2010-12-19  Bruno Haible  <bruno@clisp.org>
28129
28130         iconv_open: Fix regression from 2010-12-04.
28131         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
28132         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
28133
28134 2010-12-19  Bruno Haible  <bruno@clisp.org>
28135
28136         stdbool test: Avoid a gcc warning.
28137         * tests/test-stdbool.c (main): Fail if e1 is false.
28138         Reported by Jim Meyering.
28139
28140 2010-12-19  Jim Meyering  <meyering@redhat.com>
28141
28142         setenv: restore to working order
28143         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
28144         mistakenly removed.
28145         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
28146         HAVE_SETENV.
28147         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
28148         HAVE_SETENV.
28149
28150 2010-12-19  Bruno Haible  <bruno@clisp.org>
28151
28152         Document some different function declarations on OSF/1 5.1.
28153         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
28154         * doc/posix-functions/inet_ntop.texi: Likewise.
28155         * doc/posix-functions/gethostname.texi: Likewise.
28156         * lib/unistd.in.h (gethostname): Update comment.
28157
28158 2010-12-19  Bruno Haible  <bruno@clisp.org>
28159
28160         doc: Mention vasprintf-posix module.
28161         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
28162         the 'vasprintf-posix' module.
28163         * doc/glibc-functions/vasprintf.texi: Likewise.
28164
28165 2010-12-19  Bruno Haible  <bruno@clisp.org>
28166
28167         unsetenv: Add missing declaration on OSF/1 5.1.
28168         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
28169         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
28170         Don't set HAVE_UNSETENV. In the test program, set _BSD.
28171         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
28172         not HAVE_UNSETENV.
28173         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
28174         HAVE_UNSETENV.
28175         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
28176
28177 2010-12-19  Bruno Haible  <bruno@clisp.org>
28178
28179         setenv: Add missing declaration on OSF/1 5.1.
28180         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
28181         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
28182         declared. Don't set HAVE_SETENV.
28183         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
28184         not HAVE_SETENV.
28185         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
28186         HAVE_SETENV.
28187         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
28188
28189 2010-12-19  Bruno Haible  <bruno@clisp.org>
28190
28191         nl_langinfo tests: Avoid gcc warning.
28192         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
28193
28194 2010-12-19  Bruno Haible  <bruno@clisp.org>
28195
28196         mknod: Avoid error in C++ mode on OSF/1 with GCC.
28197         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
28198         _GL_CXXALIAS_SYS.
28199
28200 2010-12-19  Bruno Haible  <bruno@clisp.org>
28201
28202         stdbool: Relax test.
28203         * tests/test-stdbool.c (e): Don't require that casts from a variable's
28204         address to 'bool' work in static initializer, for compilers other than
28205         GCC.
28206
28207 2010-12-19  Bruno Haible  <bruno@clisp.org>
28208
28209         ftello: Add missing declaration on OSF/1 5.1.
28210         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
28211         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
28212         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
28213         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
28214         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
28215
28216 2010-12-19  Bruno Haible  <bruno@clisp.org>
28217
28218         fseeko: Add missing declaration on OSF/1 5.1.
28219         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
28220         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
28221         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
28222         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
28223         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
28224
28225 2010-12-19  Bruno Haible  <bruno@clisp.org>
28226
28227         fchdir: Add missing declaration on OSF/1 5.1.
28228         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
28229         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
28230         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
28231         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
28232         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
28233
28234 2010-12-19  Bruno Haible  <bruno@clisp.org>
28235
28236         relocatable-prog-wrapper: Separate from relocatable-prog.
28237         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
28238         uninstall-relocwrapper rule here.
28239         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
28240         Reported by Ian Beckwith <ianb@erislabs.net>.
28241
28242 2010-12-19  Bruno Haible  <bruno@clisp.org>
28243
28244         unistr/u8-mbsnlen: Add missing dependency.
28245         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
28246         Reported by Ian Beckwith <ianb@erislabs.net>.
28247
28248 2010-12-19  Bruno Haible  <bruno@clisp.org>
28249
28250         iconv: Make it possible again to use this module without 'iconv-h'.
28251         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
28252         if it is not defined.
28253         Reported by Ian Beckwith <ianb@erislabs.net>.
28254
28255 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
28256
28257         acl: port to Solaris 8 when copying from tmpfs to ufs
28258         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
28259         error number.  Problem observed on Solaris 8 with latest
28260         coreutils, with "mv A B", where A is on a tmpfs file system and B
28261         is on a ufs file system.  This caused coreutils' mv/part-symlink
28262         test to fail.
28263
28264         tests: set fail=0 at start
28265         * tests/init.sh (setup_): Move fail=0 initialization here ...
28266         (mktempd_): ... from here, so that tests can rely on fail being
28267         set to 0 initially.  This fixes a problem in coreutils; see:
28268         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
28269
28270 2010-12-18  Bruno Haible  <bruno@clisp.org>
28271
28272         memmem-simple: Stylistic changes.
28273         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
28274         Fix preprocessor directive indentation.
28275
28276 2010-12-15  Pádraig Brady <P@draigBrady.com>
28277
28278         memmem, memmem-simple: reorganize and expand empty needle check
28279         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
28280         functional checks to memmem-simple so that one has a fully functional
28281         memmem by using just this module.
28282         Restrict the performance only check to the memmem module.
28283         Also expand the empty needle check to ensure the correct
28284         pointer is returned, not just a non NULL pointer.
28285         * doc/glibc-functions/memmem.texi: Rearrange the portability
28286         documentation to correlate with the rearranged checks.
28287         Clarify exactly how the memmem and memmem-simple modules
28288         relate to each other.
28289
28290 2010-12-15  Pádraig Brady <P@draigBrady.com>
28291             Bruno Haible  <bruno@clisp.org>
28292
28293         Improve cross-compilation guesses for uClibc.
28294         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
28295         that uClibc does not have the glibc bug.
28296         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
28297         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
28298
28299 2010-12-14  Eric Blake  <eblake@redhat.com>
28300
28301         configmake: provide fallbacks for oldest supported autotools
28302         * m4/configmake.m4: New file.
28303         * modules/configmake (Files): Ship it.
28304         (configure.ac): Use it to guarantee fallbacks.
28305
28306 2010-12-13  Pádraig Brady <P@draigBrady.com>
28307
28308         read-file: Improve handling of large files
28309         * lib/read-file.c (fread_file): Minimize realloc()s
28310         for regular files, and better manage sizes around SIZE_MAX.
28311
28312 2010-12-13  Eric Blake  <eblake@redhat.com>
28313
28314         cloexec, fcntl: relax license
28315         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
28316         consent from all contributors.
28317         * modules/fcntl (License): Likewise.
28318
28319 2010-12-10  Bruno Haible  <bruno@clisp.org>
28320
28321         Tests for module 'pipe-posix'.
28322         * modules/pipe-posix-tests: New file.
28323         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
28324
28325 2010-12-10  Bruno Haible  <bruno@clisp.org>
28326
28327         pipe-posix: Make it work in C++ mode.
28328         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
28329         (pipe): Use common idiom, not a macro definition.
28330         * lib/pipe.c: New file.
28331         * m4/pipe.m4: New file.
28332         * modules/pipe-posix (Description): Enhance.
28333         (Files): Add lib/pipe.c, m4/pipe.m4.
28334         (configure.ac): Invoke gl_FUNC_PIPE.
28335         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
28336         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
28337         * tests/test-unistd-c++.cc: Check the signature of pipe.
28338
28339 2010-12-10  Bruno Haible  <bruno@clisp.org>
28340
28341         Rename module 'pipe' to 'spawn-pipe'.
28342         * modules/spawn-pipe: New file, renamed from modules/pipe.
28343         (Files, configure.ac, Makefile.am): Update.
28344         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
28345         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
28346         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
28347         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
28348         "spawn-pipe.h" instead of "pipe.h".
28349         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
28350         to gl_SPAWN_PIPE.
28351         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
28352         (Files, Makefile.am): Update.
28353         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
28354         Update.
28355         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
28356         Include "spawn-pipe.h" instead of "pipe.h".
28357         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
28358         * lib/javacomp.c: Likewise.
28359         * lib/javaversion.c: Likewise.
28360         * lib/pipe-filter-gi.c: Likewise.
28361         * lib/pipe-filter-ii.c: Likewise.
28362         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
28363         * modules/javacomp (Depends-on): Likewise.
28364         * modules/javaversion (Depends-on): Likewise.
28365         * modules/pipe-filter-gi (Depends-on): Likewise.
28366         * modules/pipe-filter-ii (Depends-on): Likewise.
28367         * MODULES.html.sh (Executing programs): Update.
28368         * NEWS: Mention the change.
28369
28370 2010-12-10  Eric Blake  <eblake@redhat.com>
28371
28372         pipe-posix: new module
28373         * modules/pipe-posix: New file.
28374         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
28375         (gl_UNISTD_H): Check for declaration.
28376         * modules/unistd (Makefile.am): Substitute it.
28377         * lib/unistd.in.h (pipe): Provide it for mingw.
28378         * doc/posix-functions/pipe.texi (pipe): Update documentation.
28379         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
28380
28381 2010-12-07  Bruno Haible  <bruno@clisp.org>
28382
28383         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
28384         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
28385         u8_strcmp_gnu.
28386         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
28387
28388 2010-12-06  Bruno Haible  <bruno@clisp.org>
28389
28390         Update internal documentation.
28391         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
28392
28393 2010-12-04  Bruno Haible  <bruno@clisp.org>
28394
28395         Put more information about failed tests into the test return codes.
28396         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
28397         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
28398         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
28399         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
28400         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
28401         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28402         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28403         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
28404         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
28405         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
28406         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
28407         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
28408         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
28409         * m4/stdint.m4 (gl_STDINT_H): Likewise.
28410         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
28411         returns a bit mask.
28412         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
28413         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
28414         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
28415         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
28416         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
28417         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
28418         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
28419         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
28420         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
28421         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
28422         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
28423         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
28424         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
28425         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
28426         * m4/link.m4 (gl_FUNC_LINK): Likewise.
28427         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
28428         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
28429         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
28430         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
28431         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
28432         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
28433         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
28434         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
28435         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
28436         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
28437         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
28438         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
28439         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
28440         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
28441         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
28442         gl_PRINTF_PRECISION): Likewise.
28443         * m4/regex.m4 (gl_REGEX): Likewise.
28444         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
28445         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
28446         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
28447         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28448         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
28449         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28450         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
28451         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
28452         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
28453         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28454         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
28455         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
28456         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
28457         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
28458         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
28459         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
28460         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
28461         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
28462         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
28463         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
28464         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
28465         enumerated value.
28466         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
28467
28468 2010-12-04  Bruno Haible  <bruno@clisp.org>
28469
28470         Update for Solaris 11 2010-11.
28471         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
28472         Express, released in November 2010.
28473
28474 2010-12-04  Bruno Haible  <bruno@clisp.org>
28475
28476         nproc: Relax license.
28477         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
28478         and Paul Eggert.
28479         Requested by Ludovic Courtès <ludo@gnu.org>.
28480
28481 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
28482
28483         utimecmp: fine-grained src to nearby coarse-grained dest
28484
28485         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
28486         and the source is on a file system with higher-resolution time
28487         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
28488         not work, and the time stamps are close together, the algorithm to
28489         determine the exact resolution from the read-back mtime was buggy:
28490         it had a "!=" where it should have had an "==".  This bug has been
28491         in the code ever since it was introduced to gnulib.
28492         Problem reported by Dan Jacobson in
28493         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
28494
28495 2010-11-30  Bruno Haible  <bruno@clisp.org>
28496
28497         strerror_r-posix: Fix autoconf test.
28498         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
28499
28500 2010-11-28  Bruno Haible  <bruno@clisp.org>
28501             Paul Eggert  <eggert@cs.ucla.edu>
28502
28503         Tests for module 'getdomainname'.
28504         * modules/getdomainname-tests: New file.
28505         * tests/test-getdomainname.c: New file, based on
28506         tests/test-gethostname.c.
28507
28508 2010-11-28  Bruno Haible  <bruno@clisp.org>
28509             Paul Eggert  <eggert@cs.ucla.edu>
28510
28511         getdomainname: Use the system function when possible.
28512         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
28513         (getdomainname): Replace if needed. Provide the declaration if it is
28514         missing. Don't use _GL_CXXALIAS_SYS_CAST.
28515         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
28516         (getdomainname): When the system has getdomainname, call the system
28517         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
28518         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
28519         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
28520         found in libnsl. Look for the declaration also in <netdb.h>. Replace
28521         the function if its second argument is of type 'int' or if it is found
28522         in libnsl.
28523         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
28524         <sys/systeminfo.h> and sysinfo().
28525         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
28526         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28527         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
28528         HAVE_GETDOMAINNAME.
28529         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
28530         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
28531         * doc/glibc-functions/getdomainname.texi: Document the problems with
28532         the getdomainname declaration.
28533
28534 2010-11-28  Bruno Haible  <bruno@clisp.org>
28535
28536         sys_socket: Ensure ss_family field on AIX.
28537         * lib/sys_socket.in.h (ss_family): New macro definition.
28538         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
28539         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
28540         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
28541         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
28542         * modules/sys_socket (Makefile.am): Substitute
28543         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
28544         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
28545
28546 2010-11-27  Bruno Haible  <bruno@clisp.org>
28547
28548         readline: Improve configure output.
28549         * m4/readline.m4 (gl_FUNC_READLINE): Make the
28550         "checking for readline..." result understandable.
28551
28552 2010-11-27  Bruno Haible  <bruno@clisp.org>
28553
28554         *printf-posix: Detect a bug on Solaris 10/x86.
28555         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
28556         for floating-point output.
28557         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
28558         directive.
28559         * tests/test-snprintf-posix.h (test_function): Likewise.
28560         * tests/test-sprintf-posix.h (test_function): Likewise.
28561         * tests/test-vasprintf-posix.c (test_function): Likewise.
28562         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
28563         * doc/posix-functions/printf.texi: Likewise.
28564         * doc/posix-functions/snprintf.texi: Likewise.
28565         * doc/posix-functions/sprintf.texi: Likewise.
28566         * doc/posix-functions/vfprintf.texi: Likewise.
28567         * doc/posix-functions/vprintf.texi: Likewise.
28568         * doc/posix-functions/vsnprintf.texi: Likewise.
28569         * doc/posix-functions/vsprintf.texi: Likewise.
28570         * doc/glibc-functions/obstack_printf.texi: Likewise.
28571         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
28572
28573 2010-11-27  Bruno Haible  <bruno@clisp.org>
28574
28575         Fix link error when module libunistring-optional is in use.
28576         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
28577         * modules/striconveha-tests (Makefile.am): Likewise.
28578
28579 2010-11-27  Bruno Haible  <bruno@clisp.org>
28580
28581         regex: Mention link dependencies.
28582         * modules/regex (Link): New section.
28583         * modules/rpmatch (Link): Likewise.
28584         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
28585
28586 2010-11-27  Bruno Haible  <bruno@clisp.org>
28587
28588         ftoastr: Fix compilation error on Solaris.
28589         * lib/ftoastr.c: Include <config.h>.
28590
28591 2010-11-27  Bruno Haible  <bruno@clisp.org>
28592
28593         getloadavg: Update documentation.
28594         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
28595
28596 2010-11-27  Bruno Haible  <bruno@clisp.org>
28597
28598         sys_socket: Fix test whether the functions are declared.
28599         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
28600         not <sys/select.h>.
28601
28602 2010-11-27  Bruno Haible  <bruno@clisp.org>
28603
28604         getpass: Make sure to get system declaration on some platforms.
28605         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
28606         gl_USE_SYSTEM_EXTENSIONS.
28607         * modules/getpass (Depends-on): Add extensions.
28608
28609 2010-11-26  Bruno Haible  <bruno@clisp.org>
28610
28611         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
28612         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
28613         'iconv' module is present.
28614         (ICONV_CONST): New macro.
28615         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
28616         ICONV_CONST.
28617         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
28618         set ICONV_CONST.
28619         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
28620         here.
28621         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
28622         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
28623         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
28624         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
28625         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
28626         present.
28627
28628 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
28629
28630         ftoastr: comment fix
28631         * lib/ftoastr.c: "little" -> "little or no" in comment
28632
28633 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
28634
28635         stdint: port to GCC 4.3 + OSX + Octave
28636         On this platform, stdint.h is buggy and defines int64_t to long
28637         long int.  The replacement defined it to long int, causing
28638         problems with C++ style name mangling.  Instead, trust the system
28639         definition if INT64_MAX is defined, and likewise for the unsigned
28640         variant.   Problem reported by Jarno Rajahalme in
28641         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
28642         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
28643         and don't mess with int64_t and INT64_MAX in this case.
28644         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
28645
28646 2010-11-24  Bruno Haible  <bruno@clisp.org>
28647
28648         doc: Corrections regarding MacOS X 10.4 and 10.5.
28649         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
28650         MacOS X.
28651         Reported by Simon Josefsson.
28652
28653 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
28654
28655         Uninstall ".bin" files installed by relocwrapper.
28656         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
28657         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
28658         unless it is already there.
28659
28660 2010-11-21  Bruno Haible  <bruno@clisp.org>
28661
28662         Update for NetBSD 5.0.
28663         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28664         NetBSD; the test fails on NetBSD 5.0.
28665         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28666         about NetBSD.
28667
28668 2010-11-21  Bruno Haible  <bruno@clisp.org>
28669
28670         Update for HP-UX 11.23 and HP-UX 11.31.
28671         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
28672         HP-UX.
28673
28674 2010-11-21  Bruno Haible  <bruno@clisp.org>
28675
28676         Update for MacOS X 10.5.
28677         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28678         MacOS X; the test fails on MacOS X 10.5.8.
28679         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28680         about MacOS X.
28681
28682 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
28683
28684         bootstrap: add bootstrap_sync option.
28685         See discussion at
28686         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
28687         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
28688         * build-aux/bootstrap: Accept --bootstrap-sync to update
28689         bootstrap if it is not identical to the local gnulib's
28690         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
28691         enable this by default.  Accept --no-bootstrap-sync to disable
28692         it.
28693
28694 2010-11-20  Bruno Haible  <bruno@clisp.org>
28695
28696         Ensure that <features.h> is included before __GLIBC__ is tested.
28697         * lib/printf-parse.h: Include <features.h>.
28698         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
28699         Reported by Mike Frysinger <vapier@gentoo.org>.
28700
28701         Ensure that <features.h> is included before __GLIBC__ is tested.
28702         * lib/wchar.in.h: Include <features.h>.
28703         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
28704         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
28705         Reported by Mike Frysinger <vapier@gentoo.org>.
28706
28707         Ensure that <features.h> is included before __GLIBC__ is tested.
28708         * lib/arpa_inet.in.h: Include <features.h>.
28709         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
28710         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
28711         Reported by Mike Frysinger <vapier@gentoo.org>.
28712
28713         Ensure that <features.h> is included before __GLIBC__ is tested.
28714         * build-aux/link-warning.h: Include <features.h>.
28715         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
28716         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
28717         Reported by Mike Frysinger <vapier@gentoo.org>.
28718
28719         Ensure that <features.h> is included before __GLIBC__ is tested.
28720         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
28721         Reported by Mike Frysinger <vapier@gentoo.org>.
28722
28723 2010-11-20  Bruno Haible  <bruno@clisp.org>
28724
28725         memmem: Fix autoconf test.
28726         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
28727
28728 2010-11-20  Bruno Haible  <bruno@clisp.org>
28729
28730         Port to uClibc.
28731         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
28732         * lib/fcntl.in.h: Likewise.
28733         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
28734         * lib/mbrtowc.c (mbrtowc): Likewise.
28735         * lib/relocatable.c (find_shared_library_fullname): Likewise.
28736         * lib/strerror_r.c: Likewise.
28737         * lib/unistr/u8-strnlen.c: Likewise.
28738         * lib/vasnprintf.c (decimal_point_char): Likewise.
28739         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
28740         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
28741         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
28742         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
28743         * tests/test-sigaction.c (handler, main): Likewise.
28744         * lib/freading.h: Treat uClibc like a non-glibc platform.
28745         * lib/freading.c: Likewise.
28746         * lib/gettext.h: Likewise.
28747         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
28748         Likewise.
28749         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
28750         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
28751         * lib/propername.c (proper_name_utf8): Likewise.
28752         * lib/spawn.in.h: Likewise.
28753         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
28754         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
28755         mem_cd_iconveh_internal): Likewise.
28756         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
28757         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
28758         strstr, strcasestr): Likewise.
28759         * lib/unicodeio.c (unicode_to_mb): Likewise.
28760         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
28761         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
28762         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
28763         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
28764         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
28765         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
28766         * lib/unistr/u8-stpncpy.c: Likewise.
28767         * lib/vasnprintf.c (VASNPRINTF): Likewise.
28768         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
28769         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28770         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28771         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
28772         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
28773         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
28774         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
28775         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
28776         Likewise.
28777         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28778         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28779         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
28780         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28781         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
28782         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28783         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
28784         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
28785         * tests/test-getopt.h (OPTIND_MIN): Likewise.
28786         * tests/test-striconveha.c (main): Likewise.
28787         * tests/test-vasnprintf-posix.c (test_function): Likewise.
28788         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
28789         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
28790         * doc/posix-functions/getline.texi: Likewise.
28791         Reported by Mike Frysinger <vapier@gentoo.org>.
28792
28793 2010-11-20  Bruno Haible  <bruno@clisp.org>
28794
28795         nproc: Fix condition.
28796         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
28797         HAVE_PTHREAD_AFFINITY_NP.
28798
28799 2010-11-20  Bruno Haible  <bruno@clisp.org>
28800
28801         Fix a comment.
28802         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
28803
28804 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
28805
28806         ftoastr: don't assume snprintf
28807         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
28808         Implement a subset of snprintf here, by using sprintf safely.
28809         * modules/ftoastr (Depends-on): Remove snprintf.
28810
28811 2010-11-19  Jim Meyering  <meyering@redhat.com>
28812
28813         test-rename.h: fix compilation failure
28814         * tests/test-rename.h (test_rename): Add omitted "}".
28815
28816 2010-11-17  Jim Meyering  <meyering@redhat.com>
28817
28818         maint.mk: add a URL discussing the no-@acronym policy
28819         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
28820
28821 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
28822
28823         ftoastr: depend on snprintf, improve comments
28824         * lib/ftoastr.c: Also mention Loitsch's draft.
28825         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
28826         needed in the current implementation, but it might simplify
28827         speeding up the code later.
28828         * modules/ftoastr: Depend on snprintf; this improves portability.
28829         Suggested by Bruno Haible in the same email.
28830
28831         ftoastr: port to hosts lacking strtof and strtold
28832         Problem reported by Bruno Haible in
28833         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
28834         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
28835         environment and strtold (and presumably strtof) are not available.
28836         * modules/ftoastr (Files): Add m4/c-strtod.m4.
28837         (configure.ac): Require gl_C99_STRTOLD.
28838
28839 2010-11-18  Bruno Haible  <bruno@clisp.org>
28840
28841         c-strtold: Avoid link error on AIX 7.
28842         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
28843         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
28844         (gl_C_STRTOLD): Test whether strtold_l exists.
28845         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28846
28847 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
28848
28849         intprops: new macro INT_BITS_STRLEN_BOUND
28850         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
28851         ftoastr.h.  This exposes an internal of intprops.h that was formerly
28852         not exposed.  Also, it uses a slightly tighter bound than before;
28853         though this makes no practical difference, we might as well be as
28854         tight as we easily can.
28855
28856         ftoastr: new module, for lossless conversion of floats to short strings
28857         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
28858         * modules/ftoastr: New files.
28859
28860 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
28861
28862         bootstrap: port to Solaris sed
28863         * build-aux/bootstrap (get_version): Port to Solaris sed.
28864         See Ralf Wildenhues's note in
28865         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
28866
28867 2010-11-14  Jim Meyering  <meyering@redhat.com>
28868
28869         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
28870         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
28871         and move definition closer to sole use.
28872
28873 2010-11-13  Jim Meyering  <meyering@redhat.com>
28874
28875         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
28876         Now we require at least autoconf-2.59, which means the work-around
28877         is no longer needed.
28878         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
28879         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28880         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
28881         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
28882         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
28883
28884 2010-11-13  Bruno Haible  <bruno@clisp.org>
28885
28886         rename, renameat: Avoid test failures at NFS mounted locations.
28887         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
28888         functions.
28889         (test_rename): Use assert_nonexistent.
28890         * tests/test-rename.c: Include <dirent.h>.
28891         * tests/test-renameat.c: Likewise.
28892         Reported by Gary V. Vaughan <gary@gnu.org>.
28893
28894         rename, renameat: Document Linux bug with NFS
28895         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
28896         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
28897         * doc/posix-functions/renameat.texi: Likewise.
28898         Suggested by Eric Blake.
28899
28900 2010-11-13  Bruno Haible  <bruno@clisp.org>
28901
28902         rename test: Add comments.
28903         * tests/test-rename.h (test_rename): Add structure and comments.
28904
28905 2010-11-13  Eric Blake  <eblake@redhat.com>
28906
28907         maintainer-makefile: cover a few more files
28908         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
28909         scripts generated within C files, for libvirt.
28910
28911 2010-11-13  Bruno Haible  <bruno@clisp.org>
28912
28913         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
28914         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
28915         character, return the number of bytes that belong together, not always
28916         1.
28917         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
28918         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
28919         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
28920         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
28921         number of bytes of an invalid character.
28922         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
28923         (main): Invoke it.
28924         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
28925         results.
28926         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
28927         malformed byte sequences.
28928         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
28929         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
28930         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
28931         Reported by Ben Pfaff and Paolo Bonzini.
28932
28933 2010-11-13  Bruno Haible  <bruno@clisp.org>
28934
28935         openat: Work around glibc bug with fchownat() and empty file names.
28936         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
28937         (gl_FUNC_FCHOWNAT): Invoke it.
28938         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
28939         * doc/posix-functions/fchownat.texi: Document the glibc bug.
28940         Reported by Gary V. Vaughan <gary@gnu.org>.
28941
28942 2010-11-13  Bruno Haible  <bruno@clisp.org>
28943
28944         openat: Ensure autoconf macro ordering.
28945         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
28946         gl_USE_SYSTEM_EXTENSIONS.
28947         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
28948
28949 2010-11-13  Bruno Haible  <bruno@clisp.org>
28950
28951         Update comments.
28952         * lib/unistr/u8-check.c: Update file name in comments.
28953         * lib/unistr/u8-mblen.c: Likewise.
28954         * lib/unistr/u8-prev.c: Likewise.
28955         * lib/unistr/u8-strmblen.c: Likewise.
28956         * lib/unistr/u8-strmbtouc.c: Likewise.
28957
28958 2010-11-13  Jim Meyering  <meyering@redhat.com>
28959
28960         tests: avoid test failure on Solaris 10 due to lack of PATH export
28961         * tests/test-update-copyright.sh: Don't forget to export PATH.
28962
28963         init.sh: ensure that IFS is defined, just in case...
28964         * tests/init.sh (setup_): Ensure that IFS is defined,
28965         so that saving and restoring it works as expected.  This
28966         appears to be useful at least for an old version of dash
28967         from a long time ago (RH 6).  See here for details:
28968         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
28969
28970         maint.mk: tighten "test a == b" check
28971         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
28972         test to files that contain something like #!/bin/sh.
28973         Without this, coreutils would get two false positives in
28974         the comments of C source files.
28975
28976 2010-11-12  Eric Blake  <eblake@redhat.com>
28977
28978         bootstrap: fix typo in previous attempt
28979         * build-aux/bootstrap (buildreq): Correct the grouping.
28980         Reported by Paul Eggert.
28981
28982         maintainer-makefile: prohibit test x == x
28983         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
28984         Based on a report by Matthias Bolte.
28985
28986         bootstrap: allow FreeBSD gzip
28987         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
28988         which has no '.' and goes to stderr.
28989         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
28990         Reported by Matthias Bolte.
28991
28992         maintainer-makefile: check for i18n setup
28993         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
28994         will likely work.
28995
28996 2010-11-12  Bruno Haible  <bruno@clisp.org>
28997
28998         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
28999         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
29000         * lib/nanosleep.c (nanosleep): Likewise.
29001
29002 2010-11-11  Bruno Haible  <bruno@clisp.org>
29003
29004         fcntl-h: Fix for use of C++ on glibc systems.
29005         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
29006         also on glibc systems in C++ mode.
29007         Reported by Gary V. Vaughan <gary@gnu.org>.
29008
29009 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
29010
29011         mknod: avoid false failure with dash
29012         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
29013
29014 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
29015
29016         unlink: Fix "is it should" typo in diagnostic.
29017         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
29018         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
29019
29020 2010-11-11  Bruno Haible  <bruno@clisp.org>
29021
29022         Tests for module 'strerror_r-posix'.
29023         * modules/strerror_r-posix-tests: New file.
29024         * tests/test-strerror_r.c: New file.
29025         * tests/test-string-c++.cc: Check the signature of strerror_r.
29026
29027         New module 'strerror_r-posix'.
29028         * lib/string.in.h (strerror_r): New declaration.
29029         * lib/strerror_r.c: New file.
29030         * m4/strerror_r.m4: New file.
29031         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
29032         of strerror_r.
29033         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
29034         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
29035         * modules/strerror_r-posix: New file.
29036         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
29037         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
29038         * doc/posix-functions/strerror_r.texi: Mention the new module and the
29039         portability problems.
29040
29041 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
29042
29043         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
29044         line is also considered for output. Quoted function name in shell
29045         command, so temporary files for functions like MyClass::operator()
29046         are removed correctly without errors.
29047
29048 2010-11-09  Bruno Haible  <bruno@clisp.org>
29049
29050         * doc/posix-functions/strerror.texi: List more failing platforms.
29051
29052         * doc/posix-functions/strerror.texi: Add a comment.
29053
29054 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
29055
29056         fdopendir: fix bug on MacOS X when low on file descriptors
29057
29058         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
29059         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
29060         All callers changed.
29061         (fdopendir): Invoke save_cwd at the top level, not after using
29062         multiple dup() calls to use up file descriptors.  Then retry
29063         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
29064         less than the maximum number of open file descriptors, because
29065         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
29066         on Mac OS X 10.6.4 for tar 1.24
29067         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
29068         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
29069         and for tar 1.25
29070         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
29071
29072 2010-11-07  Bruno Haible  <bruno@clisp.org>
29073
29074         vasnprintf: Support I flag on glibc systems.
29075         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
29076         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
29077         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
29078         snprintf function.
29079         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
29080         glibc systems.
29081         * tests/test-vasnprintf-posix3.c: New file.
29082         * modules/vasnprintf-posix-tests (Files): Add it.
29083         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
29084
29085 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
29086
29087         [html] Fix copy/paste bug: Use unique name for compiler warnings.
29088         * MODULES.html.sh: For compiler warnings, use name
29089         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
29090
29091 2010-11-05  Eric Blake  <eblake@redhat.com>
29092
29093         ceil, floor: avoid spurious failure with icc
29094         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
29095         [denormals-as-zero] when optimizing without -mieee-fp option.
29096         * tests/test-floorf2.c (floorf_reference): Likewise.
29097         * tests/test-ceilf1.c (dummy): New function.
29098         (main): Use it to outsmart icc's optimization.
29099         * tests/test-floorf1.c (dummy, main): Likewise.
29100
29101         tests: require working signbit
29102         * modules/ceilf-tests (Depends-on): Add signbit.
29103         * modules/ceill-tests (Depends-on): Likewise.
29104         * modules/floorf-tests (Depends-on): Likewise.
29105         * modules/floorl-tests (Depends-on): Likewise.
29106         * modules/round-tests (Depends-on): Likewise.
29107         * modules/roundf-tests (Depends-on): Likewise.
29108         * modules/roundl-tests (Depends-on): Likewise.
29109         * modules/trunc-tests (Depends-on): Likewise.
29110         * modules/truncf-tests (Depends-on): Likewise.
29111         * modules/truncl-tests (Depends-on): Likewise.
29112
29113         strtod: work around icc bug
29114         * lib/strtod.c (minus_zero): Define to working value.
29115         (strtod): Use it to avoid icc bug.
29116
29117         copysign: enhance tests
29118         * modules/copysign-tests (Files): Add minus-zero.h.
29119         * tests/test-copysign.c (main): Also test zeros.
29120
29121 2010-11-04  Eric Blake  <eblake@redhat.com>
29122
29123         ceil, floor, round, trunc: enhance tests of -0
29124         * tests/test-ceilf1.c (main): Ensure correct sign of result.
29125         * tests/test-ceill.c (main): Likewise.
29126         * tests/test-floorf1.c (main): Likewise.
29127         * tests/test-floorl.c (main): Likewise.
29128         * tests/test-round1.c (main): Likewise.
29129         * tests/test-roundf1.c (main): Likewise.
29130         * tests/test-roundl.c (main): Likewise.
29131         * tests/test-trunc1.c (main): Likewise.
29132         * tests/test-truncf1.c (main): Likewise.
29133         * tests/test-truncl.c (main): Likewise.
29134
29135 2010-11-04  Eric Blake  <eblake@redhat.com>
29136
29137         frexp, tests: work around ICC bug with -zero
29138         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
29139         works with more compilers.
29140         * tests/minus-zero.h: New file.
29141         * modules/ceilf-tests (Files): Include it.
29142         * modules/ceill-tests (Files): Likewise.
29143         * modules/floorf-tests (Files): Likewise.
29144         * modules/floorl-tests (Files): Likewise.
29145         * modules/frexp-nolibm-tests (Files): Likewise.
29146         * modules/frexp-tests (Files): Likewise.
29147         * modules/frexpl-nolibm-tests (Files): Likewise.
29148         * modules/frexpl-tests (Files): Likewise.
29149         * modules/isnan-tests (Files): Likewise.
29150         * modules/isnand-nolibm-tests (Files): Likewise.
29151         * modules/isnand-tests (Files): Likewise.
29152         * modules/isnanf-nolibm-tests (Files): Likewise.
29153         * modules/isnanf-tests (Files): Likewise.
29154         * modules/isnanl-nolibm-tests (Files): Likewise.
29155         * modules/isnanl-tests (Files): Likewise.
29156         * modules/round-tests (Files): Likewise.
29157         * modules/roundf-tests (Files): Likewise.
29158         * modules/roundl-tests (Files): Likewise.
29159         * modules/ldexpl-tests (Files): Likewise.
29160         * modules/signbit-tests (Files): Likewise.
29161         * modules/snprintf-posix-tests (Files): Likewise.
29162         * modules/sprintf-posix-tests (Files): Likewise.
29163         * modules/strtod-tests (Files): Likewise.
29164         * modules/trunc-tests (Files): Likewise.
29165         * modules/truncf-tests (Files): Likewise.
29166         * modules/truncl-tests (Files): Likewise.
29167         * modules/vsnprintf-posix-tests (Files): Likewise.
29168         * modules/vsprintf-posix-tests (Files): Likewise.
29169         * modules/vasnprintf-posix-tests (Files): Likewise.
29170         * modules/vasprintf-posix-tests (Files): Likewise.
29171         * tests/test-ceilf1.c (main): Use it.
29172         * tests/test-ceill.c (main): Likewise.
29173         * tests/test-floorf1.c (main): Likewise.
29174         * tests/test-floorl.c (main): Likewise.
29175         * tests/test-frexp.c (main): Likewise.
29176         * tests/test-frexpl.c (main): Likewise.
29177         * tests/test-isnan.c (main): Likewise.
29178         * tests/test-isnand.h (main): Likewise.
29179         * tests/test-isnanf.h (main): Likewise.
29180         * tests/test-isnanl.h (main): Likewise.
29181         * tests/test-ldexpl.c (main): Likewise.
29182         * tests/test-round.c (main): Likewise.
29183         * tests/test-roundf.c (main): Likewise.
29184         * tests/test-roundl.c (main): Likewise.
29185         * tests/test-signbit.c (test_signbitf, test_signbitd)
29186         (test_signbitl): Likewise.
29187         * tests/test-snprintf-posix.h (test_function): Likewise.
29188         * tests/test-sprintf-posix.h (test_function): Likewise.
29189         * tests/test-strtod.c (main): Likewise.
29190         * tests/test-trunc1.c (main): Likewise.
29191         * tests/test-truncf1.c (main): Likewise.
29192         * tests/test-truncl.c (main): Likewise.
29193
29194         isnanl: work around icc bug
29195         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
29196
29197 2010-11-03  Eric Blake  <eblake@redhat.com>
29198
29199         tests: fix compiler warnings
29200         * tests/test-getopt.h (test_getopt): Fix condition.
29201         * tests/test-getopt_long.h (test_getopt_long): Likewise.
29202         * tests/test-pipe2.c (main): Likewise.
29203         * tests/test-quotearg-simple.c (main): Avoid icc warning.
29204
29205         utimens: fix broken m4 test
29206         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
29207
29208 2010-10-28  Bruno Haible  <bruno@clisp.org>
29209
29210         posix_spawn*, getdtablesize: Relax license.
29211         * modules/posix_spawn (License): Change to LGPLv2+.
29212         * modules/posix_spawnp (License): Likewise.
29213         * modules/posix_spawn-internal (License): Likewise.
29214         * modules/posix_spawnattr_init (License): Likewise.
29215         * modules/posix_spawnattr_getflags (License): Likewise.
29216         * modules/posix_spawnattr_setflags (License): Likewise.
29217         * modules/posix_spawnattr_getpgroup (License): Likewise.
29218         * modules/posix_spawnattr_setpgroup (License): Likewise.
29219         * modules/posix_spawnattr_getschedparam (License): Likewise.
29220         * modules/posix_spawnattr_setschedparam (License): Likewise.
29221         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
29222         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
29223         * modules/posix_spawnattr_getsigdefault (License): Likewise.
29224         * modules/posix_spawnattr_setsigdefault (License): Likewise.
29225         * modules/posix_spawnattr_getsigmask (License): Likewise.
29226         * modules/posix_spawnattr_setsigmask (License): Likewise.
29227         * modules/posix_spawnattr_destroy (License): Likewise.
29228         * modules/posix_spawn_file_actions_init (License): Likewise.
29229         * modules/posix_spawn_file_actions_addclose (License): Likewise.
29230         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
29231         * modules/posix_spawn_file_actions_addopen (License): Likewise.
29232         * modules/posix_spawn_file_actions_destroy (License): Likewise.
29233         * modules/getdtablesize (License): Likewise.
29234         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
29235
29236 2010-10-26  Bruno Haible  <bruno@clisp.org>
29237
29238         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
29239         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
29240         Cygwin and mingw.
29241         Suggested by Eric Blake.
29242
29243 2010-10-26  Bruno Haible  <bruno@clisp.org>
29244
29245         stdio: Work around compilation error due to renameat() on Solaris 10.
29246         * lib/stdio.in.h: Include <unistd.h> on Solaris.
29247         * lib/renameat.c: Don't include <unistd.h> here.
29248         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
29249         Reported by Paul Eggert and Eric Blake.
29250
29251 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
29252
29253         renameat: port to Solaris 10, which declares renameat in unistd.h
29254
29255         * lib/renameat.c: Include unistd.h before stdio.h, because
29256         Solaris 10 declares renameat in unistd.h.  Problem encountered
29257         when building GNU tar 1.24 on Solaris 10.
29258
29259 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
29260
29261         fdopendir: fix C89 compilation
29262         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
29263         compilers.
29264
29265 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
29266
29267         inttostr: simplify by removing unnecessary redundancy
29268         * lib/anytostr.c: Don't include verify.h.
29269         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
29270         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
29271         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
29272         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
29273         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
29274         Likewise.
29275         * modules/inttostr (Depends-on): Remove 'verify'.
29276
29277 2010-10-23  Bruno Haible  <bruno@clisp.org>
29278
29279         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
29280         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
29281         Reported by Eric Blake.
29282
29283 2010-10-23  Bruno Haible  <bruno@clisp.org>
29284
29285         Tests: Fix LOCALE_JA on MirBSD 10.
29286         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
29287         to an UTF-8 locale.
29288         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
29289         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
29290         Reported by Eric Blake.
29291
29292 2010-10-21  Bruno Haible  <bruno@clisp.org>
29293
29294         nl_langinfo test: Avoid test failure on NetBSD 5.
29295         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
29296         Reported by Eric Blake.
29297
29298 2010-10-21  Eric Blake  <eblake@redhat.com>
29299
29300         c-stack: work around libsigsegv 2.8 bug
29301         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
29302         overflow on at least PowerPC64.
29303
29304 2010-10-17  Bruno Haible  <bruno@clisp.org>
29305
29306         userspec: Drop redundant file.
29307         * modules/userspec (Files): Remove lib/inttostr.h.
29308
29309 2010-10-17  Bruno Haible  <bruno@clisp.org>
29310
29311         nl_langinfo tests: Silence some warnings.
29312         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
29313         Reported by Jim Meyering.
29314
29315 2010-10-17  Bruno Haible  <bruno@clisp.org>
29316
29317         Make use of GCC's attribute __alloc_size__.
29318         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
29319         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
29320         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
29321         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
29322         __alloc_size__.
29323         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
29324         Suggested by Jim Meyering.
29325
29326 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
29327
29328         bootstrap: anchor .gitignore entries.
29329         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
29330         with...
29331         (insert_vc_ignore): ... this new function, which prepends `/' to
29332         all .gitignore entries before passing them to
29333         insert_sorted_if_absent.
29334
29335 2010-10-16  Bruno Haible  <bruno@clisp.org>
29336
29337         nextafter: Fix configure check.
29338         * modules/nextafter (configure.ac): Correct expected prototype.
29339
29340 2010-10-16  Bruno Haible  <bruno@clisp.org>
29341
29342         termios: Update documentation.
29343         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
29344
29345 2010-10-16  Bruno Haible  <bruno@clisp.org>
29346
29347         tests: Make them compile with TinyCC.
29348         * tests/test-strstr.c (main): Remove parentheses around array
29349         initializer.
29350
29351 2010-10-15  Eric Blake  <eblake@redhat.com>
29352
29353         ignore-value: make header idempotent
29354         * lib/ignore-value.h: Add double-inclusion guards.
29355         Reported by Stefan Berger.
29356
29357 2010-10-15  Jim Meyering  <meyering@redhat.com>
29358
29359         GNUmakefile: handle "stable" target, not "major"
29360         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
29361         lists in maint.mk and announce-gen.  Without this, "make stable"
29362         would fail to ensure that $(VERSION) is up to date.
29363
29364 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
29365
29366         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
29367         & co.
29368
29369 2010-10-14  Bruno Haible  <bruno@clisp.org>
29370
29371         vasnprintf: Don't set errno to 0.
29372         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
29373         block that sets it to 0.
29374         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
29375
29376 2010-10-14  Bruno Haible  <bruno@clisp.org>
29377
29378         socketlib: Fix.
29379         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
29380         gl_PREREQ_SYS_H_WINSOCK2.
29381         Reported by Ian Beckwith <ianb@erislabs.net>.
29382
29383 2010-10-13  Jim Meyering  <meyering@redhat.com>
29384
29385         test-select-stdin.c: avoid warn_unused_result warnings
29386         * tests/test-select-stdin.c: Include "macros.h".
29387         ASSERT that read and fflush succeed.
29388
29389 2010-10-13  Jim Meyering  <meyering@redhat.com>
29390
29391         git-version-gen: do require git-VC'd files in cwd
29392         * build-aux/git-version-gen: Reject a git version string
29393         if there are no commits associated with the current directory.
29394         This avoids an unlikely false-positive (unrelated dir whose parent
29395         repository also contains a tag matching v*), as pointed out
29396         by Giuseppe Scrivano in
29397         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
29398
29399 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
29400
29401         argv-iter: omit nonconforming declaration
29402         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
29403         enum arg_iter_err declaration, which doesn't conform to C99.
29404         Solaris 10 cc warns about this.
29405
29406 2010-10-13  Eric Blake  <eblake@redhat.com>
29407
29408         termios: fix compilation on mingw
29409         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
29410         (gl_TERMIOS_H): Adjust it on mingw.
29411         * modules/termios (Makefile.am): Substitute new key.
29412         * lib/termios.in.h (includes): Make include_next conditional.
29413         * doc/posix-headers/termios.texi (termios.h): Update
29414         documentation.
29415         Reported by Daniel P. Berrange.
29416
29417 2010-10-13  Jim Meyering  <meyering@redhat.com>
29418
29419         git-version-gen: don't require that .git/ be in the current dir
29420         * build-aux/git-version-gen: Adjust this script so that it works
29421         when run from any working directory beneath the top-level .git/-
29422         containing directory.  Inspired by a patch from Giuseppe Scrivano,
29423         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
29424
29425         test-select: avoid warn_unused_result warnings
29426         * tests/test-select.c: Include "macros.h".
29427         ASSERT that each call to read, write, and pipe succeeds.
29428         While not technically required, also check each "close".
29429         * modules/select-tests (Files): Add tests/macros.h.
29430
29431         test-symlinkat: remove declaration of unused local
29432         * tests/test-symlinkat.c (main): Remove unused local, "buf".
29433
29434         test-inttostr: avoid shadowing warnings
29435         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
29436         and use malloc rather than the stack for the same reason as
29437         mentioned in the comment justifying the other allocation.
29438
29439 2010-10-11  Bruno Haible  <bruno@clisp.org>
29440
29441         stdlib: Allow multiple gnulib generated replacements to coexist.
29442         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
29443         Reported by Sam Steingold <sds@gnu.org>.
29444
29445 2010-10-11  Jim Meyering  <meyering@redhat.com>
29446
29447         fix a documentation typo
29448         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
29449
29450 2010-10-11  Eric Blake  <eblake@redhat.com>
29451
29452         futimens: work around Solaris 11 bug
29453         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
29454         * tests/test-futimens.h (test_futimens): Enhance, rather than
29455         weaken test.
29456         * doc/posix-functions/futimens.texi (futimens): Document the bug.
29457
29458 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
29459
29460         Indentation.
29461         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
29462         higher-level operators more to the left.
29463
29464 2010-10-11  Jim Meyering  <meyering@redhat.com>
29465
29466         test-futimens: avoid unwarranted test failure on Solaris 5.11
29467         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
29468         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
29469         because it tries to dereference the NULL name argument.
29470
29471 2010-10-11  Bruno Haible  <bruno@clisp.org>
29472
29473         Indentation.
29474         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
29475         indentation.
29476
29477 2010-10-11  Jim Meyering  <meyering@redhat.com>
29478
29479         spawn.in.h: make indentation consistent with parentheses
29480         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
29481         Make indentation consistent with parentheses.
29482
29483 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
29484
29485         Fix mismatched parens in previous commit
29486         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
29487         parens.
29488
29489 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
29490
29491         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
29492
29493         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
29494         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
29495         * lib/malloca.c: Include "verify.h".
29496         (verify1): Remove, replacing with a verify call.
29497         * lib/relocwrapper.c (verify1): Likewise.
29498         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
29499         Likewise.
29500         * modules/malloca (Depends-on): Add 'verify'.
29501         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
29502         * modules/vasnprintf (Depends-on): Add 'verify'.
29503         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
29504         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
29505         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
29506         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
29507         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
29508         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
29509         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
29510
29511         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
29512
29513         Formerly the style was sometimes 2*X - 1, because the C standard
29514         was wrongly thought to disallow ?: in integral constant expressions.
29515         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
29516         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
29517         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
29518         * lib/stdint.in.h (_verify_intmax_size): Likewise.
29519         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
29520         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
29521         verify that time_t cannot be floating.
29522
29523 2010-10-08  Eric Blake  <eblake@redhat.com>
29524
29525         time: enforce recent POSIX ruling that time_t is integral
29526         * lib/time.in.h (__time_t_must_be_integral): Detect any
29527         problematic systems, allowing the rest of gnulib to assume POSIX.
29528
29529 2010-10-08  Jim Meyering  <meyering@redhat.com>
29530
29531         fdopendir: fix a bug on systems lacking openat and /proc support
29532         OpenBSD 4.7 is one such system.  The most noticeable effect was
29533         failure of any application making nontrivial use of fts: rm, du,
29534         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
29535           ./rm: traversal failed: `a': Bad file descriptor
29536         Debugging that, you see that even though FD 6 was closed just
29537         prior to the opendir call in fd_clone_opendir, its resulting
29538         dir->dd_fd was 8, rather than the expected value of 6:
29539
29540         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
29541         93                close (fd);
29542         (gdb) n
29543         94                dir = fd_clone_opendir (dupfd);
29544         (gdb) n
29545         95                saved_errno = errno;
29546         (gdb) p dir->dd_fd
29547         $11 = 8
29548
29549         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
29550         The problem is that on OpenBSD, fd_clone_opendir has to resort
29551         to using the old-style save/restore CWD mechanism, due to its
29552         lack of openat/proc support, and *that* would steal the FD (6)
29553         that opendir was supposed to use.
29554
29555         The fix is to squirrel away the desired FD so that save_cwd uses a
29556         different one, and then free the dest FD right before calling opendir.
29557         That guarantees opendir will use the required file descriptor.
29558
29559         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
29560
29561 2010-10-08  Bruno Haible  <bruno@clisp.org>
29562
29563         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
29564         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
29565
29566 2010-10-08  Bruno Haible  <bruno@clisp.org>
29567
29568         nanosleep: Make replacement POSIX compliant.
29569         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
29570         is out of range.
29571         Reported by Jim Meyering.
29572
29573 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
29574
29575         bootstrap: add hook for altering gnulib.mk, for Bison
29576         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
29577         the Bison bootstrapping process can rewrite file names and variables
29578         in this file before later parts of 'bootstrap' use the file.
29579         Bison wants to include lib/gnulib.mk from the top-level makefile,
29580         so it needs the file names in this file to be relative to the top
29581         level, not relative to lib; plus it needs variable names to be
29582         rewritten.
29583         (slurp): Use the new function.
29584
29585         bootstrap: reformat for readability
29586         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
29587
29588 2010-10-08  Eric Blake  <eblake@redhat.com>
29589
29590         docs: update cygwin progress
29591         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
29592         1.7.7.
29593         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
29594         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
29595         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
29596         * doc/posix-functions/carg.texi (carg): Likewise.
29597         * doc/posix-functions/cargf.texi (cargf): Likewise.
29598         * doc/posix-functions/casin.texi (casin): Likewise.
29599         * doc/posix-functions/casinf.texi (casinf): Likewise.
29600         * doc/posix-functions/casinh.texi (casinh): Likewise.
29601         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
29602         * doc/posix-functions/catan.texi (catan): Likewise.
29603         * doc/posix-functions/catanf.texi (catanf): Likewise.
29604         * doc/posix-functions/catanh.texi (catanh): Likewise.
29605         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
29606         * doc/posix-functions/ccos.texi (ccos): Likewise.
29607         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
29608         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
29609         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
29610         * doc/posix-functions/cexp.texi (cexp): Likewise.
29611         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
29612         * doc/posix-functions/cimag.texi (cimag): Likewise.
29613         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
29614         * doc/posix-functions/clog.texi (clog): Likewise.
29615         * doc/posix-functions/clogf.texi (clogf): Likewise.
29616         * doc/posix-functions/conj.texi (conj): Likewise.
29617         * doc/posix-functions/conjf.texi (conjf): Likewise.
29618         * doc/posix-functions/cpow.texi (cpow): Likewise.
29619         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
29620         * doc/posix-functions/cproj.texi (cproj): Likewise.
29621         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
29622         * doc/posix-functions/creal.texi (creal): Likewise.
29623         * doc/posix-functions/crealf.texi (crealf): Likewise.
29624         * doc/posix-functions/csin.texi (csin): Likewise.
29625         * doc/posix-functions/csinf.texi (csinf): Likewise.
29626         * doc/posix-functions/csinh.texi (csinh): Likewise.
29627         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
29628         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
29629         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
29630         * doc/posix-functions/ctan.texi (ctan): Likewise.
29631         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
29632         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
29633         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
29634         * doc/posix-headers/complex.texi (complex.h): Likewise.
29635
29636 2010-10-07  Jim Meyering  <meyering@redhat.com>
29637
29638         parse-datetime: avoid compilation failure on OpenBSD 4.7
29639         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
29640         This works around a compilation failure on OpenBSD 4.7:
29641         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
29642
29643 2010-10-07  Eric Blake  <eblake@redhat.com>
29644
29645         docs: update cygwin progress
29646         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
29647         1.7.6.
29648         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
29649         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
29650         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
29651         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
29652         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
29653         Likewise.
29654         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
29655         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
29656         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
29657         Likewise.
29658         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
29659         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
29660         Likewise.
29661         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
29662         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
29663         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
29664         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
29665         Likewise.
29666         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
29667         Likewise.
29668         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
29669
29670         docs: update parse-datetime history
29671         * doc/parse-datetime.texi (Authors of parse_datetime): Better
29672         documentation of this function's history and alternatives.
29673
29674         cygwin: use more robust version check
29675         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
29676         exclude an eventual cygwin 1.9.1.
29677         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29678         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29679         (gl_FUNC_STRCASESTR): Likewise.
29680         Reported by Bruno Haible.
29681
29682 2010-10-06  Bruno Haible  <bruno@clisp.org>
29683
29684         string, sys_select: Avoid #including large headers unless necessary.
29685         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
29686         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
29687         OSF/1, BeOS, Haiku.
29688         Reported by Jim Meyering.
29689
29690 2010-10-05  Eric Blake  <eblake@redhat.com>
29691
29692         memmem, strstr, strcasestr: fix bug with long periodic needle
29693         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
29694         periodic needle having false positive.
29695         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
29696         and cygwin 1.7.7.
29697         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
29698         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29699         (gl_FUNC_STRCASESTR): Likewise.
29700         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29701         * tests/test-memmem.c (main): Expose the bug.
29702         * tests/test-strcasestr.c (main): Likewise.
29703         * tests/test-strstr.c (main): Likewise.
29704         * tests/test-c-strcasestr.c (main): Likewise.
29705         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
29706         * doc/posix-functions/strstr.texi (strstr): Likewise.
29707         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
29708         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
29709
29710 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29711
29712         parse-datetime: do some more renaming
29713         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
29714         parse_datetime, not get_date.  Mention the renaming.
29715         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
29716         in comments.
29717         * m4/bison.m4: Likewise.
29718
29719 2010-10-05  Eric Blake  <eblake@redhat.com>
29720
29721         parse-datetime: better name than get_date
29722         * NEWS: Reword the deprecation notice.
29723         * modules/get_date: Rename to modules/parse-datetime.
29724         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
29725         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
29726         * lib/get_date.y: Rename to lib/parse-datetime.y.
29727         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
29728         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
29729         * doc/getdate.texi: Provide fallback wrapper.
29730         * lib/getdate.h: Move guts, and wrap...
29731         * lib/parse-datetime.h: ...new file.
29732         * lib/parse-datetime.y (get_date): Rename...
29733         (parse_datetime): ...to this.
29734         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
29735         (gl_PARSE_DATETIME): ...to this.
29736         * doc/posix-functions/getdate.texi (get_date): Provide fallback
29737         documentation.
29738         * modules/getdate (Files): Provide fallback docs and header.
29739         (Notice, Depends-on): Update references.
29740         * tests/test-parse-datetime.c: Likewise.
29741         * DEPENDENCIES: Likewise.
29742         * MODULES.html.sh (Date and time <time.h>): Likewise.
29743         * doc/parse-datetime.texi (Date input formats)
29744         (Authors of parse_datetime): Likewise.
29745         * modules/parse-datetime (Files, configure.ac, Makefile.am)
29746         (Include): Likewise.
29747         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
29748         * gnulib-tool: Likewise.
29749         * m4/bison.m4 (gl_BISON): Likewise.
29750         Suggested by Bruno Haible.
29751
29752 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29753
29754         more ports to Solaris tr, which needs [] around ranges
29755         * gnulib-tool: Solaris tr needs [] around ranges.
29756         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
29757         * tests/test-pipe-filter-gi1.c (main): Likewise.
29758         * tests/test-pipe-filter-ii1.c (main): Likewise.
29759
29760 2010-10-05  Eric Blake  <eblake@redhat.com>
29761
29762         bootstrap: fix Solaris regression
29763         * build-aux/bootstrap (check_versions): Solaris tr still needs []
29764         around ranges.
29765         Reported by Pádraig Brady.
29766
29767         bootstrap: work with pkg-config
29768         * build-aux/bootstrap (check_versions): Also transliterate - in
29769         prerequisite name.
29770         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
29771         prerequisites that were already found, to avoid confusion.
29772         Reported by Justin Clift.
29773
29774         faccessat: remove unused wrappers
29775         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
29776         presence of these wrappers dragged in -lgen on Solaris.
29777         Reported by Clemens Brogi; fix suggested by Paul Eggert.
29778
29779 2010-10-05  Jim Meyering  <meyering@redhat.com>
29780
29781         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
29782         * Makefile (sc_pragma_columns): New syntax-check rule.
29783
29784 2010-10-04  Bruno Haible  <bruno@clisp.org>
29785
29786         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
29787         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
29788         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
29789         Reported by Bruce Korb and Eric Blake.
29790
29791 2010-10-04  Bruno Haible  <bruno@clisp.org>
29792
29793         threadlib: Make option --with-libpth-prefix work.
29794         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
29795         use $LIBPTH, not just -lpth.
29796
29797 2010-10-04  Bruno Haible  <bruno@clisp.org>
29798
29799         Avoid line length limitation from HP NonStop system header files.
29800         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
29801         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
29802         * lib/ctype.in.h: Likewise.
29803         * lib/dirent.in.h: Likewise.
29804         * lib/errno.in.h: Likewise.
29805         * lib/fcntl.in.h: Likewise.
29806         * lib/float.in.h: Likewise.
29807         * lib/getopt.in.h: Likewise.
29808         * lib/iconv.in.h: Likewise.
29809         * lib/inttypes.in.h: Likewise.
29810         * lib/langinfo.in.h: Likewise.
29811         * lib/locale.in.h: Likewise.
29812         * lib/math.in.h: Likewise.
29813         * lib/netdb.in.h: Likewise.
29814         * lib/netinet_in.in.h: Likewise.
29815         * lib/poll.in.h: Likewise.
29816         * lib/pthread.in.h: Likewise.
29817         * lib/pty.in.h: Likewise.
29818         * lib/sched.in.h: Likewise.
29819         * lib/se-selinux.in.h: Likewise.
29820         * lib/search.in.h: Likewise.
29821         * lib/signal.in.h: Likewise.
29822         * lib/spawn.in.h: Likewise.
29823         * lib/stdarg.in.h: Likewise.
29824         * lib/stddef.in.h: Likewise.
29825         * lib/stdint.in.h: Likewise.
29826         * lib/stdio.in.h: Likewise.
29827         * lib/stdlib.in.h: Likewise.
29828         * lib/string.in.h: Likewise.
29829         * lib/strings.in.h: Likewise.
29830         * lib/sys_file.in.h: Likewise.
29831         * lib/sys_ioctl.in.h: Likewise.
29832         * lib/sys_select.in.h: Likewise.
29833         * lib/sys_socket.in.h: Likewise.
29834         * lib/sys_stat.in.h: Likewise.
29835         * lib/sys_time.in.h: Likewise.
29836         * lib/sys_times.in.h: Likewise.
29837         * lib/sys_utsname.in.h: Likewise.
29838         * lib/sys_wait.in.h: Likewise.
29839         * lib/sysexits.in.h: Likewise.
29840         * lib/termios.in.h: Likewise.
29841         * lib/time.in.h: Likewise.
29842         * lib/unistd.in.h: Likewise.
29843         * lib/wchar.in.h: Likewise.
29844         * lib/wctype.in.h: Likewise.
29845         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
29846         * modules/ctype (Makefile.am): Likewise.
29847         * modules/dirent (Makefile.am): Likewise.
29848         * modules/errno (Makefile.am): Likewise.
29849         * modules/fcntl-h (Makefile.am): Likewise.
29850         * modules/float (Makefile.am): Likewise.
29851         * modules/getopt-posix (Makefile.am): Likewise.
29852         * modules/iconv-h (Makefile.am): Likewise.
29853         * modules/inttypes (Makefile.am): Likewise.
29854         * modules/langinfo (Makefile.am): Likewise.
29855         * modules/locale (Makefile.am): Likewise.
29856         * modules/math (Makefile.am): Likewise.
29857         * modules/netdb (Makefile.am): Likewise.
29858         * modules/netinet_in (Makefile.am): Likewise.
29859         * modules/poll-h (Makefile.am): Likewise.
29860         * modules/pthread (Makefile.am): Likewise.
29861         * modules/pty (Makefile.am): Likewise.
29862         * modules/sched (Makefile.am): Likewise.
29863         * modules/search (Makefile.am): Likewise.
29864         * modules/selinux-h (Makefile.am): Likewise.
29865         * modules/signal (Makefile.am): Likewise.
29866         * modules/spawn (Makefile.am): Likewise.
29867         * modules/stdarg (Makefile.am): Likewise.
29868         * modules/stddef (Makefile.am): Likewise.
29869         * modules/stdint (Makefile.am): Likewise.
29870         * modules/stdio (Makefile.am): Likewise.
29871         * modules/stdlib (Makefile.am): Likewise.
29872         * modules/string (Makefile.am): Likewise.
29873         * modules/strings (Makefile.am): Likewise.
29874         * modules/sys_file (Makefile.am): Likewise.
29875         * modules/sys_ioctl (Makefile.am): Likewise.
29876         * modules/sys_select (Makefile.am): Likewise.
29877         * modules/sys_socket (Makefile.am): Likewise.
29878         * modules/sys_stat (Makefile.am): Likewise.
29879         * modules/sys_time (Makefile.am): Likewise.
29880         * modules/sys_times (Makefile.am): Likewise.
29881         * modules/sys_utsname (Makefile.am): Likewise.
29882         * modules/sys_wait (Makefile.am): Likewise.
29883         * modules/sysexits (Makefile.am): Likewise.
29884         * modules/termios (Makefile.am): Likewise.
29885         * modules/time (Makefile.am): Likewise.
29886         * modules/unistd (Makefile.am): Likewise.
29887         * modules/wchar (Makefile.am): Likewise.
29888         * modules/wctype (Makefile.am): Likewise.
29889
29890 2010-10-04  Bruno Haible  <bruno@clisp.org>
29891
29892         read-file tests: Avoid a test failure on NonStop Kernel.
29893         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
29894         a regular file.
29895         Reported by Joachim Schmitz <schmitz@hp.com>.
29896
29897 2010-10-03  Bruno Haible  <bruno@clisp.org>
29898
29899         gnulib-tool: Fixes for --create-testdir with --libtool.
29900         * gnulib-tool (func_get_automake_snippet): Don't augment
29901         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
29902         an executable.
29903         (func_create_testdir): Handle module 'alloca' like func_import.
29904         Reported by Bruce Korb <bruce.korb@gmail.com>.
29905
29906 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
29907
29908         Avoid some lines longer than 80 characters.
29909         * lib/stdint.in.h: Break long comment lines.
29910         * lib/math.in.h: Likewise.
29911         (_GL_NUM_UINT_WORDS): New macro, for readability.
29912         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
29913         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
29914         * lib/stdlib.in.h: Likewise.
29915         * lib/spawn.in.h: Likewise.
29916         * lib/sys_socket.in.h: Update an URL.
29917         * lib/sys_stat.in.h: Break long line.
29918
29919 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
29920
29921         Improve pmccabe2html.
29922         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
29923         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
29924         when the sources change. Remove the line in the HTML about "Used
29925         ranges" (which implied that there might be other unused ranges),
29926         rename "Resume" to "Summary" (easier to understand for more users).
29927         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
29928         styles, and some unnecessary blank lines.
29929
29930 2010-10-03  Bruno Haible  <bruno@clisp.org>
29931             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
29932
29933         acl: Add support for ACLs on NonStop Kernel.
29934         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
29935         Check whether the function aclsort() exists.
29936         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
29937         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
29938         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29939         (acl_nontrivial [HAVE_ACLSORT]: New function.
29940         (file_has_acl): Implement for NonStop Kernel.
29941         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29942         (qset_acl): Implement for NonStop Kernel.
29943         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
29944         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29945         (main): Implement for NonStop Kernel.
29946         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
29947         Kernel. Handle this flavor.
29948         * tests/test-set-mode-acl.sh: Likewise.
29949         * tests/test-copy-acl.sh: Likewise.
29950         * tests/test-copy-file.sh: Likewise.
29951
29952 2010-10-03  Bruno Haible  <bruno@clisp.org>
29953
29954         Info about ACLs on NonStop Kernel.
29955         * doc/acl-resources.txt: Add info about NonStop Kernel.
29956         References by Joachim Schmitz <schmitz@hp.com>.
29957
29958 2010-10-02  Bruno Haible  <bruno@clisp.org>
29959
29960         Define missing EDQUOT on NonStop Kernel.
29961         * lib/errno.in.h (EDQUOT): Assign a value if missing.
29962         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
29963         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
29964         missing.
29965         * doc/posix-headers/errno.texi: Mention the NSK bug.
29966         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
29967         Reported by Joachim Schmitz <schmitz@hp.com>.
29968
29969 2010-10-02  Bruno Haible  <bruno@clisp.org>
29970
29971         Update doc for POSIX:2008.
29972         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
29973         Update URL of POSIX specification.
29974
29975 2010-10-02  Bruno Haible  <bruno@clisp.org>
29976
29977         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
29978         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
29979         from gnulib, not from Automake.
29980
29981 2010-10-02  Bruno Haible  <bruno@clisp.org>
29982
29983         New module 'system-posix'.
29984         * modules/system-posix: New file.
29985         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
29986         module is present.
29987         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
29988         GNULIB_SYSTEM_POSIX.
29989         * modules/stdlib (Depends-on): Remove sys_wait.
29990         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
29991         * doc/posix-functions/system.texi: Mention the new module.
29992         * doc/posix-headers/stdlib.texi: Likewise.
29993         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
29994         define test_sys_wait_macros to a no-op.
29995         Reported by Sam Steingold <sds@gnu.org>.
29996
29997 2010-09-30  Bruno Haible  <bruno@clisp.org>
29998
29999         More renaming from 'getdate' to 'get_date'.
30000         * doc/get_date.texi: Renamed from doc/getdate.texi.
30001         * modules/get_date (Files): Update.
30002         * MODULES.html.sh (Date and time <time.h>): Update.
30003         * DEPENDENCIES: Update.
30004         * gnulib-tool: Update comment.
30005         * m4/bison.m4 (gl_BISON): Likewise.
30006         * m4/get_date.m4 (gl_GET_DATE): Likewise.
30007
30008 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
30009
30010         bootstrap: support ACLOCAL_FLAGS during aclocal
30011         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
30012         can add additional -I dir for third-party .m4 files.
30013
30014 2010-09-30  Eric Blake  <eblake@redhat.com>
30015
30016         bootstrap: use glibtoolize on MacOS
30017         * build-aux/bootstrap (check_versions): Convert libtool into
30018         libtoolize.
30019         (tool search): Move libtool check earlier, and look for
30020         glibtoolize for MacOS.
30021         (gnulib_tool_options): Auto-add --libtool when appropriate.
30022         Reported by Justin Clift.
30023
30024         poll: fix typo that broke test on MacOS
30025         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
30026         Reported by Justin Clift.
30027
30028         getdate: rename to get_date
30029         Note: getdate.h is not renamed, to minimize client impact.
30030         * modules/getdate: Mark obsolete.  Move old contents...
30031         * modules/get_date: ...to new module name.
30032         * modules/getdate-tests: Move...
30033         * modules/get_date-tests: ...here.
30034         * m4/getdate.m4: Move...
30035         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
30036         * lib/getdate.y: Move...
30037         * lib/get_date.y: ...here.
30038         * tests/test-getdate.c: Move...
30039         * tests/test-get_date.c: ...here.
30040         * doc/posix-functions/getdate.texi (getdate): Update name.
30041         * NEWS: Mention the change.
30042
30043 2010-09-29  Bruno Haible  <bruno@clisp.org>
30044
30045         Separate the module 'waitpid' from the module 'sys_wait'.
30046         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
30047         present.
30048         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
30049         gl_MODULE_INDICATOR_FOR_TESTS.
30050         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
30051         * modules/sys_wait (Depends-on): Remove waitpid.
30052         (Makefile.am): Substitute GNULIB_WAITPID.
30053         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
30054         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
30055         signature only if the 'waitpid' module is present.
30056         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
30057         * NEWS: Mention the change.
30058         * modules/grantpt (Depends-on): Add waitpid.
30059         * modules/wait-process (Depends-on): Likewise.
30060
30061 2010-09-29  Bruno Haible  <bruno@clisp.org>
30062
30063         More tests for module 'sys_wait'.
30064         * modules/sys_wait-c++-tests: New file.
30065         * tests/test-sys_wait-c++.cc: New file.
30066         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
30067         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
30068
30069 2010-09-29  Bruno Haible  <bruno@clisp.org>
30070
30071         New module 'waitpid'.
30072         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
30073         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
30074         Don't include <process.h>.
30075         (waitpid): Declare only, using modern idiom.
30076         * m4/waitpid.m4: New file.
30077         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
30078         * modules/waitpid: New file.
30079         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
30080         (Makefile.am): Update.
30081         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
30082
30083 2010-09-28  Bruno Haible  <bruno@clisp.org>
30084
30085         poll: Assume ANSI C.
30086         * lib/poll.c (poll): Use an ANSI C declaration.
30087
30088 2010-09-28  Bruno Haible  <bruno@clisp.org>
30089
30090         poll-h: Create poll.h on all platforms.
30091         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
30092         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
30093         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
30094         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
30095         (gl_REPLACE_POLL_H): Don't set POLL_H.
30096         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
30097         * modules/poll-h (Depends-on): Add include_next.
30098         (Makefile.am): Create poll.h unconditionally. Substitute also
30099         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
30100
30101 2010-09-28  Bruno Haible  <bruno@clisp.org>
30102
30103         Tests for module 'poll-h'.
30104         * modules/poll-h-c++-tests: New file.
30105         * tests/test-poll-h-c++.cc: New file.
30106
30107         Tests for module 'poll-h'.
30108         * modules/poll-h-tests: New file.
30109         * tests/test-poll-h.c: New file.
30110
30111 2010-09-28  Bruno Haible  <bruno@clisp.org>
30112
30113         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
30114         * modules/poll-h (Depends-on): Add 'extensions'.
30115
30116 2010-09-28  Bruno Haible  <bruno@clisp.org>
30117
30118         New module 'poll-h'.
30119         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
30120         (poll): Use modern idiom.
30121         * modules/poll-h: New file.
30122         * modules/poll (Files): Remove lib/poll.in.h.
30123         (Depends-on): Add poll-h.
30124         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
30125         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
30126         * m4/poll_h.m4: New file.
30127         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
30128         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
30129         and invoke gl_REPLACE_POLL_H.
30130         * lib/poll.c: Use common idiom.
30131         * tests/test-poll.c: Likewise.
30132         * doc/posix-headers/poll.texi: Mention the poll-h module.
30133         Suggested by Eric Blake.
30134
30135 2010-09-26  Bruno Haible  <bruno@clisp.org>
30136
30137         sys_wait: Implement WSTOPSIG.
30138         * lib/sys_wait.in.h (WSTOPSIG): New macro.
30139         Reported by Simon Josefsson.
30140
30141 2010-09-26  Simon Josefsson  <simon@josefsson.org>
30142
30143         stdlib, sys_wait: Avoid compilation error on mingw.
30144         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
30145
30146 2010-09-26  Bruno Haible  <bruno@clisp.org>
30147
30148         stdlib tests: Avoid code duplication.
30149         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
30150         * modules/sys_wait-tests (Files): Likewise.
30151         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
30152         * tests/test-stdlib.c: Include test-sys_wait.h.
30153         (main): Invoke test_sys_wait_macros.
30154         * tests/test-sys_wait.c: Include test-sys_wait.h.
30155         (main): Invoke test_sys_wait_macros.
30156
30157 2010-09-25  Simon Josefsson  <simon@josefsson.org>
30158
30159         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
30160         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
30161         sure Windows sockets are working before calling getaddrinfo.
30162         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
30163         * doc/gnulib.texi (Windows sockets): Fix typo.
30164
30165 2010-09-25  Bruno Haible  <bruno@clisp.org>
30166
30167         Tests for module 'regex-quote'.
30168         * modules/regex-quote-tests: New file.
30169         * tests/test-regex-quote.c: New file.
30170
30171         New module 'regex-quote'.
30172         * lib/regex-quote.h: New file.
30173         * lib/regex-quote.c: New file.
30174         * modules/regex-quote: New file.
30175         Suggested by Reuben Thomas <rrt@sc3d.org>.
30176
30177 2010-09-24  Bruno Haible  <bruno@clisp.org>
30178
30179         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
30180         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
30181
30182 2010-09-23  Bruno Haible  <bruno@clisp.org>
30183
30184         setenv: Relax license.
30185         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
30186         Blake.
30187         Requested by Eric Blake.
30188
30189 2010-09-22  Bruno Haible  <bruno@clisp.org>
30190
30191         termios: Relax license.
30192         * modules/termios (License): Change to LGPLv2+.
30193         Requested by Eric Blake.
30194
30195 2010-09-22  Bruno Haible  <bruno@clisp.org>
30196
30197         threadlib: Allow the package to change the default to 'no'.
30198         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
30199         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
30200         Reported by Paul Eggert.
30201
30202 2010-09-22  Pádraig Brady  <P@draigbrady.com>
30203             Bruno Haible  <bruno@clisp.org>
30204
30205         Fix endless loop in mbmemcasecoll.
30206         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
30207         byte.
30208         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
30209
30210 2010-09-22  Bruno Haible  <bruno@clisp.org>
30211
30212         Tests for module 'memcoll'.
30213         * modules/memcoll-tests: New file.
30214         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
30215
30216         memcoll, xmemcoll: Clarify size vs. length.
30217         * modules/memcoll.c (memcoll0): Clarify specification.
30218         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
30219         passed to collate_error.
30220
30221 2010-09-22  Bruno Haible  <bruno@clisp.org>
30222
30223         Tests for module 'memcasecmp'.
30224         * modules/memcasecmp-tests: New file.
30225         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
30226
30227 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
30228
30229         * lib/pthread.in.h: Add split double-inclusion guard, and include
30230         system <pthread.h> if there is one.  Use @@-style as in other
30231         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
30232         pthread.h doesn't.
30233         (pthread_mutexattr_destroy, pthread_mutexattr_init):
30234         (pthread_mutexattr_settype, pthread_mutex_trylock):
30235         New static inline functions, if there's no system <pthread.h>.
30236         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
30237         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
30238         Approximate with mutexes if the system lacks spinlocks, as in
30239         MacOS.
30240         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
30241         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
30242         @@-style.  Check for spinlocks separately.
30243         (gl_PTHREAD_DEFAULTS): New macro.
30244         * modules/pthread: Redo to use a more typical style for in.h files.
30245
30246 2010-09-21  Eric Blake  <eblake@redhat.com>
30247
30248         net_if: enhance tests
30249         * tests/test-net_if.c (main): Move signature checks earlier.
30250         Print failures to stderr.
30251         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
30252         Document the bug that we do not yet fix.
30253
30254 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
30255
30256         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
30257         about gnulib, not GSS.
30258
30259 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
30260
30261         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
30262         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
30263         for Emacs.
30264         * build-aux/pmccabe2html: Make Makefile.am example code more
30265         cut-and-paste friendly.
30266
30267 2010-09-21  Simon Josefsson  <simon@josefsson.org>
30268
30269         * tests/test-net_if.c: New file.
30270         * modules/net_if-tests: New file.
30271
30272 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
30273
30274         pthread: add pthread_spin_destroy
30275         * lib/pthread.in.h (pthread_spin_destroy): New function.
30276
30277 2010-09-19  Bruno Haible  <bruno@clisp.org>
30278
30279         gnulib-tool: Fix --help output.
30280         * gnulib-tool (func_usage): Fix help message.
30281         Reported by Reuben Thomas <rrt@sc3d.org>.
30282
30283 2010-09-18  Jim Meyering  <meyering@redhat.com>
30284
30285         maint.mk: avoid unexpanded \n in two diagnostics
30286         * top/maint.mk (sc_prohibit_always_true_header_tests):
30287         Don't use a literal \n in a halt=... assignment.  It would not be
30288         expanded, and the two \n bytes would appear in the diagnostic output
30289         rather than the desired newline.  Use halt=$$(printf ... instead.
30290         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
30291
30292 2010-09-18  Bruno Haible  <bruno@clisp.org>
30293
30294         netinet_in: Doc tweak.
30295         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
30296         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30297
30298 2010-09-18  Jim Meyering  <meyering@redhat.com>
30299
30300         init.sh: correct an outdated comment
30301         * tests/init.sh (create_exe_shims_):  s/function/alias/
30302
30303         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
30304         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
30305         a file named "*.exe" is removed between the glob expansion and the
30306         processing of that oddly named file.
30307
30308 2010-09-17  Eric Blake  <eblake@redhat.com>
30309
30310         mirbsd: add some more support
30311         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
30312         in BSD family.
30313         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
30314         devices as OpenBSD.
30315         * m4/host-os.m4 (mirbsd): Add MirBSD.
30316
30317         tests: fix unportable assumption on sys/wait.h
30318         * tests/test-sys_wait.c (main): Relax test.
30319         * tests/test-stdlib.c (main): Likewise.
30320
30321         init.sh: accommodate directory with no .exes
30322         * tests/init.sh: Accomodate directory containing only scripts.
30323
30324         tests: avoid compiler warning
30325         * tests/test-stdlib.c (main): Use the variable.
30326
30327         fdutimens, fdutimensat: update signature, again
30328         * lib/utimens.h (gl_futimens): Delete, and move signature...
30329         (fdutimens): ...here.
30330         (fdutimensat): Rearrange signature.
30331         (lutimensat): Rename variable for clarity.
30332         * lib/fdutimensat.c (fdutimensat): Update signature.
30333         * lib/utimens.c (fdutimens): Likewise.
30334         (gl_futimens): Delete.
30335         (utimens, lutimens): Update callers.
30336         * lib/futimens.c (futimens): Likewise.
30337         * tests/test-fdutimensat.c: Likewise.
30338         * tests/test-utimens.c: Likewise.
30339         * tests/test-futimens.h: Update comment.
30340         * NEWS: Mention this.
30341         Suggested by Paul Eggert.
30342
30343 2010-09-17  Bruno Haible  <bruno@clisp.org>
30344
30345         Take over the maintenance of some older macros from Autoconf.
30346         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
30347         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
30348         GNU Autoconf.
30349         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
30350         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
30351
30352 2010-09-17  Eric Blake  <eblake@redhat.com>
30353
30354         fdutimensat: drop atflag validation
30355         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
30356         with valid fd, to close a race scenario where futimens is
30357         unsupported and FILE was replaced by a symlink.
30358         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
30359         accordingly.
30360         Suggested by Paul Eggert.
30361
30362 2010-09-16  Bruno Haible  <bruno@clisp.org>
30363
30364         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
30365         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
30366
30367 2010-09-16  Bruno Haible  <bruno@clisp.org>
30368
30369         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
30370         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
30371         login_tty exists.
30372         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30373
30374 2010-09-16  Bruno Haible  <bruno@clisp.org>
30375
30376         login_tty: Make the replacement code work on BSD systems.
30377         * lib/login_tty.c: Include <sys/ioctl.h>.
30378         (login_tty): Use ioctl TIOCSCTTY when available.
30379         * modules/login_tty (Depends-on): Add sys_ioctl.
30380         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30381
30382 2010-09-16  Bruno Haible  <bruno@clisp.org>
30383
30384         login_tty: Stricter unit test.
30385         * modules/login_tty-tests (Depends-on): Add tcgetsid.
30386         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
30387         and tcgetsid() after login_tty.
30388         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30389
30390 2010-09-16  Bruno Haible  <bruno@clisp.org>
30391
30392         New module 'tcgetsid'.
30393         * lib/tcgetsid.c: New file.
30394         * m4/tcgetsid.m4: New file.
30395         * modules/tcgetsid: New file.
30396         * modules/termios (Depends-on): Add c++defs, warn-on-use.
30397         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
30398         GNULIB_TCGETSID, HAVE_TCGETSID.
30399         * lib/termios.in.h: Include <sys/types.h>.
30400         (tcgetsid): New declaration.
30401         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
30402         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
30403         * doc/posix-functions/tcgetsid.texi: Mention the new module.
30404         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
30405
30406 2010-09-16  Bruno Haible  <bruno@clisp.org>
30407
30408         Tests for module 'termios'.
30409         * modules/termios-c++-tests: New file.
30410         * modules/termios-tests: New file.
30411         * tests/test-termios-c++.cc: New file.
30412         * tests/test-termios.c: New file.
30413
30414         New module 'termios'.
30415         * modules/termios: New file.
30416         * lib/termios.in.h: New file.
30417         * m4/termios_h.m4: New file.
30418         * doc/posix-headers/termios.texi: Mention the new module.
30419
30420 2010-09-16  Eric Blake  <eblake@redhat.com>
30421
30422         fdutimensat: add an atflag parameter
30423         * lib/fdutimensat.c (fdutimensat): Add new parameter.
30424         * lib/utimens.h (fdutimensat): Update prototype.
30425         * tests/test-fdutimensat.c: Adjust test to match.
30426         * NEWS: Document the change.
30427         Suggested by Paul Eggert.
30428
30429 2010-09-16  Bruno Haible  <bruno@clisp.org>
30430
30431         Fix typos in comments.
30432         * lib/striconveh.h: Fix typo in comment.
30433         * lib/login_tty.c (login_tty): Likewise.
30434
30435 2010-09-15  Bruno Haible  <bruno@clisp.org>
30436
30437         stdlib: clarify MirBSD WEXITSTATUS bug
30438         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
30439         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
30440
30441 2010-09-15  Eric Blake  <eblake@redhat.com>
30442
30443         stdlib: work around MirBSD WEXITSTATUS bug
30444         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
30445         * modules/stdlib (Depends-on): Add sys_wait.
30446         * tests/test-sys_wait.c (main): Enhance test.
30447         * tests/test-stdlib.c (main): Likewise.
30448         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
30449
30450         docs: mention MacOS issue with WEXITSTATUS(constant)
30451         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
30452         issue.
30453         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
30454
30455         strnlen: add tests
30456         * modules/strnlen-tests: New file.
30457         * tests/test-strnlen.c: Likewise.
30458
30459 2010-09-14  Bruno Haible  <bruno@clisp.org>
30460
30461         unistr/base: Avoid link errors when module 'libunistring' is also used.
30462         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
30463         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
30464         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
30465         Declare also when HAVE_LIBUNISTRING is set.
30466         Reported by Pádraig Brady <P@draigbrady.com>.
30467
30468 2010-09-14  Eric Blake  <eblake@redhat.com>
30469
30470         test-rawmemchr: make more robust
30471         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
30472         (Depends-on, configure.ac): Add needed prerequisites to use it.
30473         * modules/memchr-tests (Files, Depends-on, configure.ac):
30474         Likewise, to avoid implicit reliance on memchr module prereqs.
30475         * tests/test-memchr.c (main): Ensure proper masking.
30476         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
30477         reads.
30478
30479         memchr: detect glibc Alpha bug
30480         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
30481         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
30482         Alpha.
30483         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
30484         * tests/test-memchr.c (main): Enhance test.
30485         Reported by Nelson H. F. Beebe.
30486
30487 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
30488
30489         fts, getcwd, glob: audit for dirfd returning -1
30490         * lib/fts.c (opendir): Remove #define; no longer used.
30491         (opendirat): New arg PDIR_FD.  All callers changed.
30492         (fts_build, _opendir2): Use new opendirat to avoid the need for
30493         dirfd, or for checking whether dirfd returns a negative value.
30494         Don't use opendir; always use openat followed by fdopendir.
30495         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
30496         it.
30497         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
30498         returns -1 here.
30499         * modules/fts (Depends-on): Remove dirfd.
30500         * modules/getcwd (Depends-on): Likewise.
30501
30502 2010-09-13  Eric Blake  <eblake@redhat.com>
30503
30504         float: fix broken MirBSD header
30505         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
30506         * doc/posix-headers/float.texi (float.h): Document it.
30507
30508 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
30509
30510         fts: use O_NOFOLLOW to avoid race condition when opening a directory
30511         * lib/fts.c (opendirat): New arg extra_flags.
30512         (__opendir2): Use it to avoid following symlinks when opening
30513         a directory, if symlinks are not supposed to be followed.  See
30514         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
30515
30516         fdopendir: preserve argument fd before returning
30517         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
30518         (fdopendir_with_dup, fd_clone_opendir): New static functions.
30519         (fdopendir): Use them, arranging for FD to be open to the same
30520         directory that it was when it started.  (It might be temporarily
30521         closed while fdopendir is running, so this not thread- or
30522         signal-safe.)  Be careful to do the right thing even when file
30523         descriptors are scarce and dup fails with errno == EMFILE.  See
30524         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
30525
30526 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
30527
30528         regex: Pass the system regex if its only problem is 32-bit regoff_t.
30529         * NEWS: Document change.
30530         * m4/regex.m4: Disable test for regoff_t size.
30531
30532 2010-09-13  Jim Meyering  <meyering@redhat.com>
30533
30534         fts: don't operate on an invalid file descriptor after failed dup
30535         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
30536         negative file descriptor.
30537
30538 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
30539
30540         savedir: add streamsavedir, deprecate fdsavedir
30541         * NEWS: Mention deprecation of fdsavedir.
30542         * lib/savedir.c (streamsavedir): New extern function, whose name
30543         ends in "savedir" to be consistent with the others.  This differs
30544         from savedirstream in that it doesn't close its argument.  The
30545         next version of GNU tar will use this instead of fdsavedir, to
30546         avoid some race conditions and conserve file descriptors.
30547         (savedirstream): Reimplement as a wrapper around streamsavedir.
30548         (fdsavedir): Add a comment deprecating this function.  As far as
30549         I know, only GNU tar used it, and GNU tar doesn't need it any more.
30550         * lib/savedir.h (streamsavedir): New decl.
30551         (fdsavedir): Add a comment deprecating this.
30552
30553 2010-09-10  Bruno Haible  <bruno@clisp.org>
30554
30555         langinfo: Fix last commit.
30556         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
30557         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
30558         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30559
30560 2010-09-10  Bruno Haible  <bruno@clisp.org>
30561
30562         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
30563         * lib/progreloc.c (O_EXEC): Define fallback.
30564
30565 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
30566
30567         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
30568         * NEWS: Document recent changes to fcntl-h.
30569         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
30570         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
30571         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
30572         Similarly for O_SEARCH; this last was already true, but not documented.
30573         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
30574         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
30575         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
30576         Likewise.
30577         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
30578         is zero, not whether it is defined.
30579         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
30580         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
30581         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
30582
30583 2010-09-10  Bruno Haible  <bruno@clisp.org>
30584
30585         langinfo, nl_langinfo: Fix for IRIX 5.3.
30586         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
30587         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
30588         HAVE_LANGINFO_YESEXPR.
30589         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
30590         HAVE_LANGINFO_YESEXPR.
30591         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
30592         HAVE_LANGINFO_T_FMT_AMPM is 0.
30593         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
30594         HAVE_LANGINFO_YESEXPR is 0.
30595         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
30596         NOEXPR.
30597         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
30598         * doc/posix-functions/nl_langinfo.texi: Likewise.
30599         Reported by Eric Blake.
30600
30601 2010-09-10  Bruno Haible  <bruno@clisp.org>
30602
30603         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
30604         * doc/glibc-functions/login_tty.texi: Mention the include file problem
30605         on FreeBSD 8.0 and OpenBSD 4.6.
30606         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
30607         * m4/pty_h.m4 (gl_PTY_H): Likewise.
30608         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
30609         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
30610         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
30611         ac_includes_default.
30612         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30613
30614 2010-09-09  Eric Blake  <eblake@redhat.com>
30615
30616         strsignal: work around NetBSD bug
30617         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
30618         * lib/string.in.h (includes): Likewise.
30619         * doc/posix-functions/strsignal.texi (strsignal): Document the
30620         bug.
30621         Reported by Nelson H. F. Beebe.
30622
30623         gnulib-tool: work with NetBSD /bin/sh
30624         * gnulib-tool (func_cache_var, func_cache_lookup_module)
30625         (func_get_description, func_get_comment, func_get_status)
30626         (func_get_notice, func_get_applicability, func_get_filelist)
30627         (func_get_dependencies, func_get_autoconf_early_snippet)
30628         (func_get_autoconf_snippet, func_get_automake_snippet)
30629         (func_get_include_directive, func_get_link_directive)
30630         (func_get_license, func_get_maintainer, func_import): Avoid
30631         shell syntax errors from parsing syntax extensions.
30632
30633 2010-09-09  Bruno Haible  <bruno@clisp.org>
30634
30635         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30636         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
30637         a reliable way to determine whether the 'alias' command works.
30638
30639 2010-09-08  Jim Meyering  <meyering@redhat.com>
30640
30641         init.sh: penalize a set-x-impaired shell; don't disqualify it
30642         * tests/init.sh: Too many shells corrupt application stderr when
30643         you set -x, so we can't afford to disqualify them, since at least
30644         on Irix-6.5, that would disqualify all bourne shells.
30645         Instead, use a two-pass approach.
30646         On the first pass, try to find a shell that meets the stricter
30647         condition that set -x does not corrupt stderr.
30648         If no shell meets the stricter condition, retest each candidate
30649         shell, but without that extra condition.  Finally, when
30650         VERBOSE=yes is requested and set -x might cause trouble, simply
30651         issue a warning and refrain from enabling debug output.
30652
30653 2010-09-08  Eric Blake  <eblake@redhat.com>
30654
30655         unsetenv: fix OpenBSD bug
30656         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
30657         * doc/posix-functions/unsetenv.texi (unsetenv): Update
30658         documentation.
30659         Reported by Jim Meyering.
30660
30661         strtod: work around IRIX 6.5 bug
30662         * lib/strtod.c (strtod): Reparse number on shorter string if
30663         exponent parse was invalid.
30664         * tests/test-strtod.c (main): Add check for "0x1p 2".
30665         Reported by Tom G. Christensen.
30666
30667         getopt: optimize previous patch
30668         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
30669         empty variable.  Speed up awk script.
30670         Reported by Paolo Bonzini.
30671
30672 2010-09-08  Jim Meyering  <meyering@redhat.com>
30673
30674         test.sh: disqualify shells for which set -x corrupts stderr
30675         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
30676         and OpenBSD 4.7.  They make it so with "set -x", environment settings
30677         appear in stderr output.  For example, this command:
30678             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
30679         prints "P=1" on those two systems:
30680
30681 2010-09-08  Bruno Haible  <bruno@clisp.org>
30682
30683         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30684         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
30685         commands, because some shells ignore redirections when there is an
30686         error in the command lookup.
30687         Reported by Eric Blake.
30688
30689 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
30690
30691         * lib/regex.h: Fix a mention of `regex_compile' (should be
30692         `re_compile_pattern').
30693         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
30694         (re_set_registers): Correct name of parameter in comment.
30695
30696         * doc/regex.texi: Add documentation for missing syntax flags.
30697         Remove commented-out documentation of defunct syntax option
30698         RE_NO_EMPTY_ALTS.
30699         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
30700         Add documentation of re_set_registers.
30701         Document trick to re-use a pattern buffer by setting fastmap manually.
30702         Update documentation of struct re_pattern_buffer per public members.
30703         Uncomment documentation of equivalence class operators and
30704         collating symbol operators, since they are now implemented,
30705         Explain leftmost-longest matching in relation to alternatives.
30706         Tidy documentation of substring matching.
30707         Remove POSIX documentation, which is done better in
30708         glibc, and refer the reader there. Keep BSD API documentation, as
30709         that is not readily available elsewhere.
30710
30711 2010-09-07  Eric Blake  <eblake@redhat.com>
30712
30713         getopt: handle POSIXLY_CORRECT set but not exported
30714         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
30715         export state of POSIXLY_CORRECT, due to bash set -o posix.
30716         Reported by Dustin J. Mitchell.
30717
30718 2010-09-05  Bruno Haible  <bruno@clisp.org>
30719
30720         gnulib-tool: Highlight the changed options.
30721         * gnulib-tool (func_usage): Display the --import, --add-import,
30722         --remove-import explanations in bold font.
30723
30724 2010-09-06  Karl Berry  <karl@gnu.org>
30725
30726         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
30727
30728 2010-09-05  Bruno Haible  <bruno@clisp.org>
30729
30730         uniwidth/width: Update comment.
30731         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
30732         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
30733
30734 2010-09-05  Bruno Haible  <bruno@clisp.org>
30735
30736         isinf, isnan: Relax license.
30737         * modules/isinf (License): Change from GPL to LGPL, with consent from
30738         Ben Pfaff.
30739         * modules/isnan (License): Likewise.
30740         Requested by Ludovic Courtès.
30741
30742 2010-09-04  Bruno Haible  <bruno@clisp.org>
30743
30744         gnulib-tool: Help migration from --import to --add-import or --update.
30745         * gnulib-tool: Emit a verbose error message when --import is used
30746         without any module name.
30747
30748 2010-09-04  Bruno Haible  <bruno@clisp.org>
30749
30750         Update doc about gnulib-tool.
30751         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
30752         'gnulib-tool --update' in more detail.
30753         Reported by Eric Blake.
30754
30755 2010-09-04  Bruno Haible  <bruno@clisp.org>
30756
30757         gnulib-tool: Change --import. New options --add/remove-import.
30758         * gnulib-tool: New options --add-import, --remove-import.
30759         (func_usage): Document them.
30760         (have_associative): Define always.
30761         (func_import): In import mode, don't merge the specified settings with
30762         the cached settings. Implement remove-import mode.
30763         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
30764         Explain when to use them versus --import.
30765         (Simple update): Use --add-import instead of --import.
30766         * NEWS: Mention the change.
30767
30768 2010-09-04  Bruno Haible  <bruno@clisp.org>
30769
30770         * doc/gnulib-tool.texi (Initial import): Update paragraph about
30771         separate gnulib.mk.
30772
30773 2010-09-04  Bruno Haible  <bruno@clisp.org>
30774
30775         gnulib-tool: Don't talk about CVS any more.
30776         * gnulib-tool (func_usage, func_import): Write "version control"
30777         instead of CVS.
30778
30779 2010-09-04  Jim Meyering  <meyering@redhat.com>
30780
30781         maint.mk: avoid obscure sc_copyright_check failure in coreutils
30782         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
30783         false positives (whose names may be ill-chosen) when searching
30784         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
30785         would cause a false-positive.
30786
30787         avoid coreutils "make distcheck" failure
30788         Coreutils tests with an absolute build directory name that contains
30789         a space.  Not quoting this directory name caused a failure.
30790         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
30791         * tests/test-vc-list-files-cvs.sh: Likewise.
30792
30793 2010-09-04  Bruno Haible  <bruno@clisp.org>
30794
30795         gnulib-tool: Avoid error when run in a package without Makefile.am.
30796         * gnulib-tool: When collecting the m4dirs in a package that does not
30797         have a Makefile.am, eliminate those directories that contain no
30798         gnulib-cache.m4. Fix expression that counts these directories.
30799
30800 2010-09-04  Bruno Haible  <bruno@clisp.org>
30801
30802         update-copyright test: Improve output when perl is missing or too old.
30803         * tests/test-update-copyright.sh: Move test of Perl version down after
30804         the test whether Perl exists. Provide an explanation relating Perl's
30805         error message to Automake's SKIP: message.
30806
30807 2010-09-04  Bruno Haible  <bruno@clisp.org>
30808
30809         Don't augment PATH in TESTS_ENVIRONMENT.
30810         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
30811         set abs_aux_dir instead of augmenting PATH.
30812         * modules/vc-list-files-tests (Makefile.am): Likewise.
30813         * tests/test-update-copyright.sh: Augment PATH here.
30814         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
30815         path_prepend_.
30816         * tests/test-vc-list-files-git.sh: Likewise.
30817
30818 2010-09-04  Jim Meyering  <meyering@redhat.com>
30819
30820         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
30821         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
30822
30823 2010-09-04  Bruno Haible  <bruno@clisp.org>
30824
30825         strdup: Fix compilation error in C++ mode.
30826         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
30827         the macro.
30828
30829 2010-09-04  Bruno Haible  <bruno@clisp.org>
30830
30831         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
30832         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
30833         macro into a function.
30834         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30835
30836 2010-09-04  Bruno Haible  <bruno@clisp.org>
30837
30838         Set PATH_SEPARATOR the same way autoconf does.
30839         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
30840         the value of PATH_SEPARATOR the same way autoconf-generated configure
30841         scripts do.
30842         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
30843         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
30844
30845 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
30846
30847         Set PATH_SEPARATOR the same way autoconf does.
30848         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
30849         the same way autoconf-generated configure scripts do.
30850         * posix-modules: Likewise.
30851
30852 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
30853
30854         hash: fix safe_hasher const typo
30855         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
30856         const; otherwise, there is a type error later.
30857
30858 2010-09-02  Jim Meyering  <meyering@redhat.com>
30859
30860         test-update-copyright.sh: require perl 5.8.0
30861         * tests/test-update-copyright.sh: Require 5.8.0,
30862         which Tom G. Christensen has confirmed is adequate,
30863         while 5.6.1 is not.
30864
30865 2010-09-02  Eric Blake  <eblake@redhat.com>
30866
30867         tests: init.sh improvements for re-exec'ing with zsh
30868         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
30869         -vx through shell re-exec.
30870         Reported by Tom G. Christensen.
30871
30872         wctype: fix typo in previous commit
30873         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
30874         Reported by Ludovic Courtès.
30875
30876 2010-09-02  Jim Meyering  <meyering@redhat.com>
30877
30878         test-update-copyright.sh: skip test if Perl is too old
30879         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
30880         Reported by Tom G. Christensen.
30881
30882 2010-09-02  Bruno Haible  <bruno@clisp.org>
30883
30884         wctype: Avoid compilation error on IRIX 6.5.30.
30885         * lib/wctype.in.h (iswblank): Declare with a replacement if
30886         REPLACE_ISWBLANK is set.
30887         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
30888         declared. Set REPLACE_ISWBLANK.
30889         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
30890         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
30891         * doc/posix-headers/wctype.texi: Likewise.
30892         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30893
30894 2010-09-01  Bruno Haible  <bruno@clisp.org>
30895
30896         New module 'socketlib'.
30897         * modules/socketlib: New file.
30898         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
30899         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
30900         * modules/sockets (Depends-on): Add socketlib.
30901         Suggested by Sam Steingold <sds@gnu.org>.
30902
30903 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
30904
30905         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
30906
30907         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
30908         when one needs search access to a directory but not read access.
30909         On systems where it is available, it works in some cases where
30910         O_RDONLY does not, namely on directories that are searchable but
30911         not readable, and which need only to be searchable.  If O_SEARCH
30912         is not available, fall back to the traditional method of using
30913         O_RDONLY.
30914
30915         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
30916         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
30917         when opening a directory that needs only to be searchable.
30918         * lib/chdir-safer.c (chdir_no_follow): Likewise.
30919         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
30920         * lib/openat-proc.c (openat_proc_name): Likewise.
30921         * lib/openat.c (openat_needs_fchdir): Likewise.
30922         * lib/save-cwd.c (save_cwd): Likewise.
30923         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
30924
30925 2010-08-28  Bruno Haible  <bruno@clisp.org>
30926
30927         New module 'host-cpu-c-abi'.
30928         * modules/host-cpu-c-abi: New file.
30929         * m4/host-cpu-c-abi.m4: New file, based on part of
30930         clisp/src/m4/general.m4.
30931         Requested by Sam Steingold <sds@gnu.org>.
30932
30933 2010-08-31  Eric Blake  <eblake@redhat.com>
30934         and Jim Meyering  <meyering@redhat.com>
30935
30936         hash: factor, and guard against misbehaving hasher function
30937         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
30938         of table->hasher's return value.  Also protect against a hash value
30939         so large that adding it to table->bucket results in a NULL pointer.
30940         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
30941         Use it in place of open-coded check-and-abort.
30942
30943 2010-08-30  Bruno Haible  <bruno@clisp.org>
30944
30945         hash: silence spurious clang warning
30946         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
30947         Reported by Eric Blake.
30948
30949 2010-08-30  Eric Blake  <eblake@redhat.com>
30950
30951         strstr, memmem, strcasestr: avoid leaked shell message
30952         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
30953         FreeBSD.
30954         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30955         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
30956
30957         tests: silence clang warning
30958         * tests/test-malloca.c (do_allocation): Avoid dead store.
30959
30960 2010-08-29  Bruno Haible  <bruno@clisp.org>
30961
30962         gettext: Fix recent mistake.
30963         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
30964
30965 2010-08-29  Bruno Haible  <bruno@clisp.org>
30966
30967         selinux-h: Offer a --without-selinux option.
30968         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
30969         --without-selinux was specified, skip all tests and define
30970         HAVE_SELINUX_SELINUX_H to 0.
30971         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
30972         set LIB_SELINUX to empty.
30973         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
30974         gl_LIBSELINUX. If --without-selinux was specified, replace
30975         selinux/context.h.
30976         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
30977
30978 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30979             Bruno Haible  <bruno@clisp.org>
30980
30981         Make the module 'realloc-gnu' work again on AIX and OSF/1.
30982         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
30983         of HAVE_REALLOC.
30984         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
30985         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
30986         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
30987         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30988
30989 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30990             Bruno Haible  <bruno@clisp.org>
30991
30992         Make the module 'calloc-gnu' work again on AIX and OSF/1.
30993         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
30994         HAVE_CALLOC.
30995         * lib/xmalloc.c: Update accordingly.
30996         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
30997         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
30998         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
30999
31000 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
31001             Bruno Haible  <bruno@clisp.org>
31002
31003         Make the module 'malloc-gnu' work again on AIX and OSF/1.
31004         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
31005         HAVE_MALLOC.
31006         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
31007         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
31008         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
31009
31010 2010-08-29  Bruno Haible  <bruno@clisp.org>
31011
31012         Update modules list.
31013         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
31014         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
31015         (String handling <string.h>): Add astrxfrm.
31016         (File system functions): Add readlinkat.
31017
31018 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31019
31020         Tests for module 'realloc-gnu'.
31021         * modules/realloc-gnu-tests: New file.
31022         * tests/test-realloc-gnu.c: New file.
31023
31024         Tests for module 'calloc-gnu'.
31025         * modules/calloc-gnu-tests: New file.
31026         * tests/test-calloc-gnu.c: New file.
31027
31028         Tests for module 'malloc-gnu'.
31029         * modules/malloc-gnu-tests: New file.
31030         * tests/test-malloc-gnu.c: New file.
31031
31032 2010-08-28  Bruno Haible  <bruno@clisp.org>
31033
31034         Rename module 'realloc' -> 'realloc-gnu'.
31035         * modules/realloc-gnu: New file, copied from modules/realloc.
31036         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
31037         obsolete.
31038         * modules/mgetgroups (Depends-on): Update.
31039         * doc/posix-functions/realloc.texi: Update.
31040         * NEWS: Mention the change.
31041
31042         Rename module 'calloc' -> 'calloc-gnu'.
31043         * modules/calloc-gnu: New file, copied from modules/calloc.
31044         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
31045         obsolete.
31046         * doc/posix-functions/calloc.texi: Update.
31047         * NEWS: Mention the change.
31048
31049         Rename module 'malloc' -> 'malloc-gnu'.
31050         * modules/malloc-gnu: New file, copied from modules/malloc.
31051         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
31052         obsolete.
31053         * modules/argp (Depends-on): Update.
31054         * modules/regex (Depends-on): Update.
31055         * doc/posix-functions/malloc.texi: Update.
31056         * NEWS: Mention the change.
31057
31058 2010-08-28  Eric Blake  <eblake@redhat.com>
31059
31060         pread, pwrite: add missing dependency
31061         * modules/pread (Depends-on): Add extensions.
31062         * modules/pwrite (Depends-on): Likewise.
31063
31064 2010-08-28  Bruno Haible  <bruno@clisp.org>
31065
31066         unistr/u*-strchr: Fix tests dependencies.
31067         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
31068         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
31069         Reported by Ian Beckwith <ianb@erislabs.net>.
31070
31071 2010-08-28  Bruno Haible  <bruno@clisp.org>
31072
31073         read-file: Don't occupy too much unused memory.
31074         * lib/read-file.c (fread_file): Shrink the buffer at the end.
31075
31076 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
31077             Eric Blake  <eblake@redhat.com>
31078             Bruno Haible  <bruno@clisp.org>
31079
31080         read-file: Avoid memory reallocations with regular files.
31081         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
31082         (fread_file): With regular files, use the remaining length as the
31083         initial buffer size.  Check against overflow.
31084         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
31085         sys_stat.
31086
31087 2010-08-28  Bruno Haible  <bruno@clisp.org>
31088
31089         ftello: Relax license.
31090         * modules/ftello (License): Relax to LGPLv2+.
31091         Reported by Eric Blake.
31092
31093 2010-08-28  Bruno Haible  <bruno@clisp.org>
31094
31095         Avoid relocwrapper link errors due to gnulib replacement functions.
31096         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
31097         function.
31098         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31099
31100 2010-08-28  Bruno Haible  <bruno@clisp.org>
31101
31102         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
31103         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
31104         defined.
31105         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
31106         Suggested by Eric Blake.
31107
31108 2010-08-28  Bruno Haible  <bruno@clisp.org>
31109
31110         sys_socket, netdb: Ensure socklen_t gets defined.
31111         * modules/sys_socket (Depends-on): Add socklen.
31112         * modules/netdb (Depends-on): Likewise.
31113         * modules/getaddrinfo (Depends-on): Remove socklen.
31114         * modules/getsockopt (Depends-on): Likewise.
31115         * modules/setsockopt (Depends-on): Likewise.
31116         * tests/test-sys_socket.c: Check that socklen_t is defined.
31117         * tests/test-netdb.c: Likewise.
31118         * m4/socklen.m4: Update comments.
31119         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31120
31121 2010-08-27  Eric Blake  <eblake@redhat.com>
31122
31123         login_tty: add missing dependency
31124         * modules/login_tty (Depends-on): Add pty.
31125
31126 2010-08-26  Eric Blake  <eblake@redhat.com>
31127
31128         lib-symbol-versions: fix m4 quoting
31129         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
31130         format for AC_LINK_IFELSE.
31131
31132         glob: fix compile test
31133         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
31134
31135         btowc: fix missing file
31136         * modules/btowc (Files): Also ship locale-fr.m4.
31137
31138         lseek: fix link test
31139         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
31140         AC_LINK_IFELSE.
31141
31142         include_next: silence autoconf 2.68 warning
31143         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
31144         AC_COMPILE_IFELSE as special.
31145         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
31146         autoconf < 2.68.
31147
31148         acl: fix compilation test
31149         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
31150         AC_COMPILE_IFELSE.
31151
31152 2010-08-26  Bruno Haible  <bruno@clisp.org>
31153
31154         Modernize AC_TRY_RUN invocations.
31155         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
31156         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
31157         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
31158         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
31159         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
31160         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
31161         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
31162         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
31163         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
31164         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
31165         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
31166         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
31167         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
31168         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
31169         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
31170         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
31171         gl_MBRLEN_NUL_RETVAL): Likewise.
31172         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
31173         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
31174         Likewise.
31175         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
31176         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
31177         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
31178         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
31179         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
31180         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
31181         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
31182         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
31183         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
31184         Likewise.
31185         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
31186         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
31187         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
31188         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
31189         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31190         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
31191         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
31192         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
31193         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
31194         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
31195
31196 2010-08-26  Bruno Haible  <bruno@clisp.org>
31197
31198         Modernize AC_TRY_LINK invocations.
31199         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
31200         AC_TRY_LINK.
31201         * m4/argp.m4 (gl_ARGP): Likewise.
31202         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
31203         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
31204         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
31205         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
31206         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
31207         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
31208         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
31209         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
31210         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
31211         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
31212         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
31213         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
31214         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
31215         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
31216         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
31217         * m4/hostent.m4 (gl_HOSTENT): Likewise.
31218         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
31219         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
31220         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
31221         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
31222         Likewise.
31223         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
31224         Likewise.
31225         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
31226         Likewise.
31227         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
31228         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
31229         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
31230         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
31231         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
31232         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
31233         * m4/servent.m4 (gl_SERVENT): Likewise.
31234         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
31235         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
31236         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
31237         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
31238         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
31239         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
31240         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
31241         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31242         * modules/tsearch-tests (configure.ac): Likewise.
31243
31244 2010-08-26  Bruno Haible  <bruno@clisp.org>
31245
31246         Modernize AC_TRY_COMPILE invocations.
31247         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
31248         AC_TRY_COMPILE.
31249         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
31250         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
31251         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
31252         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
31253         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
31254         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
31255         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
31256         * m4/lock.m4 (gl_LOCK): Likewise.
31257         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
31258         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
31259         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
31260         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
31261         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
31262         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
31263         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
31264         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
31265         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
31266         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
31267         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
31268         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
31269         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
31270         extraneous semicolon.
31271
31272 2010-08-26  Jim Meyering  <meyering@redhat.com>
31273
31274         stat-time: relax license LGPL
31275         * modules/stat-time (License): Change from GPL to LGPL,
31276         with consent from all contributors, for use in libguile.
31277         Requested by Ludovic Courtès.
31278
31279 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
31280
31281         poll: return immediately on POLLHUP.
31282         * lib/poll.c (poll): Always set timeout before wait_timeout is
31283         computed.
31284
31285 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31286
31287         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
31288         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
31289         rmdir ("dir/.//"), unlinkat.
31290
31291 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
31292
31293         stdbool: avoid spurious failure with modern xlc
31294         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
31295
31296 2010-08-24  Bruno Haible  <bruno@clisp.org>
31297
31298         getloadavg: simplify code
31299         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
31300         gl_have_func. Update comments.
31301
31302 2010-08-24  Eric Blake  <eblake@redhat.com>
31303
31304         getloadavg: don't define SVR4 on cygwin
31305         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
31306         only define SVR4 when -lkvm is required.
31307         Reported by Yaakov Selkowitz.
31308
31309 2010-08-24  Bruno Haible  <bruno@clisp.org>
31310
31311         priv-set: fix comment
31312         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
31313
31314 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
31315
31316         priv-set: fix comments
31317         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
31318         to match code, as suggested by David Bartley in:
31319         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
31320
31321 2010-08-23  Eric Blake  <eblake@redhat.com>
31322
31323         stdbool: avoid rejecting clang
31324         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
31325         * tests/test-stdbool.c: Enable more tests if using the system
31326         <stdbool.h> instead of the gnulib replacement.
31327         (main): Move xlc bug test to a runtime test for all compilers.
31328         Reported by Anders Kaseorg.
31329
31330         argz: fix shell quoting issue
31331         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
31332         Reported by Charles Wilson.
31333
31334 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
31335             Erik Faye-Lund <kusmabite@gmail.com>
31336
31337         poll, select: handle ERROR_BROKEN_PIPE.
31338         * lib/poll.c (win32_compute_revents): Return POLLHUP when
31339         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
31340         * lib/select.c (win32_compute_revents): Do not mark a pipe
31341         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
31342
31343 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
31344
31345         fts: allow compilation with C++
31346         * lib/fts_.h: Specify extern "C" linkage with C++.
31347
31348 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31349
31350         Fix gnulib-tool sed script de-commentation for AIX sed.
31351         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
31352         sed.
31353
31354 2010-08-17  Eric Blake  <eblake@redhat.com>
31355
31356         test-stddef: test for (some) offsetof bugs
31357         * tests/test-stddef.c: Enhance test to ensure correct type of
31358         offsetof.
31359         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
31360         that we are not fixing at this time.
31361
31362 2010-08-15  Bruno Haible  <bruno@clisp.org>
31363
31364         stpncpy: Allow stpncpy to be defined as a macro.
31365         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
31366         if it's already correctly declared.
31367         * lib/string.in.h (stpncpy): Undefine before redefining.
31368         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
31369
31370 2010-08-14  Bruno Haible  <bruno@clisp.org>
31371
31372         Rename module 'memxfrm' to 'amemxfrm'.
31373         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
31374         (amemxfrm): Renamed from memxfrm.
31375         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
31376         (amemxfrm): Renamed from memxfrm.
31377         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
31378         * NEWS: Mention the change.
31379         * MODULES.html.sh (String handling <string.h>): Update.
31380         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
31381         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
31382         * lib/unicase/u16-casexfrm.c: Likewise.
31383         * lib/unicase/u32-casexfrm.c: Likewise.
31384         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
31385         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
31386         * lib/uninorm/u16-normxfrm.c: Likewise.
31387         * lib/uninorm/u32-normxfrm.c: Likewise.
31388         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
31389         memxfrm.
31390         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
31391         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
31392         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
31393         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
31394         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
31395         Suggested by Paul Eggert.
31396
31397 2010-08-14  Bruno Haible  <bruno@clisp.org>
31398
31399         Tests for module 'astrxfrm'.
31400         * modules/astrxfrm-tests: New file.
31401         * tests/test-astrxfrm.c: New file.
31402
31403         New module 'astrxfrm'.
31404         * lib/astrxfrm.h: New file.
31405         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
31406         * modules/astrxfrm: New file.
31407
31408 2010-08-14  Reuben Thomas <rrt@sc3d.org>
31409
31410         regex: Tweak doc.
31411         * doc/regex.texi (Overview): Don't mention regex.c.
31412         (GNU Regular Expression Compiling): Likewise.
31413         (Match-end-of-line Operator): Mention 'not_eol'.
31414
31415 2010-08-14  Brian Gough  <bjg@gnu.org>
31416             Bruno Haible  <bruno@clisp.org>
31417
31418         git-merge-changelog: add doc relating to use with bzr and hg.
31419         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
31420
31421 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
31422
31423         pthread: fix pthread.h creation for srcdir != builddir
31424         * modules/pthread (Makefile.am): Fix the rule to work also in a
31425         non-srcdir build.
31426
31427 2010-08-13  Karl Berry  <karl@gnu.org>
31428
31429         * doc/regex.texi (Predefined Syntaxes): @smallexample.
31430         * doc/posix-*/*: force line break before @url of POSIX
31431         specifications.
31432         Suggested by Werner Lemberg.
31433
31434 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
31435
31436         strtod: fix const diagnostic
31437         * lib/strtod.c (strtod): Don't assign const char * to char *,
31438         as this elicits a warning from GCC when warnings are enabled.
31439
31440 2010-08-10  Pádraig Brady <P@draigbrady.com>
31441         and Eric Blake  <eblake@redhat.com>
31442
31443         copy-acl: ignore ENOTSUP on HP-UX
31444         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
31445         so that it is available for HP-UX.
31446         * lib/copy-acl.c (qcopy_acl): Use it.
31447         Reported by Patrick M. Callahan.
31448
31449 2010-08-10  Eric Blake  <eblake@redhat.com>
31450
31451         open, chown: relax license
31452         * modules/open (License): Change to LGPLv2+, with consent by all
31453         authors, for use in augeas.
31454         * modules/chown (License): Likewise.
31455         * modules/lchown (Likewise): Likewise.
31456         Requested by Adam Stokes.
31457
31458 2010-08-09  Karl Berry  <karl@gnu.org>
31459
31460         * build-aux/ar-lib: new file, import from Automake.
31461         * config/srclist.txt: autocheck for updates.
31462
31463 2010-08-09  Eric Blake  <eblake@redhat.com>
31464
31465         readlinkat: adjust client modules
31466         * modules/areadlinkat (Depends-on): Use readlinkat, not
31467         symlinkat.
31468         * modules/areadlinkat-with-size (Depends-on): Likewise.
31469
31470         mknod: be more vocal about danger of running tests as root
31471         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
31472         root, since that is just asking for problems.
31473         Suggested by Bruno Haible, based on a report by Rainer Tammer.
31474
31475         readlinkat: split into its own module
31476         * modules/symlinkat: Split readlinkat...
31477         * modules/readlinkat: ...into separate module.
31478         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
31479         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
31480         * lib/symlinkat.c (readlinkat): Move...
31481         * lib/readlinkat.c: ...into new file.
31482         * modules/symlinkat-tests: Split readlinkat test...
31483         * modules/readlinkat-tests: ...into separate module.
31484         * tests/test-symlinkat.c: Split...
31485         * tests/test-readlinkat.c: ...into new file.
31486         * NEWS: Document the split.
31487         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
31488         * lib/unistd.in.h (readlinkat): Likewise.
31489         Suggested by Bruno Haible.
31490
31491 2010-08-08  Bruno Haible  <bruno@clisp.org>
31492
31493         memxfrm: Speed up.
31494         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
31495         that usually only one call to strxfrm is necessary for each string
31496         part.
31497         Reported by Paul Eggert <eggert@cs.ucla.edu>.
31498
31499 2010-08-07  Karl Berry  <karl@gnu.org>
31500
31501         * doc/posix-headers/limits.texi,
31502         * doc/posix-functions/malloc.texi,
31503         * doc/posix-functions/strsignal.texi: missing @item.
31504         * doc/ld-version-script.texi: spurious leading i.
31505         * doc/regex.texi (Interval Operators): no commas inside @var.
31506
31507 2010-08-01  Bruno Haible  <bruno@clisp.org>
31508
31509         Integrate the regex documentation.
31510         * doc/gnulib.texi: Define 'cn' index.
31511         (Regular expressions): New a chapter that includes regex.texi and
31512         regexprops-generic.texi.
31513         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
31514         syntax.
31515
31516         Whitespace cleanup.
31517         * doc/regex.texi: Remove trailing spaces.
31518
31519         Add regex documentation.
31520         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
31521         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
31522         Written by Kathy A. Hargreaves and Karl Berry.
31523
31524 2010-08-01  Bruno Haible  <bruno@clisp.org>
31525
31526         link: Update documentation.
31527         * doc/posix-functions/link.texi: Update regarding Solaris.
31528
31529 2010-07-31  Bruno Haible  <bruno@clisp.org>
31530
31531         Update modules list.
31532         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
31533         (String handling <string.h>): Add memcmp2, memxfrm.
31534         (Container data structures): Add xlist, xsublist, xoset.
31535         (Core language properties): Add alignof, unused-parameter.
31536         (Process control, Numeric conversion functions <stdlib.h>): Renamed
31537         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
31538         (Unibyte characters <ctype.h>): New section.
31539         (String handling <string.h>): New section.
31540         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
31541         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
31542         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
31543         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
31544         tan, tanh, tanl, y0, y1, yn.
31545         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
31546         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
31547         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
31548         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
31549         unlockpt, vdprintf, vdprintf-posix.
31550         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
31551         (File system functions): Add concat-filename, sys_file, sys_ioctl,
31552         xconcat-filename.
31553         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
31554         getdtablesize, pipe2, pipe2-safer.
31555         (Security): New section.
31556         (Networking functions): Add accept4.
31557         (Signal handling): Add sigpipe.
31558         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
31559         mbmemcasecoll.
31560         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
31561         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
31562         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
31563         pipe-filter-ii.
31564         (Misc): Add argp-version-etc, login_tty, parse-duration.
31565
31566 2010-07-31  Bruno Haible  <bruno@clisp.org>
31567
31568         Improve doc in MODULES.html.
31569         * modules/linkat (Description): Add the word "function".
31570         * modules/mkfifo (Description): Likewise.
31571         * modules/mknod (Description): Likewise.
31572         * modules/remove (Description): Likewise.
31573         * modules/renameat (Description): Likewise.
31574         * modules/stat (Description): Likewise.
31575         * modules/symlink (Description): Likewise.
31576         * modules/unlink (Description): Likewise.
31577
31578 2010-07-31  Bruno Haible  <bruno@clisp.org>
31579
31580         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
31581         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
31582         option --enable/disable-c++ instead of --enable/disable-cxx.
31583         * NEWS: Mention the change.
31584
31585 2010-07-31  Bruno Haible  <bruno@clisp.org>
31586
31587         readlink, areadlink: Relax test a bit.
31588         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
31589         alternative to ENOTDIR.
31590         * tests/test-areadlink.h (test_areadlink): Likewise.
31591         Reported by Rainer Tammer.
31592
31593 2010-07-31  Bruno Haible  <bruno@clisp.org>
31594
31595         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
31596         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
31597         character, perform the search using U_STRCHR.
31598         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
31599         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
31600         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
31601         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
31602         Suggested by Paolo Bonzini.
31603
31604 2010-07-31  Bruno Haible  <bruno@clisp.org>
31605
31606         unistr/u*-strstr: Fix dependencies.
31607         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
31608         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
31609         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
31610
31611 2010-07-31  Bruno Haible  <bruno@clisp.org>
31612
31613         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
31614         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
31615         the beginning of the loop.
31616         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
31617         cases in 'switch' statement.
31618
31619         unistr/u8-strchr: Fix several bugs.
31620         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
31621         the string. When not found, return NULL, not a pointer near the end.
31622
31623         More tests for unistr/u8-strchr.
31624         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
31625         that the function does not read past the first occurrence of the byte
31626         being searched.
31627         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
31628         * tests/unistr/test-u16-strchr.c (main): New function.
31629         * tests/unistr/test-u32-strchr.c (main): New function.
31630
31631 2010-07-31  Bruno Haible  <bruno@clisp.org>
31632
31633         posix-modules: Ignore backup files of documentation files.
31634         * posix-modules: grep only through files named *.texi.
31635
31636 2010-07-31  Bruno Haible  <bruno@clisp.org>
31637
31638         symlinkat: Fix documentation.
31639         * doc/posix-functions/readlinkat.texi: Fix module name.
31640
31641 2010-07-31  Bruno Haible  <bruno@clisp.org>
31642
31643         fchownat: Replace also when chown has the trailing slash bug.
31644         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
31645         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
31646         introduced on 2010-04-10.
31647         Reported by Rainer Tammer.
31648
31649 2010-07-31  Bruno Haible  <bruno@clisp.org>
31650
31651         linkat: Work around AIX 7.1 bug.
31652         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
31653         whether linkat handles trailing slash correctly. If not, replace linkat
31654         and define LINKAT_TRAILING_SLASH_BUG.
31655         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
31656         check whether (fd1,file1) points to a directory if file1 or file2 ends
31657         in a slash. Code taken from lib/link.c.
31658         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
31659         Reported by Rainer Tammer.
31660
31661 2010-07-31  Bruno Haible  <bruno@clisp.org>
31662
31663         Correctly determine whether pow is available in libc on AIX 7 with xlc.
31664         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
31665         This disables an xlc optimization that was causing wrong test results.
31666         Reported by Rainer Tammer.
31667
31668 2010-07-31  Bruno Haible  <bruno@clisp.org>
31669
31670         iconv: Work around AIX 6.1..7.1 bug.
31671         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
31672         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
31673         cross-compiling, guess no on all versions of AIX.
31674         Reported by Rainer Tammer.
31675
31676 2010-07-31  Bruno Haible  <bruno@clisp.org>
31677
31678         readlink: Relax test a bit.
31679         * tests/test-readlink.h (test_readlink): Allow different errno value
31680         when readlink is called with a file name that ends in / and refers to
31681         a file.
31682         Suggested by Eric Blake.
31683         Reported by Rainer Tammer.
31684
31685 2010-07-31  Bruno Haible  <bruno@clisp.org>
31686
31687         copysign: Does not require -lm on glibc systems.
31688         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
31689         gl_COMMON_DOUBLE_MATHFUNC.
31690         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
31691
31692 2010-07-31  Bruno Haible  <bruno@clisp.org>
31693
31694         duplocale: Work around AIX 7.1 bug.
31695         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
31696         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
31697         * lib/duplocale.c (rpl_duplocale): Update comment.
31698         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
31699         Reported by Rainer Tammer.
31700
31701 2010-07-30  Bruno Haible  <bruno@clisp.org>
31702
31703         dirfd: Avoid link error on AIX 7.1.
31704         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
31705         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
31706         exist, set REPLACE_DIRFD.
31707         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
31708         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
31709         * doc/posix-functions/dirfd.texi: Update.
31710         Reported by Rainer Tammer.
31711
31712 2010-07-30  Eric Blake  <eblake@redhat.com>
31713
31714         strtod: next round of AIX fixes
31715         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
31716         exponent.
31717         * tests/test-strtod.c (main): Enhance tests.
31718         * doc/posix-functions/strtod.texi (strtod): Document next bug.
31719         Reported by Rainer Tammer.
31720
31721         futimens: fix configure check
31722         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
31723         Reported by Bruno Haible.
31724
31725 2010-07-30  Bruno Haible  <bruno@clisp.org>
31726
31727         getline: Update regarding AIX.
31728         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
31729         Reported by Rainer Tammer.
31730
31731 2010-07-30  Bruno Haible  <bruno@clisp.org>
31732
31733         wcwidth: Drop replacement on AIX 7.
31734         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
31735         AIX 7.
31736         Reported by Rainer Tammer.
31737
31738 2010-07-30  Bruno Haible  <bruno@clisp.org>
31739
31740         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
31741         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
31742         a 'char *'.
31743         Reported by Rainer Tammer.
31744
31745 2010-07-30  Bruno Haible  <bruno@clisp.org>
31746
31747         unlink: Update regarding AIX.
31748         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
31749         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
31750         Reported by Rainer Tammer.
31751
31752 2010-07-30  Bruno Haible  <bruno@clisp.org>
31753
31754         symlink: Update regarding AIX.
31755         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
31756         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
31757         Reported by Rainer Tammer.
31758
31759 2010-07-30  Bruno Haible  <bruno@clisp.org>
31760
31761         strndup: Update regarding AIX.
31762         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
31763         AIX 7.
31764         Reported by Rainer Tammer.
31765
31766 2010-07-30  Bruno Haible  <bruno@clisp.org>
31767
31768         stat: Update regarding AIX.
31769         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
31770         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
31771         Reported by Rainer Tammer.
31772
31773 2010-07-30  Bruno Haible  <bruno@clisp.org>
31774
31775         truncl: Fix autoconf test.
31776         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
31777         whether truncl works.
31778         Reported by Rainer Tammer.
31779
31780 2010-07-30  Bruno Haible  <bruno@clisp.org>
31781
31782         round: Update regarding AIX.
31783         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
31784         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
31785         Reported by Rainer Tammer.
31786
31787 2010-07-30  Bruno Haible  <bruno@clisp.org>
31788
31789         rename: Update regarding AIX.
31790         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
31791         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
31792         Reported by Rainer Tammer.
31793
31794 2010-07-30  Bruno Haible  <bruno@clisp.org>
31795
31796         printf.m4: Update regarding AIX.
31797         * m4/printf.m4: Update comments regarding AIX.
31798         Reported by Rainer Tammer.
31799
31800 2010-07-30  Bruno Haible  <bruno@clisp.org>
31801
31802         iconv: Update regarding AIX.
31803         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
31804         AIX 7.
31805         Reported by Rainer Tammer.
31806
31807 2010-07-30  Bruno Haible  <bruno@clisp.org>
31808
31809         getopt: Update regarding AIX.
31810         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
31811         no on AIX.
31812         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
31813         Reported by Rainer Tammer.
31814
31815 2010-07-30  Bruno Haible  <bruno@clisp.org>
31816
31817         ldexpl; Update regarding AIX.
31818         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
31819         on AIX 7.
31820         Reported by Rainer Tammer.
31821
31822 2010-07-30  Bruno Haible  <bruno@clisp.org>
31823
31824         frexpl: Update regarding AIX.
31825         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
31826         on AIX 7.
31827         Reported by Rainer Tammer.
31828
31829 2010-07-30  Bruno Haible  <bruno@clisp.org>
31830
31831         open, fopen: Update regarding AIX.
31832         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
31833         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
31834         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
31835         * doc/posix-functions/fopen.texi: Likewise.
31836         Reported by Rainer Tammer.
31837
31838 2010-07-30  Bruno Haible  <bruno@clisp.org>
31839
31840         chown: Update doc regarding AIX.
31841         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
31842         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
31843         Reported by Rainer Tammer.
31844
31845 2010-07-30  Eric Blake  <eblake@redhat.com>
31846
31847         strtod: fix bug in replacement function on AIX
31848         * lib/strtod.c (strtod): Special case broken "0x" parse in
31849         underlying strtod.
31850         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
31851         * doc/posix-functions/strtod.texi (strtod): Likewise.
31852         Reported by Rainer Tammer.
31853
31854 2010-07-30  Bruno Haible  <bruno@clisp.org>
31855
31856         mbrlen: Fix cross-compilation guess for AIX.
31857         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
31858         guess. Leftover from 2008-12-22.
31859
31860 2010-07-30  Bruno Haible  <bruno@clisp.org>
31861
31862         mbrtowc: Fix cross-compilation guess for AIX.
31863         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
31864         guess. Leftover from 2008-12-21.
31865
31866 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
31867
31868         init.sh: work around trap limitation of some shells
31869         * tests/init.sh (setup_): Move exit trap outside of shell function.
31870
31871 2010-07-29  Eric Blake  <eblake@redhat.com>
31872
31873         strtod: aid debugging
31874         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
31875         understanding why strtod is rejected.
31876
31877 2010-07-28  Bruno Haible  <bruno@clisp.org>
31878
31879         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
31880         * lib/unistr/u8-chr.c: Include <string.h>.
31881         * tests/unistr/test-u8-chr.c: Likewise.
31882         * tests/unistr/test-u16-chr.c: Likewise.
31883         * tests/unistr/test-u32-chr.c: Likewise.
31884         * tests/unistr/test-u8-strchr.c: Likewise.
31885         * tests/unistr/test-u16-strchr.c: Likewise.
31886         * tests/unistr/test-u32-strchr.c: Likewise.
31887         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
31888         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
31889         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
31890         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
31891
31892 2010-07-28  Bruno Haible  <bruno@clisp.org>
31893
31894         Use spaces for indentation, not tabs.
31895         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31896
31897 2010-07-27  Bruno Haible  <bruno@clisp.org>
31898
31899         mbspcasecmp: Fix function specification.
31900         * lib/string.in.h (mbspcasecmp): Fix specification comment.
31901         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
31902         Reported by Eric Blake <eblake@redhat.com>.
31903
31904 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
31905
31906         timespec: use cast and not conditional, as truncation isn't possible
31907         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
31908         instead of a conditional.  Comment about the situation in more detail.
31909         This undoes most of the 2009-10-29 patch.
31910
31911 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
31912
31913         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
31914         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
31915         * lib/unistr/u8-strchr.c: Likewise.
31916         * modules/unistr/u8-chr: Depend on memchr.
31917
31918         unistr/u*-strchr: add tests
31919         * modules/unistr/u8-strchr-tests: New file.
31920         * modules/unistr/u16-strchr-tests: New file.
31921         * modules/unistr/u32-strchr-tests: New file.
31922         * tests/unistr/test-strchr.h: New file.
31923         * tests/unistr/test-u8-strchr.c: New file.
31924         * tests/unistr/test-u16-strchr.c: New file.
31925         * tests/unistr/test-u32-strchr.c: New file.
31926
31927         unistr/u*-chr: test multibyte sequences more
31928         * tests/unistr/test-chr.h: Do complete testing of the characters in the
31929         test vector.
31930         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
31931         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
31932         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
31933
31934         unistr/u*-chr: test multibyte sequences
31935         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
31936
31937         unistr/u*-chr: prepare for multibyte tests
31938         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
31939         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
31940         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
31941         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
31942         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
31943         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
31944
31945 2010-07-18  Bruno Haible  <bruno@clisp.org>
31946
31947         unistr/u8-strchr: Optimize non-ASCII argument case.
31948         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
31949         because the first byte often matches anyway.
31950         Reported by Pádraig Brady <P@draigbrady.com>.
31951
31952 2010-07-15  Karl Berry  <karl@gnu.org>
31953
31954         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
31955
31956 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
31957
31958         getcwd: on Solaris, work better if ancestors are inaccessible
31959         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
31960         buffer and size, try again with a large buffer.  This works better
31961         on Solaris, since its getcwd succeeds even if the path to the root
31962         is inaccessible, and this is helpful in common cases such as .zfs
31963         hidden directories.  Problem reported by J Chapman Flack in
31964         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
31965         Use system getcwd if it's declared, not merely if it's partly
31966         working; use the partly-working test only to avoid needless effort
31967         if the system getcwd fails.
31968         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
31969         comment that was already obsolete and is now even more obsolete.
31970         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
31971         now might call strdup.
31972
31973 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
31974
31975         pthread: Add enough so that coreutils/src/sort.c compiles.
31976         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
31977         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
31978         gnulib. Include <sched.h> and <time.h>, as per POSIX.
31979         Include <sys/types.h>, in case it defines pthread_t.
31980         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
31981         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
31982         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
31983         (pthread_rwlockattr_t, pthread_spinlock_t):
31984         New typedefs, if HAVE_PTHREAD_T is not defined.
31985         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
31986         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
31987         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
31988         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
31989         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
31990         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
31991         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
31992         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
31993         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
31994         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
31995         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
31996         New macros.
31997         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
31998         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
31999         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
32000         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
32001         (pthread_spin_unlock): New dummy functions.
32002         (pthread_create): Return EAGAIN; don't set errno.
32003         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
32004         require AC_C_INLINE.
32005         * modules/pthread (Depends-on): Add sched, time.
32006         (pthread.h): Use AM_V_GEN.
32007
32008 2010-07-13  Bruno Haible  <bruno@clisp.org>
32009
32010         striconveh: Don't malloc memory if the result buffer is sufficient.
32011         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
32012         buffer if its size is sufficient.
32013         Reported by Ludovic Courtès <ludo@gnu.org>.
32014
32015 2010-07-13  Bruno Haible  <bruno@clisp.org>
32016
32017         strtod: Add safety check.
32018         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
32019
32020 2010-07-12  Bruno Haible  <bruno@clisp.org>
32021
32022         Unify tests that set gl_cv_func_ldexpl_no_libm.
32023         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
32024         gl_FUNC_LDEXPL.
32025         (gl_FUNC_LDEXPL): Invoke it.
32026         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
32027
32028 2010-07-12  Bruno Haible  <bruno@clisp.org>
32029
32030         Unify tests that set gl_cv_func_ldexp_no_libm.
32031         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
32032         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
32033         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
32034         (configure.ac): Simply invoke gl_FUNC_LDEXP.
32035         * modules/strtod (Files): Add m4/ldexp.m4.
32036
32037 2010-07-12  Bruno Haible  <bruno@clisp.org>
32038
32039         Unify tests that set gl_cv_func_frexpl_no_libm.
32040         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
32041         gl_FUNC_FREXPL_NO_LIBM.
32042         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
32043         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
32044
32045 2010-07-12  Bruno Haible  <bruno@clisp.org>
32046
32047         Unify tests that set gl_cv_func_frexp_no_libm.
32048         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
32049         gl_FUNC_FREXP_NO_LIBM.
32050         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
32051         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
32052
32053 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
32054
32055         memcoll: clarify sizes versus lengths, document better, and tweak perf
32056         * lib/memcoll.c (strcoll_loop, memcoll0):
32057         Improve quality of descriptive comments.  Name variables
32058         consistently as to whether they are lengths (which do not include
32059         terminating null) versus sizes (which do).
32060         * lib/xmemcoll.c (xmemcoll0): Likewise.
32061         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
32062         returned when s1size == 0; this is easier to compile and saves
32063         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
32064
32065 2010-07-12  Bruno Haible  <bruno@clisp.org>
32066
32067         Tests for module '_Exit'.
32068         * modules/_Exit-tests: New file.
32069         * tests/test-_Exit.sh: New file.
32070         * tests/test-_Exit.c: New file.
32071
32072         New module '_Exit'.
32073         * lib/stdlib.in.h (__attribute__): New macro.
32074         (_Exit): New declaration.
32075         * lib/_Exit.c: New file.
32076         * m4/_Exit.m4: New file.
32077         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
32078         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
32079         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
32080         * modules/_Exit: New file.
32081         * tests/test-stdlib-c++.cc (_Exit): Check signature.
32082         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
32083
32084 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
32085
32086         strtod: make it more-accurate typically, and don't require libm
32087         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
32088         Include limits.h.  Don't include string.h.
32089         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
32090         (locale_isspace): New function, so that no casts are needed to
32091         check whether *s is a space.
32092         (ldexp): Provide an unused dummy if not available.
32093         (scale_radix_exp, parse_number, underlying_strtod): New functions.
32094         (strtod): Use them.  This implementation prefers to use the
32095         underlying strtod if available, falling back on our own code
32096         only to fix known bugs.  This is more likely to produce an
32097         accurate result.  Also, it avoids the use of libm functions.
32098         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
32099         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
32100         was absent, but it caused a test failure with coreutils.
32101         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
32102         with libm.
32103         * modules/strtod (Makefile.am, Link): libm is no longer needed.
32104         * modules/strtod-tests (Makefile.am): Likewise.
32105
32106 2010-07-11  Pádraig Brady  <P@draigBrady.com>
32107             Bruno Haible  <bruno@clisp.org>
32108
32109         unistr/u8-strchr: Optimize ASCII argument case.
32110         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
32111
32112 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
32113
32114         (x)memcoll: minor tweaks
32115         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
32116         is after the type that it qualifies.
32117         (memcoll0): Likewise.
32118         * lib/memcoll.h (memcoll0): Likewise.
32119         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
32120         * lib/xmemcoll.h (xmemcoll0): Likewise.
32121         * lib/memcoll.c (memcoll0): Correct the comment.  This function
32122         differs from memcoll in that the NUL byte is part of the argument.
32123         Omit the abort-checks, as performance is a real issue here.  Plus,
32124         the checks were wrong anyway (an off-by-one error).  Omit local
32125         variable 'diff', as it's a bit clearer that way.
32126         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
32127         no longer needed.
32128
32129 2010-07-08  Chen Guo <chenguo4@yahoo.com>
32130
32131         (x)memcoll: speedup when input is known to be NUL delimited
32132         * lib/memcoll.c: Include stdlib.
32133         (memcoll0): New function.
32134         (strcoll_loop): New function, refactored for use in both memcoll
32135         and memcoll0.
32136         * lib/memcoll.h (memcoll0): Add prototype.
32137         * lib/xmemcoll.c (xmemcoll0): New function.
32138         (collate_error): New function, refactored for use in both xmemcoll
32139         and xmemcoll0.
32140         * lib/xmemcoll.h (xmemcoll0): Add prototype.
32141         * m4/memcoll.m4: add inline invocation.
32142
32143 2010-07-06  Pádraig Brady  <P@draigBrady.com>
32144
32145         * build-aux/bootstrap: Remove any local translations
32146         from the translation project synchronization directory,
32147         so that local only translations are not distributed.
32148
32149 2010-07-04  Bruno Haible  <bruno@clisp.org>
32150
32151         fsusage: Clarify which code applies to which platforms.
32152         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
32153         platform.
32154         * lib/fsusage.c (get_fs_usage): Likewise.
32155
32156 2010-07-04  Bruno Haible  <bruno@clisp.org>
32157
32158         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
32159         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
32160         Reported by Martin Lambers <marlam@marlam.de>.
32161
32162 2010-07-04  Jim Meyering  <meyering@redhat.com>
32163
32164         hash: once again explicitly disallow insertion of NULL
32165         * lib/hash.c (hash_insert0): Reinstate just-removed test:
32166         inserting a NULL pointer cannot work with these functions.
32167         Add a comment with details.
32168         This reverts part of the 2010-07-01 commit, 5bef1a35
32169         "hash: extend module to deal with non-pointer keys".
32170
32171 2010-07-01  Bruno Haible  <bruno@clisp.org>
32172
32173         stdbool: Update doc.
32174         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
32175         Info from Christian Weisgerber <naddy@mips.inka.de>.
32176
32177 2010-07-01  Jim Meyering  <meyering@redhat.com>
32178
32179         hash: extend module to deal with non-pointer keys
32180         * lib/hash.c (hash_insert0): New interface, much like hash_insert
32181         but that allows insertion of non-pointer entries.
32182         Do not disallow an ENTRY value of NULL.
32183         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
32184         * lib/hash.h (hash_insert0): Declare.
32185
32186 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
32187
32188         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
32189         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
32190         not present (i.e. with autoconf 2.59 and when using gettextize, not
32191         gnulib), require AC_GNU_SOURCE instead.
32192
32193 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
32194
32195         idpriv-drop: Fix tests.
32196         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
32197         not to the test-idpriv-droptemp program.
32198
32199 2010-06-29  Bruno Haible  <bruno@clisp.org>
32200
32201         string: Fix syntax error with g++ 2.96.
32202         * lib/string.in.h (__pure__): Remove definition.
32203         (_GL_ATTRIBUTE_PURE): New macro.
32204         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
32205         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
32206         Reported by Christian Weisgerber <naddy@mips.inka.de>.
32207
32208 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
32209
32210         unitypes: Fix bug introduced on 2010-05-18.
32211         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
32212
32213 2010-06-22  Eric Blake  <eblake@redhat.com>
32214
32215         memmem: slight optimization
32216         * lib/str-two-way.h (critical_factorization): Update comments.
32217         Reduce work during factorization phase.
32218         Reported by Carlos Bueno <carlos@bueno.org>.
32219
32220 2010-06-21  Bruno Haible  <bruno@clisp.org>
32221
32222         Fix HAVE_CALLOC_POSIX misnomer.
32223         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
32224         !HAVE_CALLOC_POSIX.
32225         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
32226         HAVE_CALLOC_POSIX.
32227         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
32228         instead of HAVE_CALLOC_POSIX.
32229         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
32230         HAVE_CALLOC_POSIX.
32231
32232         Use modern idiom for calloc() replacement.
32233         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
32234         AC_FUNC_CALLOC.
32235         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
32236         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
32237         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
32238         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
32239         (gl_REPLACE_CALLOC): New macro.
32240
32241 2010-06-21  Bruno Haible  <bruno@clisp.org>
32242
32243         Fix HAVE_REALLOC_POSIX misnomer.
32244         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
32245         !HAVE_REALLOC_POSIX.
32246         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
32247         HAVE_REALLOC_POSIX.
32248         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
32249         instead of HAVE_REALLOC_POSIX.
32250         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
32251         HAVE_REALLOC_POSIX.
32252
32253         Use modern idiom for realloc() replacement.
32254         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
32255         AC_FUNC_REALLOC.
32256         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
32257         Autoconf's AC_FUNC_REALLOC.
32258         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
32259         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
32260         (gl_REPLACE_REALLOC): New macro.
32261         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
32262
32263 2010-06-21  Bruno Haible  <bruno@clisp.org>
32264
32265         Fix HAVE_MALLOC_POSIX misnomer.
32266         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
32267         !HAVE_MALLOC_POSIX.
32268         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
32269         HAVE_MALLOC_POSIX.
32270         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
32271         instead of HAVE_MALLOC_POSIX.
32272         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
32273         HAVE_MALLOC_POSIX.
32274
32275         Use modern idiom for malloc() replacement.
32276         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
32277         AC_FUNC_MALLOC.
32278         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
32279         Autoconf's AC_FUNC_MALLOC.
32280         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
32281         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
32282         (gl_REPLACE_MALLOC): New macro.
32283         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
32284
32285 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
32286
32287         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
32288         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
32289         This macro takes 3 arguments, not 4.
32290
32291 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
32292
32293         ipv6: fix detection under mingw
32294         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
32295         in6_addr.
32296
32297 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
32298
32299         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
32300         that strtod() works when cross-compiling to a glibc version known
32301         to work.
32302
32303 2010-06-15  Bruno Haible  <bruno@clisp.org>
32304
32305         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
32306
32307 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
32308
32309         select: Correct timeout.
32310         * lib/select.c (rpl_select): Compute wait_timeout correctly.
32311
32312 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
32313
32314         git-version-gen: init shell var to avoid env var influence
32315         * build-aux/git-version-gen (v): Init shell var to empty.
32316
32317 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
32318
32319         priv-set: Don't assume that priv.h exists merely because getppriv does.
32320         See Jan Andersen's bug report about AIX 5L in
32321         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
32322         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
32323         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
32324         * lib/priv-set.h: Likewise.
32325         * tests/test-priv-set.c: Likewise.
32326
32327 2010-06-13  Bruno Haible  <bruno@clisp.org>
32328
32329         relocatable: Make it easier to test whether to install wrappers.
32330         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
32331         RELOCATABLE_VIA_WRAPPER.
32332
32333 2010-06-13  Bruno Haible  <bruno@clisp.org>
32334
32335         gnulib-tool: Display specified modules and dependencies differently.
32336         * gnulib-tool (func_show_module_list): New function.
32337         (func_import, func_create_testdir): Invoke it.
32338         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
32339
32340 2010-06-13  Bruno Haible  <bruno@clisp.org>
32341
32342         gnulib-tool: Align code of func_import and func_create_testdir.
32343         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
32344         specified_modules.
32345
32346 2010-06-12  Jim Meyering  <meyering@redhat.com>
32347
32348         test-inttostr: avoid spurious failure on Solaris 9
32349         * tests/test-inttostr.c (main): Skip the test when snprintf fails
32350         to accept "%ju".  Reported by Bruno Haible.
32351
32352 2010-06-11  Jim Meyering  <meyering@redhat.com>
32353
32354         test-sys_socket: mark variables as used more readably
32355         * tests/test-sys_socket.c (main): Mark otherwise unused variables
32356         as "used" explicitly via (void) statement casts.  This is more
32357         readable than using them in an artificial return expression.
32358         Suggestion from Bruno Haible.
32359
32360 2010-06-11  Bruno Haible  <bruno@clisp.org>
32361
32362         Avoid some more warnings from "gcc -Wwrite-strings".
32363         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
32364         to 'const char *'.
32365         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
32366         * tests/test-c-strcasestr.c (main): Likewise.
32367         * tests/test-mbscasestr1.c (main): Likewise.
32368         * tests/test-mbscasestr2.c (main): Likewise.
32369         * tests/test-memmem.c (main): Likewise.
32370         * tests/test-strstr.c (main): Likewise.
32371         * tests/test-strcasestr.c (main): Likewise.
32372
32373 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32374
32375         init.sh: change framework_failure_ to fail with status 99, not 1
32376         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
32377         automake's parallel-tests rule that this is an unexpected failure,
32378         even if the test is listed in XFAIL_TESTS.
32379
32380 2010-06-11  Jim Meyering  <meyering@redhat.com>
32381
32382         test-inttostr: avoid warnings about 4-6KB literal strings
32383         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
32384         Include "macros.h", for its definition of ASSERT.
32385         (CK): s/assert/ASSERT/
32386         * modules/inttostr-tests (Files): Add macros.h.
32387
32388         init.sh: don't use $ME_ or skip_ before they are defined
32389         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
32390         their first uses.  Also hoist their companions: warn_, fail_,
32391         framework_failure_, $stderr_fileno.  Prompted by a patch from
32392         Stefano Lattarini.
32393
32394         test-sys_socket: avoid set-but-not-used warnings from gcc
32395         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
32396         avoid warning about set-but-not-used variables.
32397
32398         test-xvasprintf: avoid 'const' discard warnings
32399         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
32400         "const" when assigning from literal strings.
32401         (test_xasprintf): Add "void" in function argument list to placate
32402         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
32403
32404         tests: avoid compilation warnings in argmatch and exclude tests...
32405         in packages that define ARGMATCH_DIE_DECL, like coreutils.
32406         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
32407         Since it always exits, declare with the "noreturn" attribute.
32408         * tests/test-argmatch.c: Likewise.
32409
32410         tests: avoid 'const' discard warnings in mbsstr tests
32411         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
32412         * tests/test-mbsstr2.c (main): Likewise.
32413
32414         test-verify: avoid warning from gcc's -Wmissing-declarations
32415         * tests/test-verify.c (function): Declare to be static.
32416
32417         test-inttostr.c: include <string.h> for use of strcmp
32418         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
32419
32420         test-linkat: avoid failed assertion on "other" architectures
32421         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
32422         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
32423         sparc: https://bugs.launchpad.net/bugs/591968
32424
32425 2010-06-11  Jim Meyering  <meyering@redhat.com>
32426
32427         printf.m4: avoid autoconf's "Expanded Before Required" warning
32428         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
32429         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
32430         autoconf warning.
32431
32432 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
32433
32434         Replacement header templates are now named with ".in", not "_".
32435         * doc/gnulib-intro.texi: Correct.
32436
32437 2010-06-10  Jim Meyering  <meyering@redhat.com>
32438
32439         inttostr-tests: depend on snprintf, not snprintf-posix
32440         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
32441         snprintf-posix, to avoid this aclocal failure:
32442           missing file gnulib-tests/vasnprintf.c
32443           configure.ac:45: error: expected source file, required through \
32444           AC_LIBSOURCES, not found
32445
32446 2010-06-10  Jim Meyering  <meyering@redhat.com>
32447
32448         inttostr: add a new function, inttostr, and tests
32449         The namesake function was not available.  The existence of the
32450         template file, inttostr.c makes its addition nontrivial.
32451         * lib/anytostr.c: Rename from inttostr.c.
32452         (anytostr): Rename from inttostr.
32453         * lib/inttostr.c: New file.
32454         * modules/inttostr (Files): Add anytostr.c.
32455         (Makefile.am): Set lib_SOURCES instead of ...
32456         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
32457         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
32458         * lib/offtostr.c: Likewise.
32459         * lib/uinttostr.c: Likewise.
32460         * lib/umaxtostr.c: Likewise.
32461         * modules/inttostr-tests: New file.
32462         * tests/test-inttostr.c: New file.  Test these functions.
32463
32464 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
32465             Bruno Haible  <bruno@clisp.org>
32466
32467         Add "Extending Gnulib" chapter to manual.
32468         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
32469         chapter.
32470         (Extending Gnulib): New chapter.
32471         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
32472         chapter.
32473
32474 2010-06-09  Bruno Haible  <bruno@clisp.org>
32475
32476         Avoid relocwrapper link errors due to gnulib replacement functions.
32477         * lib/areadlink.c: Use the system's malloc, realloc functions.
32478         (areadlink): Set errno to ENOMEM explicitly.
32479         * modules/areadlink (Depends-on): Remove malloc-posix.
32480         Reported by Ben Pfaff <blp@cs.stanford.edu>.
32481
32482 2010-06-09  Bruno Haible  <bruno@clisp.org>
32483
32484         Avoid relocwrapper link errors due to gnulib replacement functions.
32485         * lib/canonicalize-lgpl.c: Use the system's malloc function.
32486         * lib/malloca.c: Likewise.
32487         * lib/relocatable.c: Likewise.
32488         * lib/progreloc.c: Use the system's malloc, sprintf functions.
32489         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
32490         * lib/setenv.c: Use the system's malloc, realloc functions.
32491         * lib/strerror.c: Use the system's sprintf function.
32492         Reported by Ben Pfaff <blp@cs.stanford.edu>.
32493
32494 2010-06-04  Bruno Haible  <bruno@clisp.org>
32495
32496         Prefer documented low-level autoconf macro names.
32497         * m4/lib-link.m4: Use m4_translit instead of translit.
32498         * m4/environ.m4: Likewise.
32499         * m4/mathfunc.m4: Likewise.
32500         * m4/onceonly.m4: Likewise.
32501         * m4/stdint.m4: Likewise.
32502         Suggested by Eric Blake.
32503
32504 2010-06-04  Martin Lambers  <marlam@marlam.de>
32505             Bruno Haible  <bruno@clisp.org>
32506
32507         havelib: Allow library names with '+' characters.
32508         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
32509         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
32510
32511 2010-06-09  Bruno Haible  <bruno@clisp.org>
32512
32513         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
32514         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
32515         realloc failed.
32516
32517 2010-06-08  Peter Simons  <simons@cryp.to>
32518
32519         maint.mk: make the news-check rule more configurable
32520         * top/maint.mk (news-check-lines-spec): New variable.
32521         (news-check): Use "sed -n 1,10p" in place of "head".
32522
32523 2010-06-07  Jim Meyering  <meyering@redhat.com>
32524
32525         do-release-commit-and-tag: fix typo in --help
32526         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
32527
32528         regex: avoid new dead-code warning with gcc-4.6.0
32529         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
32530         if-block containing a while-loop.  It's been unused for at least
32531         5 years.
32532
32533 2010-06-05  Bruno Haible  <bruno@clisp.org>
32534
32535         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
32536         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
32537
32538 2010-06-04  Bruno Haible  <bruno@clisp.org>
32539
32540         Update to GNU gettext 0.18.1.
32541         * modules/gettext (configure.ac): Require gettext infrastructure from
32542         version 0.18.1.
32543
32544 2010-06-03  Bruno Haible  <bruno@clisp.org>
32545
32546         Don't use AC_LIBOBJ with file names in subdirectories.
32547         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
32548         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
32549         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
32550         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
32551         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
32552         gl_LIBUNISTRING_LIBSOURCE.
32553         (Makefile.am): Augment lib_SOURCES here, conditionally.
32554         * NEWS: Drop requirement for Automake option 'subdir-objects'.
32555
32556 2010-06-03  Bruno Haible  <bruno@clisp.org>
32557
32558         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
32559         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
32560         expansion does not end with a newline.
32561         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
32562         unnecessary newline.
32563
32564 2010-06-03  Bruno Haible  <bruno@clisp.org>
32565
32566         Reduce dependencies.
32567         * tests/test-quotearg.h: New file, extracted from
32568         tests/test-quotearg.c.
32569         * tests/test-quotearg-simple.c: New file, extracted from
32570         tests/test-quotearg.c.
32571         * tests/test-quotearg.c: Don't include <ctype.h>.
32572         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
32573         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
32574         use_quote_double_quotes, use_quotearg_colon): Moved to
32575         tests/test-quotearg.h.
32576         (results_g, flag_results, custom_quotes, custom_results): Moved
32577         to tests/test-quotearg-simple.c.
32578         (main): Moved the part that does not depend on gettext to
32579         tests/test-quotearg-simple.c. Return 77 if the test cannot be
32580         performed.
32581         * modules/quotearg-simple: New file.
32582         * modules/quotearg-simple-tests: New file.
32583         * modules/quotearg (Depends-on): Add quotearg-simple.
32584         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
32585         (Files): Add tests/test-quotearg.h.
32586         Reported by Paolo Bonzini.
32587
32588 2010-06-03  Bruno Haible  <bruno@clisp.org>
32589
32590         Reduce dependencies.
32591         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
32592
32593 2010-06-03  Bruno Haible  <bruno@clisp.org>
32594
32595         time: Undefine more broken macros.
32596         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
32597         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
32598         Reported by Eric Blake.
32599
32600 2010-06-03  Bruno Haible  <bruno@clisp.org>
32601
32602         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
32603         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
32604         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
32605         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
32606         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
32607         Reported by Ludovic Courtès <ludo@gnu.org>.
32608
32609 2010-06-02  Eric Blake  <eblake@redhat.com>
32610
32611         time: work with mingw + pthreads-win32 library
32612         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
32613         if timespec is defined only in pthread.h.
32614         * modules/time (Makefile.am): Substitute it.
32615         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
32616         <pthread.h>, when needed.
32617         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
32618         from the library.
32619
32620 2010-05-31  Bruno Haible  <bruno@clisp.org>
32621
32622         Avoid expanding two macros in the wrong order.
32623         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
32624         gl_LIBUNISTRING if it is defined.
32625         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
32626         autoconf >= 2.64.
32627         Reported by Ludovic Courtès <ludo@gnu.org>.
32628
32629 2010-05-27  Jim Meyering  <meyering@redhat.com>
32630
32631         maint.mk: also prohibit "#undef" of always-defined symbols
32632         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
32633         Allow more than one space before the symbol name.
32634         (sc_prohibit_always-defined_macros): Use grep's -E, now that
32635         the regexp uses alternation.
32636
32637 2010-05-26  Eric Blake  <eblake@redhat.com>
32638
32639         maint.mk: avoid echo -e
32640         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
32641         Convert all uses of echo -* to printf.
32642         Reported by Matthias Bolte.
32643
32644 2010-05-25  Bruno Haible  <bruno@clisp.org>
32645
32646         Update to GNU gettext 0.18, part 2.
32647         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
32648         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
32649
32650 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32651
32652         Add missing include in test-pwrite.c.
32653         * tests/test-pwrite.c: Include string.h, for strcmp.
32654
32655 2010-05-24  Bruno Haible  <bruno@clisp.org>
32656
32657         * NEWS: Mention requirement for Automake option 'subdir-objects'.
32658
32659 2010-05-24  Bruno Haible  <bruno@clisp.org>
32660
32661         Don't use conversion with transliteration in u{8,16,32}_strcoll.
32662         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
32663         iconveh_error argument.
32664         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
32665         U_STRCONV_TO_LOCALE.
32666         * lib/unistr/u16-strcoll.c: Likewise.
32667         * lib/unistr/u32-strcoll.c: Likewise.
32668         * modules/unistr/u8-strcoll (Depends-on): Add
32669         uniconv/u8-strconv-to-enc, localcharset. Remove
32670         uniconv/u8-strconv-to-locale.
32671         (configure.ac): Bump version number.
32672         * modules/unistr/u16-strcoll (Depends-on): Add
32673         uniconv/u16-strconv-to-enc, localcharset. Remove
32674         uniconv/u16-strconv-to-locale.
32675         (configure.ac): Bump version number.
32676         * modules/unistr/u32-strcoll (Depends-on): Add
32677         uniconv/u32-strconv-to-enc, localcharset. Remove
32678         uniconv/u32-strconv-to-locale.
32679         (configure.ac): Bump version number.
32680
32681 2010-05-24  Bruno Haible  <bruno@clisp.org>
32682
32683         Avoid a test failure on NetBSD 5.0.
32684         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
32685         an iconv() bug.
32686
32687 2010-05-24  Bruno Haible  <bruno@clisp.org>
32688
32689         Adjust #include directive style.
32690         * modules/regex (Includes): Recommend to write <regex.h>.
32691
32692 2010-05-24  Bruno Haible  <bruno@clisp.org>
32693
32694         regex: Don't require alloca.
32695         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
32696         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
32697         only inside if (0).
32698
32699 2010-05-23  Jim Meyering  <meyering@redhat.com>
32700
32701         test-renameat.c: include <sys/stat.h>
32702         * tests/test-renameat.c: Include <sys/stat.h>; required for
32703         definition of S_IS* macros.
32704
32705 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
32706
32707         Update maintainer documentation for 'relocatable-prog' module.
32708         * doc/relocatable-maint.texi: Update.
32709         Comments by Bruno Haible.
32710
32711 2010-05-23  Bruno Haible  <bruno@clisp.org>
32712
32713         git-merge-changelog: Enable --split-merged-entry by default.
32714         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
32715         (usage): Don't mention this option any more.
32716         Reported by Ralf Wildenhues.
32717
32718 2010-05-23  Jim Meyering  <meyering@redhat.com>
32719
32720         test-pwrite: do not leave behind a test file named "out"
32721         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
32722         The trivial-looking use of init.sh is really necessary.
32723         It ensures that the temporary file, "out", is created in
32724         a temporary directory, and removed upon termination.
32725         * tests/test-pwrite.sh: Re-add file.
32726         * modules/pwrite-tests: Reference it.
32727
32728 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32729
32730         Fix output redirection buglet in init.sh.
32731         * tests/init.sh: Fix redirection of stderr.
32732
32733 2010-05-20  Simon Josefsson  <simon@josefsson.org>
32734
32735         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
32736
32737 2010-05-17  Simon Josefsson  <simon@josefsson.org>
32738
32739         * modules/valgrind-tests: New file.
32740         * m4/valgrind-tests.m4: New file.
32741         * doc/valgrind-tests.texi: New file.
32742         * doc/gnulib.texi (Running self-tests under valgrind): New
32743         section.
32744
32745 2010-05-19  Bruno Haible  <bruno@clisp.org>
32746
32747         Clean up dead code in recent commit.
32748         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
32749         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
32750         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
32751         Suggested by Paolo Bonzini.
32752
32753 2010-05-19  Bruno Haible  <bruno@clisp.org>
32754
32755         Avoid valgrind error reports from libunistring.
32756         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
32757         * modules/libunistring (Files): Add it.
32758         * modules/libunistring-optional (Files): Likewise.
32759
32760 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
32761             Bruno Haible  <bruno@clisp.org>
32762
32763         New module 'libunistring-optional'.
32764         * modules/libunistring-optional: New file.
32765         * m4/libunistring-base.m4: New file.
32766         * m4/libunistring-optional.m4: New file.
32767         * lib/unicase.in.h: Renamed from lib/unicase.h.
32768         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
32769         * lib/unictype.in.h: Renamed from lib/unictype.h.
32770         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
32771         * lib/uniname.in.h: Renamed from lib/uniname.h.
32772         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
32773         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
32774         * lib/unistr.in.h: Renamed from lib/unistr.h.
32775         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
32776         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
32777         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
32778         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
32779         gl_LIBUNISTRING. If the library was found, determine the installed
32780         version and set LIBUNISTRING_VERSION.
32781         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
32782         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
32783         handle a configuration option --with-included-libunistring.
32784         * modules/libunistring (Files): Add m4/absolute-header.m4.
32785         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
32786         Add m4/libunistring-base.m4.
32787         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32788         (Makefile.am): Build unicase.h from unicase.in.h.
32789         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
32790         Add m4/libunistring-base.m4.
32791         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32792         (Makefile.am): Build uniconv.h from uniconv.in.h.
32793         * modules/unictype/base (Files): Use unictype.in.h instead of
32794         unictype.h. Add m4/libunistring-base.m4.
32795         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32796         (Makefile.am): Build unictype.h from unictype.in.h.
32797         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
32798         Add m4/libunistring-base.m4.
32799         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32800         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
32801         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
32802         Add m4/libunistring-base.m4.
32803         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32804         (Makefile.am): Build uniname.h from uniname.in.h.
32805         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
32806         Add m4/libunistring-base.m4.
32807         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32808         (Makefile.am): Build uninorm.h from uninorm.in.h.
32809         * modules/unistdio/base (Files): Use unistdio.in.h instead of
32810         unistdio.h. Add m4/libunistring-base.m4.
32811         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32812         (Makefile.am): Build unistdio.h from unistdio.in.h.
32813         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
32814         Add m4/libunistring-base.m4.
32815         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32816         (Makefile.am): Build unistr.h from unistr.in.h.
32817         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
32818         Add m4/libunistring-base.m4.
32819         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32820         (Makefile.am): Build unitypes.h from unitypes.in.h.
32821         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
32822         Add m4/libunistring-base.m4.
32823         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32824         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
32825         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
32826         uniwidth.h. Add m4/libunistring-base.m4.
32827         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32828         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
32829         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
32830         instead of augmenting lib_SOURCES.
32831         * modules/unicase/empty-suffix-context: Likewise.
32832         * modules/unicase/locale-language: Likewise.
32833         * modules/unicase/tolower: Likewise.
32834         * modules/unicase/totitle: Likewise.
32835         * modules/unicase/toupper: Likewise.
32836         * modules/unicase/u8-casecmp: Likewise.
32837         * modules/unicase/u8-casecoll: Likewise.
32838         * modules/unicase/u8-casefold: Likewise.
32839         * modules/unicase/u8-casexfrm: Likewise.
32840         * modules/unicase/u8-ct-casefold: Likewise.
32841         * modules/unicase/u8-ct-tolower: Likewise.
32842         * modules/unicase/u8-ct-totitle: Likewise.
32843         * modules/unicase/u8-ct-toupper: Likewise.
32844         * modules/unicase/u8-is-cased: Likewise.
32845         * modules/unicase/u8-is-casefolded: Likewise.
32846         * modules/unicase/u8-is-lowercase: Likewise.
32847         * modules/unicase/u8-is-titlecase: Likewise.
32848         * modules/unicase/u8-is-uppercase: Likewise.
32849         * modules/unicase/u8-prefix-context: Likewise.
32850         * modules/unicase/u8-suffix-context: Likewise.
32851         * modules/unicase/u8-tolower: Likewise.
32852         * modules/unicase/u8-totitle: Likewise.
32853         * modules/unicase/u8-toupper: Likewise.
32854         * modules/unicase/u16-casecmp: Likewise.
32855         * modules/unicase/u16-casecoll: Likewise.
32856         * modules/unicase/u16-casefold: Likewise.
32857         * modules/unicase/u16-casexfrm: Likewise.
32858         * modules/unicase/u16-ct-casefold: Likewise.
32859         * modules/unicase/u16-ct-tolower: Likewise.
32860         * modules/unicase/u16-ct-totitle: Likewise.
32861         * modules/unicase/u16-ct-toupper: Likewise.
32862         * modules/unicase/u16-is-cased: Likewise.
32863         * modules/unicase/u16-is-casefolded: Likewise.
32864         * modules/unicase/u16-is-lowercase: Likewise.
32865         * modules/unicase/u16-is-titlecase: Likewise.
32866         * modules/unicase/u16-is-uppercase: Likewise.
32867         * modules/unicase/u16-prefix-context: Likewise.
32868         * modules/unicase/u16-suffix-context: Likewise.
32869         * modules/unicase/u16-tolower: Likewise.
32870         * modules/unicase/u16-totitle: Likewise.
32871         * modules/unicase/u16-toupper: Likewise.
32872         * modules/unicase/u32-casecmp: Likewise.
32873         * modules/unicase/u32-casecoll: Likewise.
32874         * modules/unicase/u32-casefold: Likewise.
32875         * modules/unicase/u32-casexfrm: Likewise.
32876         * modules/unicase/u32-ct-casefold: Likewise.
32877         * modules/unicase/u32-ct-tolower: Likewise.
32878         * modules/unicase/u32-ct-totitle: Likewise.
32879         * modules/unicase/u32-ct-toupper: Likewise.
32880         * modules/unicase/u32-is-cased: Likewise.
32881         * modules/unicase/u32-is-casefolded: Likewise.
32882         * modules/unicase/u32-is-lowercase: Likewise.
32883         * modules/unicase/u32-is-titlecase: Likewise.
32884         * modules/unicase/u32-is-uppercase: Likewise.
32885         * modules/unicase/u32-prefix-context: Likewise.
32886         * modules/unicase/u32-suffix-context: Likewise.
32887         * modules/unicase/u32-tolower: Likewise.
32888         * modules/unicase/u32-totitle: Likewise.
32889         * modules/unicase/u32-toupper: Likewise.
32890         * modules/unicase/ulc-casecmp: Likewise.
32891         * modules/unicase/ulc-casecoll: Likewise.
32892         * modules/unicase/ulc-casexfrm: Likewise.
32893         * modules/uniconv/u8-conv-from-enc: Likewise.
32894         * modules/uniconv/u8-conv-to-enc: Likewise.
32895         * modules/uniconv/u8-strconv-from-enc: Likewise.
32896         * modules/uniconv/u8-strconv-from-locale: Likewise.
32897         * modules/uniconv/u8-strconv-to-enc: Likewise.
32898         * modules/uniconv/u8-strconv-to-locale: Likewise.
32899         * modules/uniconv/u16-conv-from-enc: Likewise.
32900         * modules/uniconv/u16-conv-to-enc: Likewise.
32901         * modules/uniconv/u16-strconv-from-enc: Likewise.
32902         * modules/uniconv/u16-strconv-from-locale: Likewise.
32903         * modules/uniconv/u16-strconv-to-enc: Likewise.
32904         * modules/uniconv/u16-strconv-to-locale: Likewise.
32905         * modules/uniconv/u32-conv-from-enc: Likewise.
32906         * modules/uniconv/u32-conv-to-enc: Likewise.
32907         * modules/uniconv/u32-strconv-from-enc: Likewise.
32908         * modules/uniconv/u32-strconv-from-locale: Likewise.
32909         * modules/uniconv/u32-strconv-to-enc: Likewise.
32910         * modules/uniconv/u32-strconv-to-locale: Likewise.
32911         * modules/unictype/bidicategory-byname: Likewise.
32912         * modules/unictype/bidicategory-name: Likewise.
32913         * modules/unictype/bidicategory-of: Likewise.
32914         * modules/unictype/bidicategory-test: Likewise.
32915         * modules/unictype/block-list: Likewise.
32916         * modules/unictype/block-test: Likewise.
32917         * modules/unictype/category-C: Likewise.
32918         * modules/unictype/category-Cc: Likewise.
32919         * modules/unictype/category-Cf: Likewise.
32920         * modules/unictype/category-Cn: Likewise.
32921         * modules/unictype/category-Co: Likewise.
32922         * modules/unictype/category-Cs: Likewise.
32923         * modules/unictype/category-L: Likewise.
32924         * modules/unictype/category-Ll: Likewise.
32925         * modules/unictype/category-Lm: Likewise.
32926         * modules/unictype/category-Lo: Likewise.
32927         * modules/unictype/category-Lt: Likewise.
32928         * modules/unictype/category-Lu: Likewise.
32929         * modules/unictype/category-M: Likewise.
32930         * modules/unictype/category-Mc: Likewise.
32931         * modules/unictype/category-Me: Likewise.
32932         * modules/unictype/category-Mn: Likewise.
32933         * modules/unictype/category-N: Likewise.
32934         * modules/unictype/category-Nd: Likewise.
32935         * modules/unictype/category-Nl: Likewise.
32936         * modules/unictype/category-No: Likewise.
32937         * modules/unictype/category-P: Likewise.
32938         * modules/unictype/category-Pc: Likewise.
32939         * modules/unictype/category-Pd: Likewise.
32940         * modules/unictype/category-Pe: Likewise.
32941         * modules/unictype/category-Pf: Likewise.
32942         * modules/unictype/category-Pi: Likewise.
32943         * modules/unictype/category-Po: Likewise.
32944         * modules/unictype/category-Ps: Likewise.
32945         * modules/unictype/category-S: Likewise.
32946         * modules/unictype/category-Sc: Likewise.
32947         * modules/unictype/category-Sk: Likewise.
32948         * modules/unictype/category-Sm: Likewise.
32949         * modules/unictype/category-So: Likewise.
32950         * modules/unictype/category-Z: Likewise.
32951         * modules/unictype/category-Zl: Likewise.
32952         * modules/unictype/category-Zp: Likewise.
32953         * modules/unictype/category-Zs: Likewise.
32954         * modules/unictype/category-and: Likewise.
32955         * modules/unictype/category-and-not: Likewise.
32956         * modules/unictype/category-byname: Likewise.
32957         * modules/unictype/category-name: Likewise.
32958         * modules/unictype/category-none: Likewise.
32959         * modules/unictype/category-of: Likewise.
32960         * modules/unictype/category-or: Likewise.
32961         * modules/unictype/category-test: Likewise.
32962         * modules/unictype/combining-class: Likewise.
32963         * modules/unictype/ctype-alnum: Likewise.
32964         * modules/unictype/ctype-alpha: Likewise.
32965         * modules/unictype/ctype-blank: Likewise.
32966         * modules/unictype/ctype-cntrl: Likewise.
32967         * modules/unictype/ctype-digit: Likewise.
32968         * modules/unictype/ctype-graph: Likewise.
32969         * modules/unictype/ctype-lower: Likewise.
32970         * modules/unictype/ctype-print: Likewise.
32971         * modules/unictype/ctype-punct: Likewise.
32972         * modules/unictype/ctype-space: Likewise.
32973         * modules/unictype/ctype-upper: Likewise.
32974         * modules/unictype/ctype-xdigit: Likewise.
32975         * modules/unictype/decimal-digit: Likewise.
32976         * modules/unictype/digit: Likewise.
32977         * modules/unictype/mirror: Likewise.
32978         * modules/unictype/numeric: Likewise.
32979         * modules/unictype/property-alphabetic: Likewise.
32980         * modules/unictype/property-ascii-hex-digit: Likewise.
32981         * modules/unictype/property-bidi-arabic-digit: Likewise.
32982         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
32983         * modules/unictype/property-bidi-block-separator: Likewise.
32984         * modules/unictype/property-bidi-boundary-neutral: Likewise.
32985         * modules/unictype/property-bidi-common-separator: Likewise.
32986         * modules/unictype/property-bidi-control: Likewise.
32987         * modules/unictype/property-bidi-embedding-or-override: Likewise.
32988         * modules/unictype/property-bidi-eur-num-separator: Likewise.
32989         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
32990         * modules/unictype/property-bidi-european-digit: Likewise.
32991         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
32992         * modules/unictype/property-bidi-left-to-right: Likewise.
32993         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
32994         * modules/unictype/property-bidi-other-neutral: Likewise.
32995         * modules/unictype/property-bidi-pdf: Likewise.
32996         * modules/unictype/property-bidi-segment-separator: Likewise.
32997         * modules/unictype/property-bidi-whitespace: Likewise.
32998         * modules/unictype/property-byname: Likewise.
32999         * modules/unictype/property-combining: Likewise.
33000         * modules/unictype/property-composite: Likewise.
33001         * modules/unictype/property-currency-symbol: Likewise.
33002         * modules/unictype/property-dash: Likewise.
33003         * modules/unictype/property-decimal-digit: Likewise.
33004         * modules/unictype/property-default-ignorable-code-point: Likewise.
33005         * modules/unictype/property-deprecated: Likewise.
33006         * modules/unictype/property-diacritic: Likewise.
33007         * modules/unictype/property-extender: Likewise.
33008         * modules/unictype/property-format-control: Likewise.
33009         * modules/unictype/property-grapheme-base: Likewise.
33010         * modules/unictype/property-grapheme-extend: Likewise.
33011         * modules/unictype/property-grapheme-link: Likewise.
33012         * modules/unictype/property-hex-digit: Likewise.
33013         * modules/unictype/property-hyphen: Likewise.
33014         * modules/unictype/property-id-continue: Likewise.
33015         * modules/unictype/property-id-start: Likewise.
33016         * modules/unictype/property-ideographic: Likewise.
33017         * modules/unictype/property-ids-binary-operator: Likewise.
33018         * modules/unictype/property-ids-trinary-operator: Likewise.
33019         * modules/unictype/property-ignorable-control: Likewise.
33020         * modules/unictype/property-iso-control: Likewise.
33021         * modules/unictype/property-join-control: Likewise.
33022         * modules/unictype/property-left-of-pair: Likewise.
33023         * modules/unictype/property-line-separator: Likewise.
33024         * modules/unictype/property-logical-order-exception: Likewise.
33025         * modules/unictype/property-lowercase: Likewise.
33026         * modules/unictype/property-math: Likewise.
33027         * modules/unictype/property-non-break: Likewise.
33028         * modules/unictype/property-not-a-character: Likewise.
33029         * modules/unictype/property-numeric: Likewise.
33030         * modules/unictype/property-other-alphabetic: Likewise.
33031         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
33032         * modules/unictype/property-other-grapheme-extend: Likewise.
33033         * modules/unictype/property-other-id-continue: Likewise.
33034         * modules/unictype/property-other-id-start: Likewise.
33035         * modules/unictype/property-other-lowercase: Likewise.
33036         * modules/unictype/property-other-math: Likewise.
33037         * modules/unictype/property-other-uppercase: Likewise.
33038         * modules/unictype/property-paired-punctuation: Likewise.
33039         * modules/unictype/property-paragraph-separator: Likewise.
33040         * modules/unictype/property-pattern-syntax: Likewise.
33041         * modules/unictype/property-pattern-white-space: Likewise.
33042         * modules/unictype/property-private-use: Likewise.
33043         * modules/unictype/property-punctuation: Likewise.
33044         * modules/unictype/property-quotation-mark: Likewise.
33045         * modules/unictype/property-radical: Likewise.
33046         * modules/unictype/property-sentence-terminal: Likewise.
33047         * modules/unictype/property-soft-dotted: Likewise.
33048         * modules/unictype/property-space: Likewise.
33049         * modules/unictype/property-terminal-punctuation: Likewise.
33050         * modules/unictype/property-test: Likewise.
33051         * modules/unictype/property-titlecase: Likewise.
33052         * modules/unictype/property-unassigned-code-value: Likewise.
33053         * modules/unictype/property-unified-ideograph: Likewise.
33054         * modules/unictype/property-uppercase: Likewise.
33055         * modules/unictype/property-variation-selector: Likewise.
33056         * modules/unictype/property-white-space: Likewise.
33057         * modules/unictype/property-xid-continue: Likewise.
33058         * modules/unictype/property-xid-start: Likewise.
33059         * modules/unictype/property-zero-width: Likewise.
33060         * modules/unictype/scripts: Likewise.
33061         * modules/unictype/syntax-c-ident: Likewise.
33062         * modules/unictype/syntax-c-whitespace: Likewise.
33063         * modules/unictype/syntax-java-ident: Likewise.
33064         * modules/unictype/syntax-java-whitespace: Likewise.
33065         * modules/unilbrk/u8-possible-linebreaks: Likewise.
33066         * modules/unilbrk/u8-width-linebreaks: Likewise.
33067         * modules/unilbrk/u16-possible-linebreaks: Likewise.
33068         * modules/unilbrk/u16-width-linebreaks: Likewise.
33069         * modules/unilbrk/u32-possible-linebreaks: Likewise.
33070         * modules/unilbrk/u32-width-linebreaks: Likewise.
33071         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
33072         * modules/unilbrk/ulc-width-linebreaks: Likewise.
33073         * modules/uniname/uniname: Likewise.
33074         * modules/uninorm/canonical-decomposition: Likewise.
33075         * modules/uninorm/composition: Likewise.
33076         * modules/uninorm/decomposing-form: Likewise.
33077         * modules/uninorm/decomposition: Likewise.
33078         * modules/uninorm/filter: Likewise.
33079         * modules/uninorm/nfc: Likewise.
33080         * modules/uninorm/nfd: Likewise.
33081         * modules/uninorm/nfkc: Likewise.
33082         * modules/uninorm/nfkd: Likewise.
33083         * modules/uninorm/u8-normalize: Likewise.
33084         * modules/uninorm/u8-normcmp: Likewise.
33085         * modules/uninorm/u8-normcoll: Likewise.
33086         * modules/uninorm/u8-normxfrm: Likewise.
33087         * modules/uninorm/u16-normalize: Likewise.
33088         * modules/uninorm/u16-normcmp: Likewise.
33089         * modules/uninorm/u16-normcoll: Likewise.
33090         * modules/uninorm/u16-normxfrm: Likewise.
33091         * modules/uninorm/u32-normalize: Likewise.
33092         * modules/uninorm/u32-normcmp: Likewise.
33093         * modules/uninorm/u32-normcoll: Likewise.
33094         * modules/uninorm/u32-normxfrm: Likewise.
33095         * modules/unistdio/u8-asnprintf: Likewise.
33096         * modules/unistdio/u8-asprintf: Likewise.
33097         * modules/unistdio/u8-snprintf: Likewise.
33098         * modules/unistdio/u8-sprintf: Likewise.
33099         * modules/unistdio/u8-u8-asnprintf: Likewise.
33100         * modules/unistdio/u8-u8-asprintf: Likewise.
33101         * modules/unistdio/u8-u8-snprintf: Likewise.
33102         * modules/unistdio/u8-u8-sprintf: Likewise.
33103         * modules/unistdio/u8-u8-vasnprintf: Likewise.
33104         * modules/unistdio/u8-u8-vasprintf: Likewise.
33105         * modules/unistdio/u8-u8-vsnprintf: Likewise.
33106         * modules/unistdio/u8-u8-vsprintf: Likewise.
33107         * modules/unistdio/u8-vasnprintf: Likewise.
33108         * modules/unistdio/u8-vasprintf: Likewise.
33109         * modules/unistdio/u8-vsnprintf: Likewise.
33110         * modules/unistdio/u8-vsprintf: Likewise.
33111         * modules/unistdio/u16-asnprintf: Likewise.
33112         * modules/unistdio/u16-asprintf: Likewise.
33113         * modules/unistdio/u16-snprintf: Likewise.
33114         * modules/unistdio/u16-sprintf: Likewise.
33115         * modules/unistdio/u16-u16-asnprintf: Likewise.
33116         * modules/unistdio/u16-u16-asprintf: Likewise.
33117         * modules/unistdio/u16-u16-snprintf: Likewise.
33118         * modules/unistdio/u16-u16-sprintf: Likewise.
33119         * modules/unistdio/u16-u16-vasnprintf: Likewise.
33120         * modules/unistdio/u16-u16-vasprintf: Likewise.
33121         * modules/unistdio/u16-u16-vsnprintf: Likewise.
33122         * modules/unistdio/u16-u16-vsprintf: Likewise.
33123         * modules/unistdio/u16-vasnprintf: Likewise.
33124         * modules/unistdio/u16-vasprintf: Likewise.
33125         * modules/unistdio/u16-vsnprintf: Likewise.
33126         * modules/unistdio/u16-vsprintf: Likewise.
33127         * modules/unistdio/u32-asnprintf: Likewise.
33128         * modules/unistdio/u32-asprintf: Likewise.
33129         * modules/unistdio/u32-snprintf: Likewise.
33130         * modules/unistdio/u32-sprintf: Likewise.
33131         * modules/unistdio/u32-u32-asnprintf: Likewise.
33132         * modules/unistdio/u32-u32-asprintf: Likewise.
33133         * modules/unistdio/u32-u32-snprintf: Likewise.
33134         * modules/unistdio/u32-u32-sprintf: Likewise.
33135         * modules/unistdio/u32-u32-vasnprintf: Likewise.
33136         * modules/unistdio/u32-u32-vasprintf: Likewise.
33137         * modules/unistdio/u32-u32-vsnprintf: Likewise.
33138         * modules/unistdio/u32-u32-vsprintf: Likewise.
33139         * modules/unistdio/u32-vasnprintf: Likewise.
33140         * modules/unistdio/u32-vasprintf: Likewise.
33141         * modules/unistdio/u32-vsnprintf: Likewise.
33142         * modules/unistdio/u32-vsprintf: Likewise.
33143         * modules/unistdio/ulc-asnprintf: Likewise.
33144         * modules/unistdio/ulc-asprintf: Likewise.
33145         * modules/unistdio/ulc-fprintf: Likewise.
33146         * modules/unistdio/ulc-snprintf: Likewise.
33147         * modules/unistdio/ulc-sprintf: Likewise.
33148         * modules/unistdio/ulc-vasnprintf: Likewise.
33149         * modules/unistdio/ulc-vasprintf: Likewise.
33150         * modules/unistdio/ulc-vfprintf: Likewise.
33151         * modules/unistdio/ulc-vsnprintf: Likewise.
33152         * modules/unistdio/ulc-vsprintf: Likewise.
33153         * modules/unistr/u8-check: Likewise.
33154         * modules/unistr/u8-chr: Likewise.
33155         * modules/unistr/u8-cmp: Likewise.
33156         * modules/unistr/u8-cmp2: Likewise.
33157         * modules/unistr/u8-cpy: Likewise.
33158         * modules/unistr/u8-cpy-alloc: Likewise.
33159         * modules/unistr/u8-endswith: Likewise.
33160         * modules/unistr/u8-mblen: Likewise.
33161         * modules/unistr/u8-mbsnlen: Likewise.
33162         * modules/unistr/u8-mbtouc: Likewise.
33163         * modules/unistr/u8-mbtouc-unsafe: Likewise.
33164         * modules/unistr/u8-mbtoucr: Likewise.
33165         * modules/unistr/u8-move: Likewise.
33166         * modules/unistr/u8-next: Likewise.
33167         * modules/unistr/u8-prev: Likewise.
33168         * modules/unistr/u8-set: Likewise.
33169         * modules/unistr/u8-startswith: Likewise.
33170         * modules/unistr/u8-stpcpy: Likewise.
33171         * modules/unistr/u8-stpncpy: Likewise.
33172         * modules/unistr/u8-strcat: Likewise.
33173         * modules/unistr/u8-strchr: Likewise.
33174         * modules/unistr/u8-strcmp: Likewise.
33175         * modules/unistr/u8-strcoll: Likewise.
33176         * modules/unistr/u8-strcpy: Likewise.
33177         * modules/unistr/u8-strcspn: Likewise.
33178         * modules/unistr/u8-strdup: Likewise.
33179         * modules/unistr/u8-strlen: Likewise.
33180         * modules/unistr/u8-strmblen: Likewise.
33181         * modules/unistr/u8-strmbtouc: Likewise.
33182         * modules/unistr/u8-strncat: Likewise.
33183         * modules/unistr/u8-strncmp: Likewise.
33184         * modules/unistr/u8-strncpy: Likewise.
33185         * modules/unistr/u8-strnlen: Likewise.
33186         * modules/unistr/u8-strpbrk: Likewise.
33187         * modules/unistr/u8-strrchr: Likewise.
33188         * modules/unistr/u8-strspn: Likewise.
33189         * modules/unistr/u8-strstr: Likewise.
33190         * modules/unistr/u8-strtok: Likewise.
33191         * modules/unistr/u8-to-u16: Likewise.
33192         * modules/unistr/u8-to-u32: Likewise.
33193         * modules/unistr/u8-uctomb: Likewise.
33194         * modules/unistr/u16-check: Likewise.
33195         * modules/unistr/u16-chr: Likewise.
33196         * modules/unistr/u16-cmp: Likewise.
33197         * modules/unistr/u16-cmp2: Likewise.
33198         * modules/unistr/u16-cpy: Likewise.
33199         * modules/unistr/u16-cpy-alloc: Likewise.
33200         * modules/unistr/u16-endswith: Likewise.
33201         * modules/unistr/u16-mblen: Likewise.
33202         * modules/unistr/u16-mbsnlen: Likewise.
33203         * modules/unistr/u16-mbtouc: Likewise.
33204         * modules/unistr/u16-mbtouc-unsafe: Likewise.
33205         * modules/unistr/u16-mbtoucr: Likewise.
33206         * modules/unistr/u16-move: Likewise.
33207         * modules/unistr/u16-next: Likewise.
33208         * modules/unistr/u16-prev: Likewise.
33209         * modules/unistr/u16-set: Likewise.
33210         * modules/unistr/u16-startswith: Likewise.
33211         * modules/unistr/u16-stpcpy: Likewise.
33212         * modules/unistr/u16-stpncpy: Likewise.
33213         * modules/unistr/u16-strcat: Likewise.
33214         * modules/unistr/u16-strchr: Likewise.
33215         * modules/unistr/u16-strcmp: Likewise.
33216         * modules/unistr/u16-strcoll: Likewise.
33217         * modules/unistr/u16-strcpy: Likewise.
33218         * modules/unistr/u16-strcspn: Likewise.
33219         * modules/unistr/u16-strdup: Likewise.
33220         * modules/unistr/u16-strlen: Likewise.
33221         * modules/unistr/u16-strmblen: Likewise.
33222         * modules/unistr/u16-strmbtouc: Likewise.
33223         * modules/unistr/u16-strncat: Likewise.
33224         * modules/unistr/u16-strncmp: Likewise.
33225         * modules/unistr/u16-strncpy: Likewise.
33226         * modules/unistr/u16-strnlen: Likewise.
33227         * modules/unistr/u16-strpbrk: Likewise.
33228         * modules/unistr/u16-strrchr: Likewise.
33229         * modules/unistr/u16-strspn: Likewise.
33230         * modules/unistr/u16-strstr: Likewise.
33231         * modules/unistr/u16-strtok: Likewise.
33232         * modules/unistr/u16-to-u32: Likewise.
33233         * modules/unistr/u16-to-u8: Likewise.
33234         * modules/unistr/u16-uctomb: Likewise.
33235         * modules/unistr/u32-check: Likewise.
33236         * modules/unistr/u32-chr: Likewise.
33237         * modules/unistr/u32-cmp: Likewise.
33238         * modules/unistr/u32-cmp2: Likewise.
33239         * modules/unistr/u32-cpy: Likewise.
33240         * modules/unistr/u32-cpy-alloc: Likewise.
33241         * modules/unistr/u32-endswith: Likewise.
33242         * modules/unistr/u32-mblen: Likewise.
33243         * modules/unistr/u32-mbsnlen: Likewise.
33244         * modules/unistr/u32-mbtouc: Likewise.
33245         * modules/unistr/u32-mbtouc-unsafe: Likewise.
33246         * modules/unistr/u32-mbtoucr: Likewise.
33247         * modules/unistr/u32-move: Likewise.
33248         * modules/unistr/u32-next: Likewise.
33249         * modules/unistr/u32-prev: Likewise.
33250         * modules/unistr/u32-set: Likewise.
33251         * modules/unistr/u32-startswith: Likewise.
33252         * modules/unistr/u32-stpcpy: Likewise.
33253         * modules/unistr/u32-stpncpy: Likewise.
33254         * modules/unistr/u32-strcat: Likewise.
33255         * modules/unistr/u32-strchr: Likewise.
33256         * modules/unistr/u32-strcmp: Likewise.
33257         * modules/unistr/u32-strcoll: Likewise.
33258         * modules/unistr/u32-strcpy: Likewise.
33259         * modules/unistr/u32-strcspn: Likewise.
33260         * modules/unistr/u32-strdup: Likewise.
33261         * modules/unistr/u32-strlen: Likewise.
33262         * modules/unistr/u32-strmblen: Likewise.
33263         * modules/unistr/u32-strmbtouc: Likewise.
33264         * modules/unistr/u32-strncat: Likewise.
33265         * modules/unistr/u32-strncmp: Likewise.
33266         * modules/unistr/u32-strncpy: Likewise.
33267         * modules/unistr/u32-strnlen: Likewise.
33268         * modules/unistr/u32-strpbrk: Likewise.
33269         * modules/unistr/u32-strrchr: Likewise.
33270         * modules/unistr/u32-strspn: Likewise.
33271         * modules/unistr/u32-strstr: Likewise.
33272         * modules/unistr/u32-strtok: Likewise.
33273         * modules/unistr/u32-to-u16: Likewise.
33274         * modules/unistr/u32-to-u8: Likewise.
33275         * modules/unistr/u32-uctomb: Likewise.
33276         * modules/uniwbrk/u8-wordbreaks: Likewise.
33277         * modules/uniwbrk/u16-wordbreaks: Likewise.
33278         * modules/uniwbrk/u32-wordbreaks: Likewise.
33279         * modules/uniwbrk/ulc-wordbreaks: Likewise.
33280         * modules/uniwbrk/wordbreak-property: Likewise.
33281         * modules/uniwidth/u8-strwidth: Likewise.
33282         * modules/uniwidth/u8-width: Likewise.
33283         * modules/uniwidth/u16-strwidth: Likewise.
33284         * modules/uniwidth/u16-width: Likewise.
33285         * modules/uniwidth/u32-strwidth: Likewise.
33286         * modules/uniwidth/u32-width: Likewise.
33287         * modules/uniwidth/width: Likewise.
33288         * modules/unicase/cased-tests (Makefile.am): Link all test programs
33289         with $(LIBUNISTRING).
33290         * modules/unicase/ignorable-tests: Likewise.
33291         * modules/unicase/locale-language-tests: Likewise.
33292         * modules/unicase/tolower-tests: Likewise.
33293         * modules/unicase/totitle-tests: Likewise.
33294         * modules/unicase/toupper-tests: Likewise.
33295         * modules/unicase/u8-casecmp-tests: Likewise.
33296         * modules/unicase/u8-casecoll-tests: Likewise.
33297         * modules/unicase/u8-casefold-tests: Likewise.
33298         * modules/unicase/u8-is-cased-tests: Likewise.
33299         * modules/unicase/u8-is-casefolded-tests: Likewise.
33300         * modules/unicase/u8-is-lowercase-tests: Likewise.
33301         * modules/unicase/u8-is-titlecase-tests: Likewise.
33302         * modules/unicase/u8-is-uppercase-tests: Likewise.
33303         * modules/unicase/u8-tolower-tests: Likewise.
33304         * modules/unicase/u8-totitle-tests: Likewise.
33305         * modules/unicase/u8-toupper-tests: Likewise.
33306         * modules/unicase/u16-casecmp-tests: Likewise.
33307         * modules/unicase/u16-casecoll-tests: Likewise.
33308         * modules/unicase/u16-casefold-tests: Likewise.
33309         * modules/unicase/u16-is-cased-tests: Likewise.
33310         * modules/unicase/u16-is-casefolded-tests: Likewise.
33311         * modules/unicase/u16-is-lowercase-tests: Likewise.
33312         * modules/unicase/u16-is-titlecase-tests: Likewise.
33313         * modules/unicase/u16-is-uppercase-tests: Likewise.
33314         * modules/unicase/u16-tolower-tests: Likewise.
33315         * modules/unicase/u16-totitle-tests: Likewise.
33316         * modules/unicase/u16-toupper-tests: Likewise.
33317         * modules/unicase/u32-casecmp-tests: Likewise.
33318         * modules/unicase/u32-casecoll-tests: Likewise.
33319         * modules/unicase/u32-casefold-tests: Likewise.
33320         * modules/unicase/u32-is-cased-tests: Likewise.
33321         * modules/unicase/u32-is-casefolded-tests: Likewise.
33322         * modules/unicase/u32-is-lowercase-tests: Likewise.
33323         * modules/unicase/u32-is-titlecase-tests: Likewise.
33324         * modules/unicase/u32-is-uppercase-tests: Likewise.
33325         * modules/unicase/u32-tolower-tests: Likewise.
33326         * modules/unicase/u32-totitle-tests: Likewise.
33327         * modules/unicase/u32-toupper-tests: Likewise.
33328         * modules/unicase/ulc-casecmp-tests: Likewise.
33329         * modules/unicase/ulc-casecoll-tests: Likewise.
33330         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
33331         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
33332         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
33333         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
33334         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
33335         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
33336         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
33337         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
33338         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
33339         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
33340         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
33341         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
33342         * modules/unictype/bidicategory-byname-tests: Likewise.
33343         * modules/unictype/bidicategory-name-tests: Likewise.
33344         * modules/unictype/bidicategory-of-tests: Likewise.
33345         * modules/unictype/bidicategory-test-tests: Likewise.
33346         * modules/unictype/block-list-tests: Likewise.
33347         * modules/unictype/block-of-tests: Likewise.
33348         * modules/unictype/block-test-tests: Likewise.
33349         * modules/unictype/category-C-tests: Likewise.
33350         * modules/unictype/category-Cc-tests: Likewise.
33351         * modules/unictype/category-Cf-tests: Likewise.
33352         * modules/unictype/category-Cn-tests: Likewise.
33353         * modules/unictype/category-Co-tests: Likewise.
33354         * modules/unictype/category-Cs-tests: Likewise.
33355         * modules/unictype/category-L-tests: Likewise.
33356         * modules/unictype/category-Ll-tests: Likewise.
33357         * modules/unictype/category-Lm-tests: Likewise.
33358         * modules/unictype/category-Lo-tests: Likewise.
33359         * modules/unictype/category-Lt-tests: Likewise.
33360         * modules/unictype/category-Lu-tests: Likewise.
33361         * modules/unictype/category-M-tests: Likewise.
33362         * modules/unictype/category-Mc-tests: Likewise.
33363         * modules/unictype/category-Me-tests: Likewise.
33364         * modules/unictype/category-Mn-tests: Likewise.
33365         * modules/unictype/category-N-tests: Likewise.
33366         * modules/unictype/category-Nd-tests: Likewise.
33367         * modules/unictype/category-Nl-tests: Likewise.
33368         * modules/unictype/category-No-tests: Likewise.
33369         * modules/unictype/category-P-tests: Likewise.
33370         * modules/unictype/category-Pc-tests: Likewise.
33371         * modules/unictype/category-Pd-tests: Likewise.
33372         * modules/unictype/category-Pe-tests: Likewise.
33373         * modules/unictype/category-Pf-tests: Likewise.
33374         * modules/unictype/category-Pi-tests: Likewise.
33375         * modules/unictype/category-Po-tests: Likewise.
33376         * modules/unictype/category-Ps-tests: Likewise.
33377         * modules/unictype/category-S-tests: Likewise.
33378         * modules/unictype/category-Sc-tests: Likewise.
33379         * modules/unictype/category-Sk-tests: Likewise.
33380         * modules/unictype/category-Sm-tests: Likewise.
33381         * modules/unictype/category-So-tests: Likewise.
33382         * modules/unictype/category-Z-tests: Likewise.
33383         * modules/unictype/category-Zl-tests: Likewise.
33384         * modules/unictype/category-Zp-tests: Likewise.
33385         * modules/unictype/category-Zs-tests: Likewise.
33386         * modules/unictype/category-and-not-tests: Likewise.
33387         * modules/unictype/category-and-tests: Likewise.
33388         * modules/unictype/category-byname-tests: Likewise.
33389         * modules/unictype/category-name-tests: Likewise.
33390         * modules/unictype/category-none-tests: Likewise.
33391         * modules/unictype/category-of-tests: Likewise.
33392         * modules/unictype/category-or-tests: Likewise.
33393         * modules/unictype/category-test-withtable-tests: Likewise.
33394         * modules/unictype/combining-class-tests: Likewise.
33395         * modules/unictype/ctype-alnum-tests: Likewise.
33396         * modules/unictype/ctype-alpha-tests: Likewise.
33397         * modules/unictype/ctype-blank-tests: Likewise.
33398         * modules/unictype/ctype-cntrl-tests: Likewise.
33399         * modules/unictype/ctype-digit-tests: Likewise.
33400         * modules/unictype/ctype-graph-tests: Likewise.
33401         * modules/unictype/ctype-lower-tests: Likewise.
33402         * modules/unictype/ctype-print-tests: Likewise.
33403         * modules/unictype/ctype-punct-tests: Likewise.
33404         * modules/unictype/ctype-space-tests: Likewise.
33405         * modules/unictype/ctype-upper-tests: Likewise.
33406         * modules/unictype/ctype-xdigit-tests: Likewise.
33407         * modules/unictype/decimal-digit-tests: Likewise.
33408         * modules/unictype/digit-tests: Likewise.
33409         * modules/unictype/mirror-tests: Likewise.
33410         * modules/unictype/numeric-tests: Likewise.
33411         * modules/unictype/property-alphabetic-tests: Likewise.
33412         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
33413         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
33414         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
33415         * modules/unictype/property-bidi-block-separator-tests: Likewise.
33416         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
33417         * modules/unictype/property-bidi-common-separator-tests: Likewise.
33418         * modules/unictype/property-bidi-control-tests: Likewise.
33419         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
33420         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
33421         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
33422         * modules/unictype/property-bidi-european-digit-tests: Likewise.
33423         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
33424         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
33425         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
33426         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
33427         * modules/unictype/property-bidi-pdf-tests: Likewise.
33428         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
33429         * modules/unictype/property-bidi-whitespace-tests: Likewise.
33430         * modules/unictype/property-byname-tests: Likewise.
33431         * modules/unictype/property-combining-tests: Likewise.
33432         * modules/unictype/property-composite-tests: Likewise.
33433         * modules/unictype/property-currency-symbol-tests: Likewise.
33434         * modules/unictype/property-dash-tests: Likewise.
33435         * modules/unictype/property-decimal-digit-tests: Likewise.
33436         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
33437         * modules/unictype/property-deprecated-tests: Likewise.
33438         * modules/unictype/property-diacritic-tests: Likewise.
33439         * modules/unictype/property-extender-tests: Likewise.
33440         * modules/unictype/property-format-control-tests: Likewise.
33441         * modules/unictype/property-grapheme-base-tests: Likewise.
33442         * modules/unictype/property-grapheme-extend-tests: Likewise.
33443         * modules/unictype/property-grapheme-link-tests: Likewise.
33444         * modules/unictype/property-hex-digit-tests: Likewise.
33445         * modules/unictype/property-hyphen-tests: Likewise.
33446         * modules/unictype/property-id-continue-tests: Likewise.
33447         * modules/unictype/property-id-start-tests: Likewise.
33448         * modules/unictype/property-ideographic-tests: Likewise.
33449         * modules/unictype/property-ids-binary-operator-tests: Likewise.
33450         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
33451         * modules/unictype/property-ignorable-control-tests: Likewise.
33452         * modules/unictype/property-iso-control-tests: Likewise.
33453         * modules/unictype/property-join-control-tests: Likewise.
33454         * modules/unictype/property-left-of-pair-tests: Likewise.
33455         * modules/unictype/property-line-separator-tests: Likewise.
33456         * modules/unictype/property-logical-order-exception-tests: Likewise.
33457         * modules/unictype/property-lowercase-tests: Likewise.
33458         * modules/unictype/property-math-tests: Likewise.
33459         * modules/unictype/property-non-break-tests: Likewise.
33460         * modules/unictype/property-not-a-character-tests: Likewise.
33461         * modules/unictype/property-numeric-tests: Likewise.
33462         * modules/unictype/property-other-alphabetic-tests: Likewise.
33463         * modules/unictype/property-other-default-ignorable-code-point-tests:
33464         Likewise.
33465         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
33466         * modules/unictype/property-other-id-continue-tests: Likewise.
33467         * modules/unictype/property-other-id-start-tests: Likewise.
33468         * modules/unictype/property-other-lowercase-tests: Likewise.
33469         * modules/unictype/property-other-math-tests: Likewise.
33470         * modules/unictype/property-other-uppercase-tests: Likewise.
33471         * modules/unictype/property-paired-punctuation-tests: Likewise.
33472         * modules/unictype/property-paragraph-separator-tests: Likewise.
33473         * modules/unictype/property-pattern-syntax-tests: Likewise.
33474         * modules/unictype/property-pattern-white-space-tests: Likewise.
33475         * modules/unictype/property-private-use-tests: Likewise.
33476         * modules/unictype/property-punctuation-tests: Likewise.
33477         * modules/unictype/property-quotation-mark-tests: Likewise.
33478         * modules/unictype/property-radical-tests: Likewise.
33479         * modules/unictype/property-sentence-terminal-tests: Likewise.
33480         * modules/unictype/property-soft-dotted-tests: Likewise.
33481         * modules/unictype/property-space-tests: Likewise.
33482         * modules/unictype/property-terminal-punctuation-tests: Likewise.
33483         * modules/unictype/property-test-tests: Likewise.
33484         * modules/unictype/property-titlecase-tests: Likewise.
33485         * modules/unictype/property-unassigned-code-value-tests: Likewise.
33486         * modules/unictype/property-unified-ideograph-tests: Likewise.
33487         * modules/unictype/property-uppercase-tests: Likewise.
33488         * modules/unictype/property-variation-selector-tests: Likewise.
33489         * modules/unictype/property-white-space-tests: Likewise.
33490         * modules/unictype/property-xid-continue-tests: Likewise.
33491         * modules/unictype/property-xid-start-tests: Likewise.
33492         * modules/unictype/property-zero-width-tests: Likewise.
33493         * modules/unictype/scripts-tests: Likewise.
33494         * modules/unictype/syntax-c-ident-tests: Likewise.
33495         * modules/unictype/syntax-c-whitespace-tests: Likewise.
33496         * modules/unictype/syntax-java-ident-tests: Likewise.
33497         * modules/unictype/syntax-java-whitespace-tests: Likewise.
33498         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
33499         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
33500         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
33501         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
33502         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
33503         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
33504         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
33505         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
33506         * modules/uniname/uniname-tests: Likewise.
33507         * modules/uninorm/canonical-decomposition-tests: Likewise.
33508         * modules/uninorm/compat-decomposition-tests: Likewise.
33509         * modules/uninorm/composition-tests: Likewise.
33510         * modules/uninorm/decomposing-form-tests: Likewise.
33511         * modules/uninorm/decomposition-tests: Likewise.
33512         * modules/uninorm/filter-tests: Likewise.
33513         * modules/uninorm/nfc-tests: Likewise.
33514         * modules/uninorm/nfd-tests: Likewise.
33515         * modules/uninorm/nfkc-tests: Likewise.
33516         * modules/uninorm/nfkd-tests: Likewise.
33517         * modules/uninorm/u8-normcmp-tests: Likewise.
33518         * modules/uninorm/u8-normcoll-tests: Likewise.
33519         * modules/uninorm/u16-normcmp-tests: Likewise.
33520         * modules/uninorm/u16-normcoll-tests: Likewise.
33521         * modules/uninorm/u32-normcmp-tests: Likewise.
33522         * modules/uninorm/u32-normcoll-tests: Likewise.
33523         * modules/unistdio/u8-asnprintf-tests: Likewise.
33524         * modules/unistdio/u8-vasnprintf-tests: Likewise.
33525         * modules/unistdio/u8-vasprintf-tests: Likewise.
33526         * modules/unistdio/u8-vsnprintf-tests: Likewise.
33527         * modules/unistdio/u8-vsprintf-tests: Likewise.
33528         * modules/unistdio/u16-asnprintf-tests: Likewise.
33529         * modules/unistdio/u16-vasnprintf-tests: Likewise.
33530         * modules/unistdio/u16-vasprintf-tests: Likewise.
33531         * modules/unistdio/u16-vsnprintf-tests: Likewise.
33532         * modules/unistdio/u16-vsprintf-tests: Likewise.
33533         * modules/unistdio/u32-asnprintf-tests: Likewise.
33534         * modules/unistdio/u32-vasnprintf-tests: Likewise.
33535         * modules/unistdio/u32-vasprintf-tests: Likewise.
33536         * modules/unistdio/u32-vsnprintf-tests: Likewise.
33537         * modules/unistdio/u32-vsprintf-tests: Likewise.
33538         * modules/unistdio/ulc-asnprintf-tests: Likewise.
33539         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
33540         * modules/unistdio/ulc-vasprintf-tests: Likewise.
33541         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
33542         * modules/unistdio/ulc-vsprintf-tests: Likewise.
33543         * modules/unistr/u8-check-tests: Likewise.
33544         * modules/unistr/u8-chr-tests: Likewise.
33545         * modules/unistr/u8-cmp-tests: Likewise.
33546         * modules/unistr/u8-cmp2-tests: Likewise.
33547         * modules/unistr/u8-cpy-alloc-tests: Likewise.
33548         * modules/unistr/u8-cpy-tests: Likewise.
33549         * modules/unistr/u8-mblen-tests: Likewise.
33550         * modules/unistr/u8-mbsnlen-tests: Likewise.
33551         * modules/unistr/u8-mbtouc-tests: Likewise.
33552         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
33553         * modules/unistr/u8-mbtoucr-tests: Likewise.
33554         * modules/unistr/u8-move-tests: Likewise.
33555         * modules/unistr/u8-next-tests: Likewise.
33556         * modules/unistr/u8-prev-tests: Likewise.
33557         * modules/unistr/u8-set-tests: Likewise.
33558         * modules/unistr/u8-stpcpy-tests: Likewise.
33559         * modules/unistr/u8-stpncpy-tests: Likewise.
33560         * modules/unistr/u8-strcat-tests: Likewise.
33561         * modules/unistr/u8-strcmp-tests: Likewise.
33562         * modules/unistr/u8-strcoll-tests: Likewise.
33563         * modules/unistr/u8-strcpy-tests: Likewise.
33564         * modules/unistr/u8-strdup-tests: Likewise.
33565         * modules/unistr/u8-strlen-tests: Likewise.
33566         * modules/unistr/u8-strmblen-tests: Likewise.
33567         * modules/unistr/u8-strmbtouc-tests: Likewise.
33568         * modules/unistr/u8-strncat-tests: Likewise.
33569         * modules/unistr/u8-strncmp-tests: Likewise.
33570         * modules/unistr/u8-strncpy-tests: Likewise.
33571         * modules/unistr/u8-strnlen-tests: Likewise.
33572         * modules/unistr/u8-to-u16-tests: Likewise.
33573         * modules/unistr/u8-to-u32-tests: Likewise.
33574         * modules/unistr/u8-uctomb-tests: Likewise.
33575         * modules/unistr/u16-check-tests: Likewise.
33576         * modules/unistr/u16-chr-tests: Likewise.
33577         * modules/unistr/u16-cmp-tests: Likewise.
33578         * modules/unistr/u16-cmp2-tests: Likewise.
33579         * modules/unistr/u16-cpy-alloc-tests: Likewise.
33580         * modules/unistr/u16-cpy-tests: Likewise.
33581         * modules/unistr/u16-mblen-tests: Likewise.
33582         * modules/unistr/u16-mbsnlen-tests: Likewise.
33583         * modules/unistr/u16-mbtouc-tests: Likewise.
33584         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
33585         * modules/unistr/u16-mbtoucr-tests: Likewise.
33586         * modules/unistr/u16-move-tests: Likewise.
33587         * modules/unistr/u16-next-tests: Likewise.
33588         * modules/unistr/u16-prev-tests: Likewise.
33589         * modules/unistr/u16-set-tests: Likewise.
33590         * modules/unistr/u16-stpcpy-tests: Likewise.
33591         * modules/unistr/u16-stpncpy-tests: Likewise.
33592         * modules/unistr/u16-strcat-tests: Likewise.
33593         * modules/unistr/u16-strcmp-tests: Likewise.
33594         * modules/unistr/u16-strcoll-tests: Likewise.
33595         * modules/unistr/u16-strcpy-tests: Likewise.
33596         * modules/unistr/u16-strdup-tests: Likewise.
33597         * modules/unistr/u16-strlen-tests: Likewise.
33598         * modules/unistr/u16-strmblen-tests: Likewise.
33599         * modules/unistr/u16-strmbtouc-tests: Likewise.
33600         * modules/unistr/u16-strncat-tests: Likewise.
33601         * modules/unistr/u16-strncmp-tests: Likewise.
33602         * modules/unistr/u16-strncpy-tests: Likewise.
33603         * modules/unistr/u16-strnlen-tests: Likewise.
33604         * modules/unistr/u16-to-u32-tests: Likewise.
33605         * modules/unistr/u16-to-u8-tests: Likewise.
33606         * modules/unistr/u16-uctomb-tests: Likewise.
33607         * modules/unistr/u32-check-tests: Likewise.
33608         * modules/unistr/u32-chr-tests: Likewise.
33609         * modules/unistr/u32-cmp-tests: Likewise.
33610         * modules/unistr/u32-cmp2-tests: Likewise.
33611         * modules/unistr/u32-cpy-alloc-tests: Likewise.
33612         * modules/unistr/u32-cpy-tests: Likewise.
33613         * modules/unistr/u32-mblen-tests: Likewise.
33614         * modules/unistr/u32-mbsnlen-tests: Likewise.
33615         * modules/unistr/u32-mbtouc-tests: Likewise.
33616         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
33617         * modules/unistr/u32-mbtoucr-tests: Likewise.
33618         * modules/unistr/u32-move-tests: Likewise.
33619         * modules/unistr/u32-next-tests: Likewise.
33620         * modules/unistr/u32-prev-tests: Likewise.
33621         * modules/unistr/u32-set-tests: Likewise.
33622         * modules/unistr/u32-stpcpy-tests: Likewise.
33623         * modules/unistr/u32-stpncpy-tests: Likewise.
33624         * modules/unistr/u32-strcat-tests: Likewise.
33625         * modules/unistr/u32-strcmp-tests: Likewise.
33626         * modules/unistr/u32-strcoll-tests: Likewise.
33627         * modules/unistr/u32-strcpy-tests: Likewise.
33628         * modules/unistr/u32-strdup-tests: Likewise.
33629         * modules/unistr/u32-strlen-tests: Likewise.
33630         * modules/unistr/u32-strmblen-tests: Likewise.
33631         * modules/unistr/u32-strmbtouc-tests: Likewise.
33632         * modules/unistr/u32-strncat-tests: Likewise.
33633         * modules/unistr/u32-strncmp-tests: Likewise.
33634         * modules/unistr/u32-strncpy-tests: Likewise.
33635         * modules/unistr/u32-strnlen-tests: Likewise.
33636         * modules/unistr/u32-to-u16-tests: Likewise.
33637         * modules/unistr/u32-to-u8-tests: Likewise.
33638         * modules/unistr/u32-uctomb-tests: Likewise.
33639         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
33640         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
33641         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
33642         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
33643         * modules/uniwidth/u8-strwidth-tests: Likewise.
33644         * modules/uniwidth/u8-width-tests: Likewise.
33645         * modules/uniwidth/u16-strwidth-tests: Likewise.
33646         * modules/uniwidth/u16-width-tests: Likewise.
33647         * modules/uniwidth/u32-strwidth-tests: Likewise.
33648         * modules/uniwidth/u32-width-tests: Likewise.
33649         * modules/uniwidth/width-tests: Likewise.
33650
33651 2010-05-18  Richard Jones  <rjones@redhat.com>
33652
33653         doc: users.txt: list hivex
33654         * users.txt: Add hivex.
33655
33656 2010-05-18  Richard Jones  <rjones@redhat.com>
33657
33658         doc: users.txt: list febootstrap
33659         * users.txt: Add febootstrap.
33660
33661 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
33662
33663         bootstrap: fix an error when gnulib is not used as a git submodule
33664         * build-aux/bootstrap (gnulib_path): If its length is zero then
33665         assign "gnulib" to it.
33666         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
33667
33668 2010-05-16  Bruno Haible  <bruno@clisp.org>
33669
33670         Avoid autoconf warnings about AM_ICONV.
33671         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
33672         2.64.
33673
33674 2010-05-16  Bruno Haible  <bruno@clisp.org>
33675
33676         absolute-header: Make the macro usable in more situations.
33677         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
33678         from gl_ABSOLUTE_HEADER.
33679         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
33680
33681 2010-05-16  James Youngman  <jay@gnu.org>
33682
33683         doc: update users.txt
33684         * users.txt: Add CSSC.
33685
33686 2010-05-16  Jim Meyering  <meyering@redhat.com>
33687
33688         init.sh: fix an error in the previous change; add more comments
33689         * tests/init.sh: Compare exit code in loop against 9, not 2.
33690         Patch by Bruno Haible.
33691         Make the two tests more similar by adding an empty "then" clause.
33692         Add comments.
33693
33694         init.sh: avoid unnecessary shell re-exec
33695         * tests/init.sh: Improve the re-exec-required check to first test the
33696         current shell.  If it passes the test, do not search for a shell that
33697         does pass, and do not re-exec.  This test is particularly contorted to
33698         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
33699         of $(...) evokes a syntax error and causes immediate shell exit with
33700         status 2.  Bruno Haible reported that the re-exec made it impossible
33701         to single-step through any init.sh-using script.
33702
33703 2010-05-16  Bruno Haible  <bruno@clisp.org>
33704
33705         Fix collision between gnulib's and libintl's printf replacements.
33706         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
33707         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
33708         (printf): When using GNU C, map the __printf__ function to rpl_printf
33709         via __asm__. When not using GNU C, define rpl_printf instead of
33710         __printf__.
33711         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
33712         commit.
33713         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
33714         commit.
33715         * m4/asm-underscore.m4: New file.
33716         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
33717         * modules/stdio (Files): Add m4/asm-underscore.m4.
33718         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
33719         Reported by Ben Pfaff.
33720
33721 2010-05-16  Bruno Haible  <bruno@clisp.org>
33722
33723         verify: Avoid skipping the test on openSUSE 11.0.
33724         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
33725
33726 2010-05-13  Bruno Haible  <bruno@clisp.org>
33727
33728         Avoid useless warnings from G++.
33729         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
33730         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
33731         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33732
33733 2010-05-11  Jim Meyering  <meyering@redhat.com>
33734
33735         maint.mk: tweak preceding change
33736         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
33737         regexps tighter by anchoring at EOL, and make the new group "shy"
33738         for slightly decreased overhead.
33739
33740 2010-05-11  Eric Blake  <eblake@redhat.com>
33741
33742         maint.mk: gnulib doesn't guarantee NSIG
33743         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
33744
33745 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33746
33747         test-pwrite.c: Remove unused variable declaration.
33748         * tests/test-pwrite.c (main): Remove read_buf declaration.
33749
33750         Remove useless test-pwrite.sh file.
33751         * tests/test-pwrite.sh: Delete file.
33752         * modules/pwrite-tests: Remove references.
33753         Reported by Bruno Haible.
33754
33755 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33756
33757         init.sh: fix a typo
33758         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
33759
33760 2010-05-10  Jim Meyering  <meyering@redhat.com>
33761
33762         maint.mk: avoid using a temporary file in the always-defined-macros check
33763         * top/maint.mk (.re-defmac): Remove rule.
33764         (gl_trap_): Remove definition.
33765         (sc_prohibit_always-defined_macros): Rewrite not to create and
33766         depend on a temporary file.  Instead, depend on GNU grep's ability
33767         to read a list of regular expressions from stdin when given "-f -".
33768
33769 2010-05-09  Bruno Haible  <bruno@clisp.org>
33770
33771         Update to GNU gettext 0.18, part 1.
33772         * m4/gettext.m4: Update to GNU gettext 0.18.
33773         * m4/intl.m4: Likewise.
33774         * m4/po.m4: Likewise.
33775         * modules/gettext (Files): Add m4/fcntl-o.m4.
33776         (configure.ac): Require gettext infrastructure from version 0.18.
33777
33778 2010-05-09  Jim Meyering  <meyering@redhat.com>
33779
33780         init.sh: enable MALLOC_PERTURB_
33781         * tests/init.sh: Enable glibc's malloc-perturbing option.
33782
33783         maint.mk: improve sc_cross_check_PATH_usage_in_tests
33784         With my recent change in init.sh from the two-line form:
33785             -#   : ${srcdir=.}
33786             -#   . "$srcdir/init.sh"; path_prepend_ .
33787             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
33788         I noticed that using the one-line form would cause this test
33789         to fail with a false-positive, or to stop working altogether,
33790         depending on whether help-version changed or all the tests did.
33791         * top/maint.mk (_hv_regex): Remove this definition.
33792         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
33793         (_hv_regex_strong): Use a stronger regex to check for conformance.
33794         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
33795         Give a separate diagnostic for lack of conforming use.
33796
33797         maint.mk: prohibit definition of symbols defined by gnulib
33798         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
33799         definition of symbols defined by gnulib.
33800
33801 2010-05-09  Bruno Haible  <bruno@clisp.org>
33802
33803         acl: Avoid test failure on Cygwin-hosted mingw.
33804         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
33805
33806 2010-05-09  Bruno Haible  <bruno@clisp.org>
33807
33808         error: Use system's fcntl function.
33809         * lib/error.c (fcntl): Undefine.
33810
33811 2010-05-09  Jim Meyering  <meyering@redhat.com>
33812
33813         verify: adjust formatting to be more consistent
33814         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
33815         argument-list '('s, and after one comma.
33816
33817 2010-05-09  Bruno Haible  <bruno@clisp.org>
33818
33819         error: More reliable output on mingw.
33820         * lib/error.c: Include <windows.h>.
33821         (is_open): New function.
33822         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
33823         defined.
33824
33825 2010-05-09  Bruno Haible  <bruno@clisp.org>
33826
33827         vasnprintf: Fix syntax errors in libintl build on mingw.
33828         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
33829         pad_ourselves and prec_ourselves after use.
33830
33831 2010-05-08  Bruno Haible  <bruno@clisp.org>
33832
33833         * lib/config.charset: Update comments for Cygwin 1.7.
33834         * lib/localcharset.c: Likewise.
33835
33836 2010-05-07  Jim Meyering  <meyering@redhat.com>
33837
33838         init.sh: improve comments
33839         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
33840         . "${srcdir=.}/init.sh"; path_prepend_ .
33841         Add a note about path_prepend_ and the alternative of using
33842         TESTS_ENVIRONMENT.
33843
33844 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
33845
33846         exclude: Unescape hashed patterns in wildcard mode.
33847         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
33848         to the hash list.
33849         * tests/test-exclude8.sh: New test case.
33850         * modules/exclude-tests: Add new test.
33851
33852 2010-05-05  Eric Blake  <eblake@redhat.com>
33853
33854         verify: automate tests
33855         * modules/verify-tests: New module.
33856         * tests/test-verify.sh: New file.
33857         * tests/test-verify.c: Guard each negative test with a unique id.
33858         Also avoid warning about unused left hand of comma expressions.
33859
33860 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
33861
33862         Further improvements to verify.h, suggested by Eric Blake.
33863         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
33864         the GL_* versions, to avoid collision with OpenGL.
33865         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
33866         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
33867         than testing merely whether it's defined.
33868
33869         Modify verify.h to pacify gcc -Wredundant_decls.
33870         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
33871         These use the prefix "GL_" since they're likely to be useful elsewhere.
33872         We may need to break them out into a different .h file.
33873         (__COUNTER__): Define to 0 if the compiler doesn't support it.
33874         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
33875         of verify_function__.
33876
33877 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33878
33879         Tests for module pwrite.
33880         * modules/pwrite-tests: New file.
33881         * tests/test-pwrite.sh: New file.
33882         * tests/test-pwrite.c: New file.
33883
33884         New module pwrite.
33885         * lib/unistd.in.h (pwrite): New declaration.
33886         * lib/pwrite.c: New file, from glibc with modifications.
33887         * m4/pwrite.m4: New file.
33888         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
33889         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
33890         REPLACE_PWRITE.
33891         * modules/pwrite: New file.
33892         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
33893         REPLACE_PWRITE.
33894         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
33895         * doc/posix-functions/pwrite.texi: Mention the new module.
33896
33897 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33898
33899         pread: Update documentation.
33900         * doc/posix-functions/pread.texi: Mention the 'pread' module.
33901
33902 2010-05-04  Eric Blake  <eblake@redhat.com>
33903
33904         docs: update cygwin progress
33905         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
33906         this bug.
33907         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
33908         Added in cygwin 1.7.2.
33909         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
33910         Likewise.
33911         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
33912         Likewise.
33913         * doc/glibc-functions/dup3.texi (dup3): Likewise.
33914         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
33915         * doc/glibc-functions/accept4.texi (accept4): Likewise.
33916         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
33917         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
33918         Mention nproc module.
33919         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
33920         bug in cygwin 1.7.5 addition.
33921         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
33922         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
33923         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
33924         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
33925         1.7.5.
33926         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
33927         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
33928         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
33929         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
33930         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
33931         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
33932         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
33933         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
33934         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
33935         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
33936         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
33937         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
33938         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
33939         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
33940         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
33941         Likewise.
33942         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
33943         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
33944         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
33945         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
33946         Likewise.
33947         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
33948         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
33949         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
33950         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
33951         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
33952         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
33953         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
33954         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
33955         Likewise.
33956         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
33957         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
33958         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
33959         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
33960         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
33961         Likewise.
33962         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
33963         Likewise.
33964         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
33965         Likewise.
33966         * doc/glibc-functions/xdrrec_endofrecord.texi
33967         (xdrrec_endofrecord): Likewise.
33968         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
33969         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
33970         Likewise.
33971         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
33972         Likewise.
33973
33974 2010-05-04  Jim Meyering  <meyering@redhat.com>
33975
33976         gendocs.sh: make its "-s FILE" option more useful
33977         * build-aux/gendocs.sh: When honoring the -s FILE option, update
33978         $PACKAGE to reflect the probably-different basename of "FILE".
33979
33980 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
33981
33982         bootstrap: don't ignore download_po_files failure
33983         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
33984         failure.
33985
33986 2010-05-03  Jim Meyering  <meyering@redhat.com>
33987
33988         maint.mk: allow to pass options to gendocs.sh
33989         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
33990         (gendocs_options_): New overridable variable.
33991
33992         gnu-web-doc-update: don't ignore configure or build failure
33993         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
33994
33995         announce-gen: backslash-escape '@'s in --help output
33996         * build-aux/announce-gen: Fix syntax errors.
33997
33998         maint.mk, announce-gen: allow project-specific announcement mail headers
33999         * top/maint.mk (translation_project_): Define default.
34000         (announcement_Cc_, announcement_mail_headers_): Likewise.
34001         (announcement): Invoke announce-gen with new --mail-headers option.
34002         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
34003
34004         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
34005         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
34006         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
34007         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
34008         line in the "err2" output file when running "make check" in verbose
34009         mode (i.e., with set -x enabled).
34010
34011 2010-05-03  Bruno Haible  <bruno@clisp.org>
34012
34013         wctob: Fix for weird platforms.
34014         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
34015         argument value.
34016
34017 2010-05-03  Jim Meyering  <meyering@redhat.com>
34018
34019         maint.mk: prohibit unwarranted use of <strings.h>
34020         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
34021         strings.h in a file that does not also use strcasecmp, strncasecmp,
34022         ffs or ffsll.
34023
34024         maint.mk: remove obsolete comments
34025         * top/maint.mk: Remove stale, commented-out rules.
34026
34027 2010-05-02  Bruno Haible  <bruno@clisp.org>
34028
34029         wcwidth: Declare also when it's aliased.
34030         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
34031         macro.
34032
34033 2010-05-02  Bruno Haible  <bruno@clisp.org>
34034
34035         Fix regression from 2010-04-25.
34036         * gnulib-tool (func_modules_transitive_closure): Check the status of
34037         all modules, not only of the tests that are of the form foo-tests where
34038         foo is a module.
34039
34040 2010-05-02  Bruno Haible  <bruno@clisp.org>
34041
34042         wctob: Work around nasty Cygwin 1.7.2 bug.
34043         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
34044         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
34045
34046 2010-05-01  Bruno Haible  <bruno@clisp.org>
34047
34048         fpurge: Sharper test.
34049         * tests/test-fpurge.c (main): Add one more ftell check.
34050         * modules/fpurge-tests (Depends-on): Add ftell.
34051         Suggested by Eric Blake.
34052
34053 2010-05-01  Bruno Haible  <bruno@clisp.org>
34054
34055         ftello: Another test.
34056         * tests/test-ftello3.c: New file.
34057         * modules/ftello-tests (Files): Add it.
34058         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
34059         MOSTLYCLEANFILES.
34060
34061         ftell: Another test.
34062         * tests/test-ftell3.c: New file.
34063         * modules/ftell-tests (Files): Add it.
34064         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
34065         MOSTLYCLEANFILES.
34066
34067 2010-05-01  Bruno Haible  <bruno@clisp.org>
34068
34069         ftell, ftello: Work around Solaris bug.
34070         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
34071         * lib/ftello.c: Include stdio-impl.h.
34072         (ftello): On Solaris, when _IOWRT is set, compute the result without
34073         looking at _IOREAD.
34074         * modules/ftello (Files): Add lib/stdio-impl.h.
34075         * doc/posix-functions/ftell.texi: Mention Solaris bug.
34076         * doc/posix-functions/ftello.texi: Likewise.
34077         Reported by Eric Blake.
34078
34079 2010-05-01  Bruno Haible  <bruno@clisp.org>
34080
34081         freading: Adapt to special meaning of _IOREAD flag on Solaris.
34082         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
34083         the _IOWRT flag is also set.
34084
34085 2010-05-01  Bruno Haible  <bruno@clisp.org>
34086
34087         Fix doc about a HP-UX stdio bug.
34088         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
34089         * doc/posix-functions/ftello.texi: Likewise.
34090
34091 2010-05-01  Bruno Haible  <bruno@clisp.org>
34092
34093         lseek test: Fix failure on Solaris.
34094         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
34095         output.
34096
34097 2010-04-30  Jim Meyering  <meyering@redhat.com>
34098
34099         bootstrap: don't ignore failure to generate po*/Makevars
34100         * build-aux/bootstrap (with_gettext): Don't ignore failure
34101         to create po/Makevars or runtime-po/Makevars.
34102
34103 2010-04-29  Eric Blake  <eblake@redhat.com>
34104
34105         headers: relax license to LGPLv2+
34106         * modules/fcntl-h (License): Relax license.
34107         * modules/getopt-posix (License): Likewise.
34108         * modules/locale (License): Likewise.
34109         * modules/math (License): Likewise.
34110         * modules/pty (License): Likewise.
34111         * modules/sched (License): Likewise.
34112         * modules/search (License): Likewise.
34113         * modules/spawn (License): Likewise.
34114         * modules/stdarg (License): Likewise.
34115         * modules/sysexits (License): Likewise.
34116
34117 2010-04-29  Jim Meyering  <meyering@redhat.com>
34118
34119         inttypes: relax license to LGPLv2+
34120         * modules/inttypes (License): Relax license.
34121
34122 2010-04-29  Simon Josefsson  <simon@josefsson.org>
34123
34124         * top/maint.mk (indent): Run twice to produce idempotent results.
34125
34126 2010-04-28  Bruno Haible  <bruno@clisp.org>
34127
34128         getdate: Generate getdate.c in the source directory.
34129         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
34130         MOSTLYCLEANFILES.
34131         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
34132
34133 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
34134
34135         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
34136         is not declared as a const *; avoid warnings in that case.
34137
34138 2010-04-28  Eric Blake  <eblake@redhat.com>
34139
34140         canonicalize-lgpl: avoid compiler warning
34141         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
34142         declaration' / 'extraneous semicolon' warning with some compilers.
34143         Reported by Andreas Gruenbacher.
34144
34145 2010-04-28  Jim Meyering  <meyering@redhat.com>
34146
34147         init.sh: ensure a more reliable exit status when exiting via trap
34148         * tests/init.sh (setup_): Don't rely on $? in signal handler.
34149         Inspired by patches from Dmitry V. Levin.
34150         Also trap on signal 3 (SIGQUIT).
34151
34152 2010-04-27  Bruno Haible  <bruno@clisp.org>
34153
34154         Update doc about utimes().
34155         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
34156         'utimens' module.
34157         Reported by Andreas Gruenbacher <agruen@suse.de>.
34158
34159 2010-04-27  Eric Blake  <eblake@redhat.com>
34160
34161         full-read, full-write: relax license
34162         * modules/full-read (License): Drop to LGPLv2+.
34163         * modules/full-write (License): Likewise.
34164         * modules/safe-read (License): Likewise.
34165         * modules/safe-write (License): Likewise.
34166
34167         pthread: mention library for linking
34168         * modules/pthread (Link): Mention $(LIB_PTHREAD).
34169
34170 2010-04-27  Jim Meyering  <meyering@redhat.com>
34171
34172         maint.mk: fix a bug introduced in last change
34173         * top/maint.mk (gl_assured_headers_): Now that all names are on
34174         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
34175         is not anchored to end of word, it should be adequate.
34176
34177         maint.mk: avoid side-effect in latest syntax-check
34178         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
34179         to run commands via $(shell...), and hence to incur cost only when
34180         the new rule is actually run.
34181
34182         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
34183         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
34184         and use that to create a regexp used to detect all #if HAVE_..._H uses.
34185         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
34186         (gl_assured_headers_, az_, AZ_): Define.
34187         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
34188
34189 2010-04-26  Jim Meyering  <jim@meyering.net>
34190             Bruno Haible  <bruno@clisp.org>
34191
34192         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
34193         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
34194         Prompted by an exchange with Gilles Espinasse.
34195
34196 2010-04-26  Jim Meyering  <meyering@redhat.com>
34197
34198         git-version-gen: aesthetic tweak
34199         * build-aux/git-version-gen: Use "$nl" rather than a literal,
34200         so that the command remains on a single line.
34201
34202 2010-04-26  Eric Blake  <eblake@redhat.com>
34203
34204         git-version-gen: allow use on EBCDIC hosts
34205         * build-aux/git-version-gen (dirty): Use literal rather than tying
34206         ourselves to ascii.
34207         Reported by Steve Goetze.
34208
34209 2010-04-25  Bruno Haible  <bruno@clisp.org>
34210
34211         netdb: Add support for GNULIB_POSIXCHECK.
34212         * lib/netdb.in.h: Include warn-on-use.h.
34213         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
34214         functions are used when GNULIB_POSIXCHECK is defined and the
34215         getaddrinfo module is not in use.
34216         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
34217         freeaddrinfo, gai_strerror, getnameinfo are declared.
34218         * modules/netdb (Depends-on): Add warn-on-use.
34219         (Makefile.am): Include warn-on-use.h in netdb.h.
34220
34221 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
34222
34223         build: avoid "make check" failure without .git/ directory
34224         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
34225         there is no .git/ directory.
34226
34227 2010-04-25  Bruno Haible  <bruno@clisp.org>
34228
34229         ptsname: Fix misuse of ttyname_r.
34230         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
34231         of errno.
34232
34233 2010-04-25  Bruno Haible  <bruno@clisp.org>
34234
34235         ttyname_r: Make it work on Solaris 10.
34236         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
34237         if the system function has the POSIX declaration. Test whether the
34238         function fails if the buffer is less than 128 bytes large.
34239         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
34240         system's ttyname_r function. Provide a reasonably large buffer.
34241         * modules/ttyname_r (Depends-on): Add extensions.
34242         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
34243
34244 2010-04-25  Bruno Haible  <bruno@clisp.org>
34245
34246         Use the 'extensions' module for some more functions on Solaris.
34247         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
34248         module.
34249         * doc/posix-functions/ctime_r.texi: Likewise.
34250         * doc/posix-functions/getgrgid_r.texi: Likewise.
34251         * doc/posix-functions/getgrnam_r.texi: Likewise.
34252         * doc/posix-functions/getpwnam_r.texi: Likewise.
34253         * doc/posix-functions/getpwuid_r.texi: Likewise.
34254         * doc/posix-functions/readdir_r.texi: Likewise.
34255         * doc/posix-functions/sigwait.texi: Likewise.
34256         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
34257         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
34258
34259 2010-04-25  Bruno Haible  <bruno@clisp.org>
34260
34261         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
34262         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
34263         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
34264         * lib/ttyname_r.c: Include <limits.h>.
34265         (ttyname_r): Define using the system's ttyname_r function, if it exists
34266         and not on Solaris.
34267         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
34268         set.
34269         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
34270         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
34271         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
34272         Reported by Simon Josefsson.
34273
34274 2010-04-25  Bruno Haible  <bruno@clisp.org>
34275
34276         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
34277         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
34278         * doc/posix-functions/ctime_r.texi: Likewise.
34279         * doc/posix-functions/getgrgid_r.texi: Likewise.
34280         * doc/posix-functions/getgrnam_r.texi: Likewise.
34281         * doc/posix-functions/getlogin_r.texi: Likewise.
34282         * doc/posix-functions/getpwnam_r.texi: Likewise.
34283         * doc/posix-functions/getpwuid_r.texi: Likewise.
34284         * doc/posix-functions/readdir_r.texi: Likewise.
34285         * doc/posix-functions/sigwait.texi: Likewise.
34286         * doc/posix-functions/ttyname_r.texi: Likewise.
34287         Reported by Simon Josefsson.
34288
34289 2010-04-25  Bruno Haible  <bruno@clisp.org>
34290
34291         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
34292         * gnulib-tool (func_usage): Document that --with-*-tests options apply
34293         also to --create-testdir.
34294         (func_acceptable): Don't consider the status of *-tests modules here.
34295         (func_modules_transitive_closure): Consider it here, before including a
34296         test module.
34297         (func_import, func_create_testdir): Set inc_all_direct_tests,
34298         inc_all_indirect_tests.
34299         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
34300         --create-testdir and --create-megatestdir.
34301
34302 2010-04-25  Bruno Haible  <bruno@clisp.org>
34303
34304         gnulib-tool: Add --without-*-tests options.
34305         * gnulib-tool (func_usage): Document the --without-*-tests options.
34306         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
34307         excl_unportable_tests): New variables.
34308         Fail if they are specified with --import or --update.
34309         (func_acceptable): Respect the excl_*_tests variables.
34310         (func_import): Set the excl_*_tests variables to empty.
34311
34312 2010-04-25  Simon Josefsson  <simon@josefsson.org>
34313             Bruno Haible  <bruno@clisp.org>
34314
34315         Work around a MacOS X 10.4 bug with openpty.
34316         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
34317         * tests/test-openpty.c (main): Close the master side explicitly.
34318
34319 2010-04-25  Bruno Haible  <bruno@clisp.org>
34320
34321         strnlen: Fix a C++ test error on MacOS X and Solaris.
34322         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
34323         the function is not declared.
34324         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
34325         Simon Josefsson.
34326
34327 2010-04-24  Bruno Haible  <bruno@clisp.org>
34328
34329         Avoid a gcc warning.
34330         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
34331         of correct type for %08lx directive.
34332         Reported by Eric Blake.
34333
34334 2010-04-24  Bruno Haible  <bruno@clisp.org>
34335
34336         vasnprintf: Correct errno value in case of out-of-memory.
34337         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
34338         or sprintf. Use the errno value from SNPRINTF or sprintf.
34339         Reported by Ian Beckwith <ianb@erislabs.net>.
34340
34341 2010-04-24  Bruno Haible  <bruno@clisp.org>
34342
34343         ansi-c++-opt: Find correct compiler when cross-compiling.
34344         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
34345         AC_CHECK_PROGS.
34346         Reported by Simon Josefsson.
34347
34348 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
34349
34350         vc-list-files: Add support for subversion
34351         * build-aux/vc-list-files: Use "svn list" to generate the list of
34352         files controlled by subversion.
34353
34354 2010-04-23  Jim Meyering  <meyering@redhat.com>
34355
34356         vc-list-files tests: convert to use init.sh
34357         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
34358         path_prepend_.
34359         Use Exit, not exit.
34360         Use skip_ rather than open coding it.
34361         Remove trap set-up and compare definitions.
34362         * tests/test-vc-list-files-git.sh: Likewise.
34363         * modules/vc-list-files-tests (Files): Add tests/init.sh.
34364
34365 2010-04-22  Simon Josefsson  <simon@josefsson.org>
34366
34367         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
34368         backup files.
34369
34370 2010-04-21  Simon Josefsson  <simon@josefsson.org>
34371
34372         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
34373
34374 2010-04-20  Eric Blake  <eblake@redhat.com>
34375
34376         tests: be robust to ignored SIGPIPE
34377         * tests/test-select-in.sh: Consume all output.
34378         * tests/test-lseek.sh: Check correct exit status, while avoiding
34379         EPIPE.
34380
34381 2010-04-20  Simon Josefsson  <simon@josefsson.org>
34382             Bruno Haible  <bruno@clisp.org>
34383
34384         visibility: Don't use -fvisibility if it leads to a warning.
34385         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
34386         yes, don't pretend that visibility works if it leads to a warning.
34387         Reported by Mike Gran <spk121@yahoo.com>.
34388
34389 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
34390
34391         * build-aux/bootstrap: Use "git -h" for testing for supported options
34392         instead of "git --help".  The short-form option only shows a summary,
34393         and doesn't layout the full man page.  Grep for the full option name
34394         in the summary, too.
34395
34396 2010-04-19  Bruno Haible  <bruno@clisp.org>
34397
34398         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
34399         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
34400         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
34401         mention of RELOCATABLE_STRIP.
34402         Reported by Sylvain Beucler <beuc@beuc.net>.
34403
34404 2010-04-19  Bruno Haible  <bruno@clisp.org>
34405
34406         * lib/diffseq.h: Fix typo in comment.
34407         Reported by Eric Blake.
34408
34409 2010-04-19  Bruno Haible  <bruno@clisp.org>
34410
34411         ioctl: Move autoconf macro to a .m4 file.
34412         * m4/ioctl.m4: New file, extracted from modules/ioctl.
34413         * modules/ioctl (Files): Add it.
34414         (configure.ac): Simply invoke gl_FUNC_IOCTL.
34415         Reported by Ian Beckwith <ianb@erislabs.net>.
34416
34417 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
34418             Bruno Haible  <bruno@clisp.org>
34419
34420         diffseq: Accommodate use-case with abstract arrays.
34421         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
34422         is not defined.
34423         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
34424         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
34425
34426 2010-04-18  Bruno Haible  <bruno@clisp.org>
34427
34428         * doc/posix-headers/stdbool.texi: More precise wording.
34429
34430 2010-04-17  Jim Meyering  <meyering@redhat.com>
34431
34432         maint.mk: use gnu-style indentation in an embedded perl script
34433         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
34434         Rename variable: s/two/last_two_bytes/
34435
34436 2010-04-16  Eric Blake  <eblake@redhat.com>
34437
34438         test-stdbool: skip test that fails with Solaris CC
34439         * tests/test-stdbool.c (f): Skip test that causes compilation
34440         error under buggy C++ compiler.
34441         * lib/stdbool.in.h: Document the limitation.
34442         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
34443
34444         setenv: allow compilation with C++
34445         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
34446         register keyword.
34447
34448         stdint: allow test to pass with C++
34449         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
34450
34451         getopt: allow compilation with C++
34452         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
34453         struct.
34454         * lib/getopt.c (_getopt_internal_r): Use correct type.
34455         Reported by Dagobert Michelson, via Joel E. Denny.
34456
34457 2010-04-16  Bruno Haible  <bruno@clisp.org>
34458
34459         Override netdb.h always.
34460         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
34461         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
34462         Reported by Ludovic Courtès <ludo@gnu.org>.
34463
34464 2010-04-15  Bruno Haible  <bruno@clisp.org>
34465
34466         openpty: Fix mistake from 2010-03-21.
34467         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
34468         Reported by Simon Josefsson.
34469
34470 2010-04-15  Eric Blake  <eblake@redhat.com>
34471
34472         test-forkpty: fix expected signature
34473         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
34474         Reported by Simon Josefsson.
34475
34476 2010-04-15  Jim Meyering  <meyering@redhat.com>
34477
34478         maint.mk: texinfo_suffix_re_: correct the default regexp
34479         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
34480
34481         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
34482         make it configurable via texinfo_suffix_re_.
34483
34484 2010-04-14  Eric Blake  <eblake@redhat.com>
34485
34486         strtok_r: relax license to LGPLv2+
34487         * modules/strtok_r (License): Relax license.
34488         Reported by Matthias Bolte.
34489
34490 2010-04-14  Simon Josefsson  <simon@josefsson.org>
34491
34492         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
34493         version 1.4.4 by default instead of requiring the libgcrypt
34494         version used during build.  This makes it possible to use the
34495         application with older but still binary compatible libgcrypt
34496         versions.
34497
34498 2010-04-13  Eric Blake  <eblake@redhat.com>
34499
34500         getopt-gnu: match recent glibc fixes and posix ruling
34501         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
34502         '+' handling, when requesting extensions.
34503         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
34504         'W;' handling.
34505         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
34506         * doc/posix-functions/getopt.texi (getopt): Document this.
34507         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
34508         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34509         Likewise.
34510
34511         getopt: merge bug fixes from glibc
34512         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
34513         diagnostics.  Honor '+:' correctly.  Reject ';'.
34514
34515         getopt-posix: detect MacOS bug
34516         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
34517         optind when missing a required argument.
34518         * doc/posix-functions/getopt.texi (getopt): Document the bug.
34519         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
34520         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34521         Likewise.
34522
34523         getopt-posix: avoid spurious failure on Solaris
34524         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
34525         an indicator that setting optind=1 is sufficient for reset.
34526
34527         getopt-posix: avoid spurious failure on FreeBSD
34528         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
34529         in POSIX mode, since the m4 test uses it.
34530
34531         gnulib-tool: silence warning on BSD sh
34532         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
34533
34534 2010-04-13  Jim Meyering  <meyering@redhat.com>
34535
34536         doc: users.txt: GNU patch now uses gnulib
34537         * users.txt: Add patch.
34538
34539 2010-04-12  Jim Meyering  <meyering@redhat.com>
34540
34541         maint.mk: generate more concise timing data for syntax-check rules
34542         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
34543         " done" from each line that reports a syntax-check test duration.
34544
34545 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
34546
34547         git-version-gen: use "git update-index..." rather than "git status"
34548         * build-aux/git-version-gen: Use git update-index --refresh, not
34549         "git status".  With some versions of git, "git status" would fail
34550         to update the index and result in an unwarranted "-dirty" suffix.
34551
34552 2010-04-11  Jim Meyering  <meyering@redhat.com>
34553
34554         openat: correct formatting (no semantic change)
34555         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
34556         Suggested by Bruno Haible.
34557
34558 2010-04-11  Bruno Haible  <bruno@clisp.org>
34559
34560         Stricter declaration checking in testdirs.
34561         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34562         If for_tests is true, augment AM_CPPFLAGS to define
34563         GNULIB_STRICT_CHECKING.
34564         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
34565         GNULIB_STRICT_CHECKING is defined, verify that the function is
34566         declared.
34567
34568 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
34569             Bruno Haible  <bruno@clisp.org>
34570
34571         libunistring: Improve configure output.
34572         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
34573         Don't say "consider installing GNU libunistring" when checking again
34574         with libiconv.
34575
34576 2010-04-11  Bruno Haible  <bruno@clisp.org>
34577
34578         libunistring: Correct value of $LTLIBUNISTRING.
34579         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
34580         correct the value of $LTLIBUNISTRING.
34581
34582 2010-04-11  Bruno Haible  <bruno@clisp.org>
34583
34584         havelib: Add static libraries to LIBS in the right order.
34585         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
34586         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
34587
34588 2010-04-11  Bruno Haible  <bruno@clisp.org>
34589
34590         libunistring: Detect libunistring also when it depends on libiconv.
34591         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
34592         the second AC_LIB_HAVE_LINKFLAGS invocation.
34593
34594 2010-04-11  James Youngman  <jay@gnu.org>
34595
34596         close-stream: declare local scalars to be "const"
34597         * lib/close-stream.c (close_stream): Make boolean variables const
34598         to document the fact that we set but do not change them.
34599
34600 2010-04-11  Bruno Haible  <bruno@clisp.org>
34601
34602         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
34603
34604 2010-04-11  Jim Meyering  <meyering@redhat.com>
34605
34606         maint.mk: don't include dist-check.mk
34607         * top/maint.mk: Remove bogus include directive.
34608
34609         maint.mk: improve empty-line-at-EOF check
34610         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
34611         solution, rather than tail+Perl-based one.  The latter would read
34612         a few kilobytes from the end of each file, and did not handle empty
34613         files properly.
34614
34615         maint.mk: print the elapsed time for each syntax-check rule
34616         * top/maint.mk (sc_m_rules_): Save start time in a file.
34617         (sc_z_rules_): New rules: remove temp file and print elapsed time.
34618         (local-check): Interpose the .z rules
34619
34620 2010-04-11  Jim Meyering  <meyering@redhat.com>
34621
34622         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
34623         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
34624         empty file with one that ends in an empty line.
34625
34626 2010-04-10  Bruno Haible  <bruno@clisp.org>
34627
34628         mkdir: Make it work on mingw64.
34629         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
34630         * lib/mkdir.c: Update comment.
34631         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
34632
34633 2010-04-10  Bruno Haible  <bruno@clisp.org>
34634
34635         Don't override improved macro from newer autoconf.
34636         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
34637         autoconf >= 2.62.
34638         Reported by Joel E. Denny <jdenny@clemson.edu>.
34639
34640 2010-04-10  Jim Meyering  <meyering@redhat.com>
34641
34642         maint.mk: new syntax-check rule: prohibit empty lines at end of file
34643         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
34644
34645         maint.mk: correct a diagnostic
34646         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
34647         in diagnostic; now use $prohibit.
34648
34649 2010-04-10  Bruno Haible  <address@hidden>
34650
34651         fchownat: Fix a C++ test error on Solaris 8.
34652         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
34653         the function does not exist.
34654
34655 2010-04-10  Bruno Haible  <bruno@clisp.org>
34656
34657         vasnprintf: Add more tests.
34658         * tests/test-vasnprintf-posix.c: Include <errno.h>.
34659         (test_function): Test converting an invalid wide string.
34660
34661         vasnprintf: Correct handling of unconvertible wide string arguments.
34662         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
34663         VASNPRINTF.
34664         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
34665         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
34666         smaller than the expected maximum need for the directive. Set errno to
34667         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
34668         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
34669         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
34670         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
34671         * modules/vasnprintf (Files): Add m4/printf.m4.
34672         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34673
34674 2010-04-10  Bruno Haible  <bruno@clisp.org>
34675
34676         vasnprintf: Fix crash in %ls directive.
34677         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
34678         string is passed as argument to %ls, with no precision and no width.
34679         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34680
34681 2010-04-10  Bruno Haible  <bruno@clisp.org>
34682
34683         vasnprintf: Fix multiple test failures on mingw.
34684         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
34685         _snprintf, or snwprintf, not _snwprintf.
34686
34687 2010-04-10  Bruno Haible  <bruno@clisp.org>
34688
34689         write: Fix a C++ test error on mingw.
34690         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
34691
34692 2010-04-10  Bruno Haible  <bruno@clisp.org>
34693
34694         vasnprintf test: Reduce code duplication.
34695         * tests/test-vasnprintf.c (test_function): New function, extracted from
34696         test_vasnprintf.
34697         (test_vasnprintf, test_asnprintf): Invoke it.
34698
34699 2010-04-10  Bruno Haible  <bruno@clisp.org>
34700
34701         strnlen: Fix warning in C++ mode on MacOS X.
34702         * lib/string.in.h (strnlen): Use the modern idiom.
34703         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
34704         defining strnlen as a macro already in <config.h>.
34705         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34706         REPLACE_STRNLEN.
34707         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
34708         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34709
34710 2010-04-08  James Youngman  <jay@gnu.org>
34711
34712         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
34713         the example.
34714
34715 2010-04-09  Jim Meyering  <meyering@redhat.com>
34716
34717         maint.mk: print better diagnostic when there is no $(_hv_file)
34718         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
34719         announce that when $(_hv_file) (aka help-version) does not exist.
34720
34721         init.sh: run tr in the "C" locale to avoid multibyte interpretation
34722         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
34723         not try to interpret its random input bytes.  Jarno Rajahalme reported
34724         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
34725         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
34726         (mktempd_): Likewise, just in case.
34727
34728         ftruncate: add two years to projected module removal date: 2012
34729         * m4/ftruncate.m4: Adjust comments.
34730
34731         ftruncate: mark module as obsolete; even MinGW provides it, now
34732         * modules/ftruncate (Status): Obsolete.
34733         (Notice): Say that.
34734         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
34735         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
34736
34737 2010-04-08  Bruno Haible  <bruno@clisp.org>
34738
34739         Fix side effects from tests-related modules.
34740         * modules/dprintf-posix (Comment): New section.
34741         * modules/fprintf-posix (Comment): Likewise.
34742         * modules/obstack-printf-posix (Comment): Likewise.
34743         * modules/printf-posix (Comment): Likewise.
34744         * modules/snprintf-posix (Comment): Likewise.
34745         * modules/sprintf-posix (Comment): Likewise.
34746         * modules/vasnprintf-posix (Comment): Likewise.
34747         * modules/vasprintf-posix (Comment): Likewise.
34748         * modules/vdprintf-posix (Comment): Likewise.
34749         * modules/vfprintf-posix (Comment): Likewise.
34750         * modules/vprintf-posix (Comment): Likewise.
34751         * modules/vsnprintf-posix (Comment): Likewise.
34752         * modules/vsprintf-posix (Comment): Likewise.
34753         * modules/xprintf-posix (Comment): Likewise.
34754         * modules/xvasprintf-posix (Comment): Likewise.
34755         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
34756         * modules/floorf-tests (Depends-on): Likewise.
34757         * modules/round-tests (Depends-on): Likewise.
34758         * modules/roundf-tests (Depends-on): Likewise.
34759         * modules/trunc-tests (Depends-on): Likewise.
34760         * modules/truncf-tests (Depends-on): Likewise.
34761         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
34762         'fprintf-posix' module is not present.
34763         * tests/test-floorf2.c (check): Likewise.
34764         * tests/test-trunc2.c (check): Likewise.
34765         * tests/test-truncf2.c (check): Likewise.
34766         * tests/test-round2.c (equal): Likewise.
34767         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34768
34769 2010-04-07  Karl Berry  <karl@gnu.org>
34770
34771         * config/srclist.txt,
34772         * config/srclistvars.sh,
34773         * config/srclist-update: doc fixes.
34774
34775 2010-04-07  Jim Meyering  <meyering@redhat.com>
34776
34777         maint.mk: add a PATH crosschecking syntax-check rule
34778         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
34779         Useful if you use a test like the one in help-version (coreutils,
34780         diffutils, grep, gzip) that ensures $(VERSION) matches what is
34781         printed by prog --version.
34782
34783 2010-04-06  Bruno Haible  <bruno@clisp.org>
34784
34785         Fix link error on mingw.
34786         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
34787         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
34788
34789 2010-04-06  Bruno Haible  <bruno@clisp.org>
34790
34791         Assume rmdir exists.
34792         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
34793
34794 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
34795
34796         doc: update users.txt
34797         * users.txt: Add gcal.
34798
34799 2010-04-06  Jim Meyering  <meyering@redhat.com>
34800
34801         init.sh: simply unset TMPDIR rather than risking env -i
34802         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
34803         although it probably works fine on all Unix-based systems, some
34804         systems (Cygwin?) cannot tolerate a totally cleared environment.
34805         Suggestion from Eric Blake.
34806
34807 2010-04-06  Jim Meyering  <meyering@redhat.com>
34808
34809         init.sh: portability fix: use env's POSIX-specified -i option not -u
34810         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
34811         than unportable env -u.  Solaris 5.11's env lacks support for -u.
34812
34813 2010-04-05  Bruno Haible  <bruno@clisp.org>
34814
34815         btowc: Work around Cygwin 1.7.2 bug.
34816         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
34817         does not map NUL to 0.
34818         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
34819
34820 2010-04-05  Bruno Haible  <bruno@clisp.org>
34821
34822         Make the multithread modules work on Cygwin 1.7.2.
34823         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
34824         imported symbols can be declared weak, so that it returns "no" on
34825         Cygwin 1.7.2.
34826
34827 2010-04-05  Bruno Haible  <bruno@clisp.org>
34828
34829         Use the module 'strncat'.
34830         * modules/unistr/u8-strncat (Depends-on): Add strncat.
34831
34832         Tests for module 'strncat'.
34833         * modules/strncat-tests: New file.
34834         * tests/test-strncat.c: New file.
34835
34836         New module 'strncat'.
34837         * lib/string.in.h (strncat): New declaration.
34838         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
34839         * m4/strncat.m4: New file, based on m4/memchr.m4.
34840         * modules/strncat: New file.
34841         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
34842         is declared.
34843         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
34844         REPLACE_STRNCAT.
34845         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
34846         REPLACE_STRNCAT.
34847         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
34848         module.
34849         * tests/test-string-c++.cc: Check signature of strncat.
34850
34851 2010-04-05  Jim Meyering  <meyering@redhat.com>
34852
34853         xstrtoumax-tests: convert to use init.sh
34854         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
34855         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34856         Use Exit, not exit.
34857         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34858
34859         xstrtoimax-tests: convert to use init.sh
34860         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
34861         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34862         Use Exit, not exit.
34863         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34864
34865 2010-04-05  Bruno Haible  <bruno@clisp.org>
34866
34867         sys_socket: Avoid #define replacements in C++ mode.
34868         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
34869         warning to the function if possible, rather than #defining the symbol
34870         to a dysfunctional alias.
34871
34872 2010-04-05  Bruno Haible  <bruno@clisp.org>
34873
34874         fseeko: Fix C++ test error on mingw.
34875         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
34876         gl_FUNC_FSEEKO.
34877         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
34878         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
34879         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
34880         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
34881
34882 2010-04-05  Bruno Haible  <bruno@clisp.org>
34883
34884         duplocale: Improve test output.
34885         * tests/test-duplocale.c (main): Print reason for skipped test.
34886
34887 2010-04-05  Bruno Haible  <bruno@clisp.org>
34888
34889         Assume rmdir exists.
34890         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
34891         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
34892
34893 2010-04-05  Bruno Haible  <bruno@clisp.org>
34894
34895         Fix link error on Solaris 8 with cc.
34896         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
34897
34898 2010-04-05  Bruno Haible  <bruno@clisp.org>
34899
34900         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34901         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
34902
34903 2010-04-05  Bruno Haible  <bruno@clisp.org>
34904
34905         vasprintf: Update documentation.
34906         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
34907
34908 2010-04-05  Bruno Haible  <bruno@clisp.org>
34909
34910         ptsname: Improve test.
34911         * tests/test-ptsname.c (main): Also try the various master names of BSD
34912         systems.
34913
34914 2010-04-05  Bruno Haible  <bruno@clisp.org>
34915
34916         memchr: Avoid a possible C++ test error.
34917         * lib/string.in.h (memchr): Provide declaration if function is missing.
34918         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
34919         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
34920         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
34921         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
34922
34923 2010-04-05  Bruno Haible  <bruno@clisp.org>
34924
34925         strtok_r: Improve idiom.
34926         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
34927         AC_LIBOBJ is used.
34928
34929 2010-04-05  Bruno Haible  <bruno@clisp.org>
34930
34931         strdup: Improve idiom.
34932         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
34933         AC_LIBOBJ is used.
34934         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
34935         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
34936         when AC_LIBOBJ is used.
34937
34938 2010-04-05  Bruno Haible  <bruno@clisp.org>
34939
34940         mbsinit, mbrtowc, wcrtomb: Improve idioms.
34941         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
34942         don't set REPLACE_MBSINIT to 1.
34943         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
34944         don't set REPLACE_MBRTOWC to 1.
34945         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
34946         exist, don't set REPLACE_MBSRTOWCS to 1.
34947         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
34948         exist, don't set REPLACE_MBSNRTOWCS to 1.
34949         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
34950         don't set REPLACE_WCRTOMB to 1.
34951         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
34952         exist, don't set REPLACE_WCSRTOMBS to 1.
34953         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
34954         exist, don't set REPLACE_WCSNRTOMBS to 1.
34955
34956 2010-04-05  Bruno Haible  <bruno@clisp.org>
34957
34958         ldexpl: Improve idiom.
34959         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
34960         make sure to set HAVE_DECL_LDEXPL to 0.
34961
34962 2010-04-05  Jim Meyering  <meyering@redhat.com>
34963
34964         xstrtol-tests: convert to use init.sh
34965         * modules/xstrtol-tests (Files): Add tests/init.sh.
34966         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34967         Use Exit, not exit.
34968         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34969
34970         atexit-tests: convert to use init.sh
34971         * modules/atexit-tests (Files): Add tests/init.sh.
34972         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34973         Use Exit, not exit.
34974         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34975
34976         init.sh: fix typo
34977         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
34978
34979         init.sh: make it easier for a test script to write to the tty, ...
34980         when using automake's parallel-tests mode.
34981         * tests/init.sh (stderr_fileno_): Define overridable variable.
34982         (warn_): New function, to use it.
34983         (fail_, skip_, framework_failure_): Use warn_.
34984
34985 2010-04-04  Bruno Haible  <bruno@clisp.org>
34986
34987         btowc: Avoid warning.
34988         * lib/btowc.c: Include <stdlib.h>.
34989         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
34990
34991 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34992             Bruno Haible  <bruno@clisp.org>
34993
34994         wchar: Port to NetBSD 1.5.
34995         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
34996         * lib/wctype.in.h (WEOF): Likewise.
34997
34998 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34999             Bruno Haible  <bruno@clisp.org>
35000
35001         Port extended stdio to NetBSD 1.5.
35002         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
35003         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
35004         older.
35005
35006 2010-04-04  Bruno Haible  <bruno@clisp.org>
35007
35008         string: Remove unused substitution.
35009         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
35010         HAVE_DECL_STRERROR.
35011         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
35012
35013 2010-04-04  Bruno Haible  <bruno@clisp.org>
35014
35015         strtod: Avoid a possible C++ test error.
35016         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
35017         set REPLACE_STRTOD.
35018
35019 2010-04-04  Bruno Haible  <bruno@clisp.org>
35020
35021         strerror: Update documentation.
35022         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
35023
35024 2010-04-04  Bruno Haible  <bruno@clisp.org>
35025
35026         stdio: Fix some C++ test errors on Solaris 8 with GCC.
35027         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
35028         _GL_CXXALIAS_SYS_CAST.
35029
35030 2010-04-04  Bruno Haible  <bruno@clisp.org>
35031
35032         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
35033         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
35034         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
35035         REPLACE_FREXPL to 1.
35036         * doc/posix-functions/frexpl.texi: Update documentation.
35037
35038 2010-04-04  Bruno Haible  <bruno@clisp.org>
35039
35040         math: Fix some C++ test errors on Solaris 8 and Cygwin.
35041         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
35042
35043 2010-04-04  Bruno Haible  <bruno@clisp.org>
35044
35045         Implement nanosleep for native Windows.
35046         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
35047
35048 2010-04-04  Bruno Haible  <bruno@clisp.org>
35049
35050         math: Fix some C++ test errors on Solaris 8.
35051         * lib/math.in.h (truncf, trunc): Use simpler idiom.
35052
35053 2010-04-04  Bruno Haible  <bruno@clisp.org>
35054
35055         math: Fix some C++ test errors on Cygwin.
35056         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
35057         truncl): Provide declaration if the system does not have it.
35058         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
35059         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
35060         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
35061         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
35062         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
35063         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
35064         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
35065         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
35066         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
35067         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
35068         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
35069         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
35070         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
35071         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
35072         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
35073         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
35074         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
35075         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
35076         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
35077         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
35078         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
35079         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
35080
35081 2010-04-04  Bruno Haible  <bruno@clisp.org>
35082
35083         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
35084         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
35085         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
35086         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
35087         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
35088         * m4/isinf.m4 (gl_ISINF): Likewise.
35089         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
35090
35091 2010-04-04  Bruno Haible  <bruno@clisp.org>
35092
35093         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
35094         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
35095
35096 2010-04-04  Bruno Haible  <bruno@clisp.org>
35097
35098         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
35099         * modules/tmpfile (configure.ac): Update.
35100
35101         tmpfile: Fix C++ test error on mingw.
35102         * lib/stdio.in.h (tmpfile): New declaration.
35103         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
35104         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
35105         * modules/tmpfile (Depends-on): Add stdio.
35106         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
35107         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
35108         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
35109         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
35110         REPLACE_TMPFILE.
35111         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
35112
35113 2010-04-04  Bruno Haible  <bruno@clisp.org>
35114
35115         ioctl: Fix C++ test error on mingw.
35116         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
35117         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
35118         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
35119
35120 2010-04-03  Bruno Haible  <bruno@clisp.org>
35121
35122         wcwidth: Fix C++ test error on mingw.
35123         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
35124         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
35125         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
35126
35127 2010-04-03  Bruno Haible  <bruno@clisp.org>
35128
35129         nanosleep: Fix C++ test error on mingw.
35130         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
35131         * lib/time.in.h (nanosleep): Use modern idiom.
35132         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
35133         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
35134         REPLACE_NANOSLEEP to 1.
35135         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
35136         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
35137
35138 2010-04-03  Bruno Haible  <bruno@clisp.org>
35139
35140         strptime: Fix C++ test error on mingw.
35141         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
35142         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
35143         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
35144         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
35145         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
35146         not REPLACE_STRPTIME.
35147         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
35148         REPLACE_STRPTIME.
35149
35150 2010-04-03  Bruno Haible  <bruno@clisp.org>
35151
35152         timegm: Fix C++ test error on mingw.
35153         * lib/time.in.h (timegm): Use modern idiom.
35154         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
35155         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
35156         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
35157         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
35158
35159 2010-04-03  Bruno Haible  <bruno@clisp.org>
35160
35161         timegm: Assume declaration if function exists.
35162         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
35163         if it exists. Don't clobber ac_cv_func_timegm.
35164
35165 2010-04-03  Bruno Haible  <bruno@clisp.org>
35166
35167         time_r: Fix C++ test error on mingw.
35168         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
35169         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
35170         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
35171         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
35172         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
35173
35174 2010-04-03  Bruno Haible  <bruno@clisp.org>
35175
35176         time_r: Minor updates.
35177         * modules/time_r (Description): Mention the provided functions.
35178         * lib/time_r.c: Don't include <string.h>.
35179         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
35180         * doc/posix-functions/localtime_r.texi: Likewise.
35181
35182 2010-04-03  Bruno Haible  <bruno@clisp.org>
35183
35184         time: Fix regression introduced on 2010-03-08.
35185         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
35186         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
35187
35188 2010-04-03  Jim Meyering  <meyering@redhat.com>
35189
35190         maint.mk: don't silently disable project-specific syntax-check rules
35191         * top/maint.mk (_prohibit_regexp): Define, to help people realize
35192         that they need to convert their project-specific syntax-check rules
35193         to use the new _sc_search_regexp.
35194
35195 2010-04-03  Bruno Haible  <bruno@clisp.org>
35196
35197         fchdir: Fix regression introduced on 2010-03-08.
35198         * lib/unistd.in.h (fchdir): Fix declaration.
35199         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
35200         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
35201         REPLACE_FCHDIR.
35202         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
35203         REPLACE_FCHDIR.
35204
35205 2010-04-03  Bruno Haible  <bruno@clisp.org>
35206
35207         getpagesize: Fix C++ test error on mingw.
35208         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
35209         system does not declare the function.
35210         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
35211         declared.
35212         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35213         HAVE_DECL_GETPAGESIZE.
35214         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
35215
35216 2010-04-03  Bruno Haible  <bruno@clisp.org>
35217
35218         stdio: Make C++ tests work on mingw.
35219         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
35220         does not declare the function.
35221
35222 2010-04-03  Bruno Haible  <bruno@clisp.org>
35223
35224         ftello: Fix C++ test error on mingw.
35225         * lib/stdio.in.h (ftello): Use modern idiom.
35226         * lib/ftello.c (ftello): Renamed from rpl_ftello.
35227         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
35228         is missing and that it needs to be replaced.
35229         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
35230         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
35231         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
35232
35233 2010-04-03  Bruno Haible  <bruno@clisp.org>
35234
35235         fseeko: Fix C++ test error on mingw.
35236         * lib/stdio.in.h (fseeko): Use modern idiom.
35237         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
35238         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
35239         is missing and that it needs to be replaced.
35240         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
35241         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
35242         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
35243
35244 2010-04-03  Bruno Haible  <bruno@clisp.org>
35245
35246         mkstemp: Fix C++ test error on mingw.
35247         * lib/stdlib.in.h (mkstemp): Use modern idiom.
35248         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
35249         function is missing and that it needs to be replaced.
35250         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
35251         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
35252
35253 2010-04-03  Bruno Haible  <bruno@clisp.org>
35254
35255         stpncpy: Fix C++ test error on mingw.
35256         * lib/string.in.h (stpncpy): Use modern idiom.
35257         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
35258         function is missing and that it needs to be replaced.
35259         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35260         REPLACE_STPNCPY.
35261         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
35262
35263 2010-04-03  Bruno Haible  <bruno@clisp.org>
35264
35265         sys_stat: Fix C++ test error on mingw.
35266         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
35267         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
35268
35269 2010-04-03  Bruno Haible  <bruno@clisp.org>
35270
35271         pty: Update doc.
35272         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
35273
35274 2010-04-03  Bruno Haible  <bruno@clisp.org>
35275
35276         unistd: Fix C++ test error on mingw.
35277         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
35278
35279 2010-04-03  Bruno Haible  <bruno@clisp.org>
35280
35281         Update doc regarding mingw.
35282         * doc/glibc-functions/openpty.texi: Update regarding mingw.
35283         * doc/glibc-functions/login_tty.texi: Likewise.
35284         * doc/glibc-functions/forkpty.texi: Likewise.
35285
35286 2010-04-03  Bruno Haible  <bruno@clisp.org>
35287
35288         stdlib: Avoid compilation failure of c-strtold on mingw.
35289         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
35290
35291 2010-04-03  Bruno Haible  <bruno@clisp.org>
35292
35293         locale: Make C++ tests work on Cygwin and mingw.
35294         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
35295         cannot provide the function.
35296         Reported by Simon Josefsson.
35297
35298 2010-04-03  Bruno Haible  <bruno@clisp.org>
35299
35300         localename: Port to MacOS X 10.6.
35301         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
35302         memory layout of the locales in MacOS X 10.6 as well.
35303         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
35304
35305 2010-04-02  Bruno Haible  <bruno@clisp.org>
35306
35307         gnulib-tool: Ensure that long-running tests are executed last.
35308         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
35309         running tests after the one for the other tests.
35310
35311 2010-04-02  Bruno Haible  <bruno@clisp.org>
35312
35313         gnulib-tool: Ensure the tests in the main directory are executed first.
35314         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
35315         start with the current directory.
35316
35317 2010-04-02  Bruno Haible  <bruno@clisp.org>
35318
35319         Tests for module 'havelib', moved here from GNU gettext.
35320         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
35321         modifications.
35322         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
35323         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
35324         with modifications.
35325         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
35326         modifications.
35327         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
35328         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
35329         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
35330         with modifications.
35331         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
35332         with modifications.
35333         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
35334         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
35335         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
35336         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
35337         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
35338         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
35339         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
35340         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
35341         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
35342         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
35343         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
35344         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
35345         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
35346         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
35347         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
35348         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
35349         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
35350         with modifications.
35351         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
35352         with modifications.
35353         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
35354         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
35355         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
35356         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
35357         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
35358         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
35359         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
35360         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
35361         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
35362         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
35363         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
35364         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
35365         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
35366         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
35367         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
35368         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
35369         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
35370         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
35371         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
35372         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
35373         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
35374         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
35375         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
35376         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
35377         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
35378         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
35379         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
35380         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
35381         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
35382         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
35383         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
35384         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
35385         * tests/havelib/rpathx/rpathx.c: New file, from
35386         gettext/autoconf-lib-link.
35387         * tests/havelib/rpathx/Makefile.am: New file, from
35388         gettext/autoconf-lib-link.
35389         * tests/havelib/rpathx/configure.ac: New file, from
35390         gettext/autoconf-lib-link with modifications.
35391         * tests/havelib/rpathy/rpathy.c: New file, from
35392         gettext/autoconf-lib-link.
35393         * tests/havelib/rpathy/Makefile.am: New file, from
35394         gettext/autoconf-lib-link.
35395         * tests/havelib/rpathy/configure.ac: New file, from
35396         gettext/autoconf-lib-link with modifications.
35397         * tests/havelib/rpathz/rpathz.c: New file, from
35398         gettext/autoconf-lib-link.
35399         * tests/havelib/rpathz/Makefile.am: New file, from
35400         gettext/autoconf-lib-link.
35401         * tests/havelib/rpathz/configure.ac: New file, from
35402         gettext/autoconf-lib-link with modifications.
35403         * tests/havelib/rpathlx/usex.c: New file, from
35404         gettext/autoconf-lib-link.
35405         * tests/havelib/rpathlx/Makefile.am: New file, from
35406         gettext/autoconf-lib-link.
35407         * tests/havelib/rpathlx/configure.ac: New file, from
35408         gettext/autoconf-lib-link with modifications.
35409         * tests/havelib/rpathly/usey.c: New file, from
35410         gettext/autoconf-lib-link.
35411         * tests/havelib/rpathly/Makefile.am: New file, from
35412         gettext/autoconf-lib-link.
35413         * tests/havelib/rpathly/configure.ac: New file, from
35414         gettext/autoconf-lib-link with modifications.
35415         * tests/havelib/rpathlz/usez.c: New file, from
35416         gettext/autoconf-lib-link.
35417         * tests/havelib/rpathlz/Makefile.am: New file, from
35418         gettext/autoconf-lib-link.
35419         * tests/havelib/rpathlz/configure.ac: New file, from
35420         gettext/autoconf-lib-link with modifications.
35421         * tests/havelib/rpathlyx/usey.c: New file, from
35422         gettext/autoconf-lib-link.
35423         * tests/havelib/rpathlyx/Makefile.am: New file, from
35424         gettext/autoconf-lib-link.
35425         * tests/havelib/rpathlyx/configure.ac: New file, from
35426         gettext/autoconf-lib-link with modifications.
35427         * tests/havelib/rpathlzyx/usez.c: New file, from
35428         gettext/autoconf-lib-link.
35429         * tests/havelib/rpathlzyx/Makefile.am: New file, from
35430         gettext/autoconf-lib-link.
35431         * tests/havelib/rpathlzyx/configure.ac: New file, from
35432         gettext/autoconf-lib-link with modifications.
35433         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
35434         with modifications.
35435
35436 2010-04-02  Bruno Haible  <bruno@clisp.org>
35437
35438         gnulib-tool: Create distributed built sources also for the tests.
35439         * gnulib-tool (func_create_testdir): Also generate distributed built
35440         sources in the tests directory.
35441
35442 2010-04-02  Bruno Haible  <bruno@clisp.org>
35443
35444         gnulib-tool: Obey user's environment variables.
35445         * gnulib-tool (func_create_testdir): When creating built sources,
35446         respect the environment variables for autoconf, automake, etc. given by
35447         the user.
35448
35449 2010-04-02  Bruno Haible  <bruno@clisp.org>
35450
35451         gnulib-tool: Provide the value of --m4-base to modules.
35452         * gnulib-tool (func_import, func_create_testdir): Emit a definition
35453         of gl_m4_base.
35454
35455 2010-04-02  Eric Blake  <eblake@redhat.com>
35456
35457         maint.mk: fix some fallout
35458         * NEWS: Document the incompatible change, and its effect on cfg.mk.
35459         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
35460
35461 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
35462
35463         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
35464         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
35465         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
35466         (sc_cast_of_x_alloc_return_value): Likewise.
35467         (sc_cast_of_alloca_return_value): Likewise.
35468         (sc_space_tab): Likewise.
35469         (sc_prohibit_atoi_atof): Likewise.
35470         (sc_prohibit_magic_number_exit): Likewise.
35471         (sc_error_exit_success): Likewise.
35472         (sc_file_system): Likewise.
35473         (sc_prohibit_have_config_h): Likewise.
35474         (sc_require_config_h): Likewise.
35475         (sc_prohibit_HAVE_MBRTOWC): Likewise.
35476         (sc_obsolete_symbols): Likewise.
35477         (sc_changelog): Likewise.
35478         (sc_program_name): Likewise.
35479         (sc_the_the): Likewise.
35480         (sc_trailing_blank): Likewise.
35481         (sc_two_space_separator_in_usage): Likewise.
35482         (sc_useless_cpp_parens): Likewise.
35483         (sc_GPL_version): Likewise.
35484         (sc_GFDL_version): Likewise.
35485         (sc_texinfo_acronym): Likewise.
35486         (sc_prohibit_cvs_keyword): Likewise.
35487         (sc_prohibit_stat_st_blocks): Likewise.
35488         (sc_prohibit_S_IS_definition): Likewise.
35489         (sc_redundant_const): Likewise.
35490         (sc_makefile_TAB_only_indentation): Likewise.
35491         (sc_m4_quote_check): Likewise.
35492         (sc_makefile_path_separator_check): Likewise.
35493         (sc_copyright_check): Likewise.
35494         (sc_Wundef_boolean): Likewise.
35495         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
35496
35497         maint.mk: match 0 or more whitespace-before-function-call '('
35498         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
35499         that have zero or two-and-more spaces between the function name
35500         and the open parenthesis.
35501         (sc_error_message_warn_fatal): Likewise.
35502         (sc_error_message_uppercase): Likewise.
35503         (sc_error_message_period): Likewise.
35504
35505 2010-03-31  Eric Blake  <eblake@redhat.com>
35506
35507         maint.mk: check for [ as well as test
35508         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
35509         Based on a libvirt report by Matthias Bolte.
35510
35511         gnumakefile: don't squelch _version output
35512         * top/GNUmakefile (_version): Create one-shot dependency rather
35513         than using $(shell) when version must be regenerated.
35514         (_autoreconf): Run verbosely, by default.
35515
35516         sys_time: avoid compiler warnings
35517         * lib/sys_time.in.h (includes): Ensure gcc pragma is
35518         unconditional, fixing regression from 2010-03-29.
35519         Reported by Simon Josefsson.
35520
35521 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
35522
35523         maint.mk: s/_header_without_use/_sc_header_without_use/
35524         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
35525         (sc_prohibit_assert_without_use): Use the new name.
35526         (sc_prohibit_close_stream_without_use): Likewise.
35527         (sc_prohibit_getopt_without_use): Likewise.
35528         (sc_prohibit_quotearg_without_use): Likewise.
35529         (sc_prohibit_quote_without_use): Likewise.
35530         (sc_prohibit_long_options_without_use): Likewise.
35531         (sc_prohibit_inttostr_without_use): Likewise.
35532         (sc_prohibit_ignore_value_without_use): Likewise.
35533         (sc_prohibit_error_without_use): Likewise.
35534         (sc_prohibit_xalloc_without_use): Likewise.
35535         (sc_prohibit_hash_without_use): Likewise.
35536         (sc_prohibit_hash_pjw_without_use): Likewise.
35537         (sc_prohibit_safe_read_without_use): Likewise.
35538         (sc_prohibit_argmatch_without_use): Likewise.
35539         (sc_prohibit_canonicalize_without_use): Likewise.
35540         (sc_prohibit_root_dev_ino_without_use): Likewise.
35541         (sc_prohibit_openat_without_use): Likewise.
35542         (sc_prohibit_c_ctype_without_use): Likewise.
35543         (sc_prohibit_signal_without_use): Likewise.
35544         (sc_prohibit_intprops_without_use): Likewise.
35545
35546 2010-03-30  Eric Blake  <eblake@redhat.com>
35547
35548         maint: improve module indicators
35549         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
35550         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
35551         columns, and avoid extra macro expansion.
35552
35553         fdopendir: work around FreeBSD bug
35554         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
35555         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
35556         * modules/dirent (Makefile.am): Substitute it.
35557         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
35558         declaration.
35559         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
35560         fix.
35561         Reported by Christian Weisgerber <naddy@mips.inka.de>.
35562
35563 2010-03-29  Bruno Haible  <bruno@clisp.org>
35564
35565         Emit #pragma system_header after the inclusion guard, not before.
35566         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
35567         guard that spans the entire file, not before. This enables an
35568         optimization in GCC's preprocessor.
35569         * lib/ctype.in.h: Likewise.
35570         * lib/dirent.in.h: Likewise.
35571         * lib/errno.in.h: Likewise.
35572         * lib/float.in.h: Likewise.
35573         * lib/getopt.in.h: Likewise.
35574         * lib/iconv.in.h: Likewise.
35575         * lib/langinfo.in.h: Likewise.
35576         * lib/locale.in.h: Likewise.
35577         * lib/math.in.h: Likewise.
35578         * lib/netdb.in.h: Likewise.
35579         * lib/netinet_in.in.h: Likewise.
35580         * lib/pty.in.h: Likewise.
35581         * lib/sched.in.h: Likewise.
35582         * lib/se-selinux.in.h: Likewise.
35583         * lib/search.in.h: Likewise.
35584         * lib/spawn.in.h: Likewise.
35585         * lib/stdarg.in.h: Likewise.
35586         * lib/stdint.in.h: Likewise.
35587         * lib/string.in.h: Likewise.
35588         * lib/strings.in.h: Likewise.
35589         * lib/sys_file.in.h: Likewise.
35590         * lib/sys_ioctl.in.h: Likewise.
35591         * lib/sys_time.in.h: Likewise.
35592         * lib/sys_times.in.h: Likewise.
35593         * lib/sys_utsname.in.h: Likewise.
35594         * lib/sys_wait.in.h: Likewise.
35595         * lib/sysexits.in.h: Likewise.
35596         * lib/wctype.in.h: Likewise.
35597
35598 2010-03-28  James Youngman  <jay@gnu.org>
35599
35600         save-cwd: don't leak a file descriptor when the caller execs.
35601         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
35602         saved file descriptor.
35603         * modules/save-cwd (Depends-on): Depend on cloexec.
35604
35605 2010-03-29  Bruno Haible  <bruno@clisp.org>
35606
35607         Remove vestiges of fts-lgpl module.
35608         * lib/fts_.h: Assume GNULIB_FTS is 1.
35609         * lib/fts.c: Likewise.
35610         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35611
35612 2010-03-28  Bruno Haible  <bruno@clisp.org>
35613
35614         Fix definition of tests witness macro.
35615         * gnulib-tool (func_import): Fix definition of witness macro.
35616
35617 2010-03-28  Bruno Haible  <bruno@clisp.org>
35618
35619         Fix ioctl's protoype on glibc systems.
35620         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
35621         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
35622         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
35623         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
35624         signature. If not, arrange to replace the ioctl function.
35625         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
35626         REPLACE_IOCTL.
35627         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
35628         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
35629         Reported by Ludovic Courtès <ludo@gnu.org>.
35630
35631 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
35632
35633         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
35634         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
35635         made it so grep -r --include=GLOB* ... did not work.
35636
35637 2010-03-26  Jim Meyering  <meyering@redhat.com>
35638             Eric Blake  <eblake@redhat.com>
35639
35640         maint.mk: prohibit use of test's -o and -a operators
35641         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
35642
35643 2010-03-28  Bruno Haible  <bruno@clisp.org>
35644
35645         Remove unused GNULIB_XYZ macro definitions.
35646         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
35647         invocation.
35648
35649 2010-03-28  Bruno Haible  <bruno@clisp.org>
35650
35651         Mark privileged tests modules.
35652         * modules/idpriv-drop-tests (Status): New section.
35653         * modules/idpriv-droptemp-tests (Status): New section.
35654
35655 2010-03-28  Bruno Haible  <bruno@clisp.org>
35656
35657         Split C++ tests into separate tests modules.
35658         * modules/dirent-c++-tests: New file, extracted from
35659         modules/dirent-tests.
35660         * modules/dirent-tests: Depend on it.
35661         * modules/fcntl-h-c++-tests: New file, extracted from
35662         modules/fcntl-h-tests.
35663         * modules/fcntl-h-tests: Depend on it.
35664         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
35665         * modules/glob-tests: Depend on it.
35666         * modules/iconv-h-c++-tests: New file, extracted from
35667         modules/iconv-h-tests.
35668         * modules/iconv-h-tests: Depend on it.
35669         * modules/langinfo-c++-tests: New file, extracted from
35670         modules/langinfo-tests.
35671         * modules/langinfo-tests: Depend on it.
35672         * modules/locale-c++-tests: New file, extracted from
35673         modules/locale-tests.
35674         * modules/locale-tests: Depend on it.
35675         * modules/math-c++-tests: New file, extracted from modules/math-tests.
35676         * modules/math-tests: Depend on it.
35677         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
35678         * modules/pty-tests: Depend on it.
35679         * modules/search-c++-tests: New file, extracted from
35680         modules/search-tests.
35681         * modules/search-tests: Depend on it.
35682         * modules/signal-c++-tests: New file, extracted from
35683         modules/signal-tests.
35684         * modules/signal-tests: Depend on it.
35685         * modules/spawn-c++-tests: New file, extracted from
35686         modules/spawn-tests.
35687         * modules/spawn-tests: Depend on it.
35688         * modules/stdio-c++-tests: New file, extracted from
35689         modules/stdio-tests.
35690         * modules/stdio-tests: Depend on it.
35691         * modules/stdlib-c++-tests: New file, extracted from
35692         modules/stdlib-tests.
35693         * modules/stdlib-tests: Depend on it.
35694         * modules/string-c++-tests: New file, extracted from
35695         modules/string-tests.
35696         * modules/string-tests: Depend on it.
35697         * modules/sys_ioctl-c++-tests: New file, extracted from
35698         modules/sys_ioctl-tests.
35699         * modules/sys_ioctl-tests: Depend on it.
35700         * modules/sys_select-c++-tests: New file, extracted from
35701         modules/sys_select-tests.
35702         * modules/sys_select-tests: Depend on it.
35703         * modules/sys_socket-c++-tests: New file, extracted from
35704         modules/sys_socket-tests.
35705         * modules/sys_socket-tests: Depend on it.
35706         * modules/sys_stat-c++-tests: New file, extracted from
35707         modules/sys_stat-tests.
35708         * modules/sys_stat-tests: Depend on it.
35709         * modules/sys_time-c++-tests: New file, extracted from
35710         modules/sys_time-tests.
35711         * modules/sys_time-tests: Depend on it.
35712         * modules/time-c++-tests: New file, extracted from modules/time-tests.
35713         * modules/time-tests: Depend on it.
35714         * modules/unistd-c++-tests: New file, extracted from
35715         modules/unistd-tests.
35716         * modules/unistd-tests: Depend on it.
35717         * modules/wchar-c++-tests: New file, extracted from
35718         modules/wchar-tests.
35719         * modules/wchar-tests: Depend on it.
35720         * modules/wctype-c++-tests: New file, extracted from
35721         modules/wctype-tests.
35722         * modules/wctype-tests: Depend on it.
35723         Reported by Simon Josefsson.
35724
35725 2010-03-28  Bruno Haible  <bruno@clisp.org>
35726
35727         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
35728         * gnulib-tool (func_exists_module): New function, extracted from
35729         func_verify_module.
35730         (func_verify_module): Use it.
35731         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
35732         'foo' only if 'foo' exists.
35733         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
35734         module.
35735
35736 2010-03-28  Bruno Haible  <bruno@clisp.org>
35737
35738         gnulib-tool: Add support for special categories of tests.
35739         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
35740         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
35741         (func_usage): Document them.
35742         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
35743         inc_unportable_tests, inc_all_tests): New variables.
35744         (func_acceptable): Consider these variables.
35745         (func_modules_transitive_closure): Make it work when the 'Status' field
35746         consists of multiple words.
35747         (func_import): Store and restore the values of inc_cxx_tests,
35748         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
35749         inc_all_tests in gnulib-comp.m4.
35750         (func_create_testdir): Set inc_all_tests to true.
35751         * doc/gnulib.texi (Extra tests modules): New section.
35752         Suggested by Jim Meyering.
35753
35754 2010-03-28  Bruno Haible  <bruno@clisp.org>
35755
35756         ansi-c++-opt: Allow turning off the C++ build by default.
35757         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
35758         gl_CXX_CHOICE_DEFAULT_NO is defined.
35759         Requested by Eric Blake.
35760
35761 2010-03-28  Bruno Haible  <bruno@clisp.org>
35762
35763         unistd: Avoid #define replacements in C++ mode.
35764         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
35765         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
35766         setsockopt, shutdown, select): In C++, attach a warning to the function
35767         if possible, rather than #defining the symbol to a dysfunctional alias.
35768         Reported by John W. Eaton <jwe@gnu.org>.
35769
35770 2010-03-28  Bruno Haible  <bruno@clisp.org>
35771
35772         Fix link errors on mingw.
35773         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
35774         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
35775         $(LIBSOCKET).
35776         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
35777         $(LIBSOCKET).
35778
35779 2010-03-28  Bruno Haible  <bruno@clisp.org>
35780             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35781
35782         lib-ignore: Determine different options for different compilers.
35783         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
35784         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
35785         Add comments.
35786         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
35787         * NEWS: Mention the change.
35788
35789 2010-03-27  Bruno Haible  <bruno@clisp.org>
35790
35791         Remove unused GNULIB_XYZ macro definitions.
35792         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35793         * modules/fseek (configure.ac): Likewise.
35794         * modules/ioctl (configure.ac): Likewise.
35795         * modules/open (configure.ac): Likewise.
35796         * modules/stdlib-safer (configure.ac): Likewise.
35797
35798 2010-03-27  Bruno Haible  <bruno@clisp.org>
35799
35800         Add a remark about certain modules.
35801         * modules/malloc (Comment): New section.
35802         * modules/realloc (Comment): Likewise.
35803         * modules/sigpipe (Comment): Likewise.
35804
35805 2010-03-27  Bruno Haible  <bruno@clisp.org>
35806
35807         Resolve conflict between the two kinds of module indicators.
35808         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
35809         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
35810         * modules/canonicalize (configure.ac): Invoke
35811         gl_MODULE_INDICATOR_FOR_TESTS.
35812         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
35813         GNULIB_XYZ.
35814         * tests/test-dirent-c++.cc: Likewise.
35815         * tests/test-dirent-safer.c: Likewise.
35816         * tests/test-dup2.c: Likewise.
35817         * tests/test-fchdir.c: Likewise.
35818         * tests/test-fcntl-h-c++.cc: Likewise.
35819         * tests/test-getopt.c: Likewise.
35820         * tests/test-getopt.h: Likewise.
35821         * tests/test-langinfo-c++.cc: Likewise.
35822         * tests/test-locale-c++.cc: Likewise.
35823         * tests/test-math-c++.cc: Likewise.
35824         * tests/test-pty-c++.cc: Likewise.
35825         * tests/test-search-c++.cc: Likewise.
35826         * tests/test-signal-c++.cc: Likewise.
35827         * tests/test-spawn-c++.cc: Likewise.
35828         * tests/test-stdio-c++.cc: Likewise.
35829         * tests/test-stdlib-c++.cc: Likewise.
35830         * tests/test-string-c++.cc: Likewise.
35831         * tests/test-sys_ioctl-c++.cc: Likewise.
35832         * tests/test-sys_select-c++.cc: Likewise.
35833         * tests/test-sys_socket-c++.cc: Likewise.
35834         * tests/test-sys_stat-c++.cc: Likewise.
35835         * tests/test-sys_time-c++.cc: Likewise.
35836         * tests/test-time-c++.cc: Likewise.
35837         * tests/test-unistd-c++.cc: Likewise.
35838         * tests/test-wchar-c++.cc: Likewise.
35839         * tests/uninorm/test-u8-nfc.c: Likewise.
35840         * tests/uninorm/test-u8-nfd.c: Likewise.
35841         * tests/uninorm/test-u8-nfkc.c: Likewise.
35842         * tests/uninorm/test-u8-nfkd.c: Likewise.
35843         * tests/uninorm/test-u16-nfc.c: Likewise.
35844         * tests/uninorm/test-u16-nfd.c: Likewise.
35845         * tests/uninorm/test-u16-nfkc.c: Likewise.
35846         * tests/uninorm/test-u16-nfkd.c: Likewise.
35847         * tests/uninorm/test-u32-nfc.c: Likewise.
35848         * tests/uninorm/test-u32-nfc-big.c: Likewise.
35849         * tests/uninorm/test-u32-nfd.c: Likewise.
35850         * tests/uninorm/test-u32-nfd-big.c: Likewise.
35851         * tests/uninorm/test-u32-nfkc.c: Likewise.
35852         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
35853         * tests/uninorm/test-u32-nfkd.c: Likewise.
35854         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
35855         * tests/uninorm/test-u32-normalize-big.c: Likewise.
35856
35857 2010-03-27  Bruno Haible  <bruno@clisp.org>
35858
35859         Distinguish two kinds of module indicators.
35860         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
35861         gl_MODULE_INDICATOR.
35862         (gl_MODULE_INDICATOR): New macro.
35863         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
35864         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
35865         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35866         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35867         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35868         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35869         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35870         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35871         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35872         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35873         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35874         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35875         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35876         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35877         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35878         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35879         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35880         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35881         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35882         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35883         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35884         * modules/cloexec (configure.ac): Likewise.
35885         * modules/getopt-gnu (configure.ac): Likewise.
35886         * modules/uninorm/u8-normalize (configure.ac): Likewise.
35887         * modules/uninorm/u16-normalize (configure.ac): Likewise.
35888         * modules/uninorm/u32-normalize (configure.ac): Likewise.
35889         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
35890
35891 2010-03-27  Bruno Haible  <bruno@clisp.org>
35892
35893         New module description field 'Comment'.
35894         * gnulib-tool: New option --extract-comment.
35895         (func_usage): Document it.
35896         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
35897         (func_get_comment): New function.
35898         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
35899
35900 2010-03-27  Bruno Haible  <bruno@clisp.org>
35901
35902         Addendum to 2010-02-07 commit.
35903         * gnulib-tool (func_usage): Document --extract-applicability option.
35904
35905 2010-03-27  Bruno Haible  <bruno@clisp.org>
35906
35907         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
35908         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
35909         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
35910         rather than link errors.
35911
35912 2010-03-27  Bruno Haible  <bruno@clisp.org>
35913
35914         Avoid side effects from tests-related modules on the compilation of lib.
35915         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
35916         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
35917         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
35918         parameter. Emit into AM_CPPFLAGS a definition of the designated C
35919         macro.
35920         (func_import): Define a witness macro. Assign it a value that depends
35921         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
35922         tests-related modules.
35923         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
35924         Reported by Jim Meyering.
35925
35926 2010-03-27  Bruno Haible  <bruno@clisp.org>
35927
35928         Factorize common .m4 code.
35929         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
35930         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
35931         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
35932         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
35933         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35934         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
35935         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
35936         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35937         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35938         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35939         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
35940         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35941         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35942         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35943         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35944         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
35945         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35946         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35947         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35948         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
35949         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
35950         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35951         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35952         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35953         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35954         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35955         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
35956         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
35957         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
35958         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35959         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35960         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35961
35962 2010-03-27  Bruno Haible  <bruno@clisp.org>
35963
35964         Fix a compilation error on Cygwin with g++ >= 4.3.
35965         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
35966         if it is undefined or if we alias it to chmod.
35967         (lstat): Don't warn about the use of this function if it is undefined
35968         or if we alias it to stat.
35969         Reported by Simon Josefsson.
35970
35971 2010-03-27  Bruno Haible  <bruno@clisp.org>
35972
35973         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
35974         * modules/getlogin (configure.ac): Update.
35975
35976         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
35977         * modules/getlogin_r (configure.ac): Update.
35978
35979         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
35980         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
35981         * modules/inet_ntop (configure.ac): Update.
35982
35983         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
35984         * modules/inet_pton (configure.ac): Update.
35985
35986         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
35987         * modules/mbslen (configure.ac): Update.
35988
35989         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
35990         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
35991         * modules/forkpty (configure.ac): Update.
35992         * modules/openpty (configure.ac): Update.
35993
35994 2010-03-26  Simon Josefsson  <simon@josefsson.org>
35995
35996         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
35997         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
35998
35999 2010-03-25  Eric Blake  <eblake@redhat.com>
36000
36001         maint: use pragma consistently across replacement headers
36002         * lib/ctype.in.h (system_header): Hoist for consistent placement.
36003         * lib/dirent.in.h (system_header): Likewise.
36004         * lib/errno.in.h (system_header): Likewise.
36005         * lib/float.in.h (system_header): Likewise.
36006         * lib/getopt.in.h (system_header): Likewise.
36007         * lib/iconv.in.h (system_header): Likewise.
36008         * lib/inttypes.in.h (system_header): Likewise.
36009         * lib/langinfo.in.h (system_header): Likewise.
36010         * lib/locale.in.h (system_header): Likewise.
36011         * lib/math.in.h (system_header): Likewise.
36012         * lib/netdb.in.h (system_header): Likewise.
36013         * lib/netinet_in.in.h (system_header): Likewise.
36014         * lib/pty.in.h (system_header): Likewise.
36015         * lib/sched.in.h (system_header): Likewise.
36016         * lib/se-selinux.in.h (system_header): Likewise.
36017         * lib/search.in.h (system_header): Likewise.
36018         * lib/spawn.in.h (system_header): Likewise.
36019         * lib/stdarg.in.h (system_header): Likewise.
36020         * lib/stdint.in.h (system_header): Likewise.
36021         * lib/string.in.h (system_header): Likewise.
36022         * lib/strings.in.h (system_header): Likewise.
36023         * lib/sys_file.in.h (system_header): Likewise.
36024         * lib/sys_ioctl.in.h (system_header): Likewise.
36025         * lib/sys_socket.in.h (system_header): Likewise.
36026         * lib/sys_times.in.h (system_header): Likewise.
36027         * lib/sys_utsname.in.h (system_header): Likewise.
36028         * lib/sys_wait.in.h (system_header): Likewise.
36029         * lib/sysexits.in.h (system_header): Likewise.
36030         * lib/unistd.in.h (system_header): Likewise.
36031         * lib/wctype.in.h (system_header): Likewise.
36032
36033         arpa/inet: fix mingw compilation warning
36034         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
36035         Reported by Matthew Bolte.
36036
36037 2010-03-25  Bruno Haible  <bruno@clisp.org>
36038
36039         Avoid collision between gnulib wrapper and libintl wrapper.
36040         * lib/printf.c (printf): Don't define if a printf wrapper is already
36041         defined in intl/printf.c.
36042         Reported by Michel Boaventura <michel@michelboaventura.com>.
36043
36044 2010-03-25  Bruno Haible  <bruno@clisp.org>
36045
36046         Use ANSI C.
36047         * lib/readutmp.h (getutent): Provide ANSI C prototype.
36048
36049 2010-03-25  Bruno Haible  <bruno@clisp.org>
36050
36051         Minor formatting changes.
36052         * lib/acosl.c: Insert space before function argument list.
36053         * lib/argz.c: Likewise.
36054         * lib/asinl.c: Likewise.
36055         * lib/expl.c: Likewise.
36056         * lib/gen-uni-tables.c: Likewise.
36057         * lib/gettext.h: Likewise.
36058         * lib/glthread/lock.h: Likewise.
36059         * lib/tanl.c: Likewise.
36060         * lib/uniname/uniname.c: Likewise.
36061         * tests/test-idpriv-drop.c: Likewise.
36062         * tests/test-idpriv-droptemp.c: Likewise.
36063         * tests/test-lock.c: Likewise.
36064         * tests/test-tls.c: Likewise.
36065         * lib/argp-help.c: Insert space before function-like macro argument
36066         list.
36067         * lib/memcmp.c: Likewise.
36068         * tests/test-base64.c: Likewise.
36069         * lib/localename.c: Insert space before sizeof's argument list.
36070         * lib/safe-alloc.h: Likewise.
36071         * lib/file-set.h: Insert space before macro argument list.
36072         * tests/test-argp.c: Likewise.
36073         * lib/argp-namefrob.h: Insert space before function parameter list.
36074         * lib/getaddrinfo.c: Likewise.
36075         * lib/netdb.in.h: Likewise.
36076         * lib/parse-duration.h: Likewise.
36077         * lib/parse-duration.c: Likewise.
36078         * lib/poll.c: Likewise.
36079         * lib/select.c: Likewise.
36080         * lib/trim.h: Likewise.
36081         * tests/test-usleep.c: Likewise.
36082         * lib/ldexpl.c: Insert space before function parameter list and before
36083         function argument list.
36084         * lib/logl.c: Likewise.
36085         * lib/sqrtl.c: Likewise.
36086         * lib/trim.c: Likewise.
36087         * lib/cosl.c: Use GNU style indentation. Insert space before function
36088         argument list.
36089         * lib/sinl.c: Likewise.
36090         * lib/tsearch.c: Insert space after 'for'.
36091         Reported by Jim Meyering.
36092
36093 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
36094
36095         * maint.mk (sc_Wundef_boolean): Check for the presence of the
36096         config header before grepping, as it's not present before
36097         autoreconf/configure are run.  Reported by Simon Josefsson.
36098
36099 2010-03-23  Bruno Haible  <bruno@clisp.org>
36100
36101         pt_chown: Make it work with automake < 1.11.
36102         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
36103         Reported by Simon Josefsson.
36104
36105 2010-03-23  Bruno Haible  <bruno@clisp.org>
36106
36107         pt_chown: Don't depend on GPLed modules.
36108         * lib/pt_chown.c: Don't include idpriv.h.
36109         (main): Don't drop privileges.
36110         * modules/pt_chown (Depends-on): Remove idpriv-drop.
36111         Reported by Simon Josefsson.
36112
36113 2010-03-24  Simon Josefsson  <simon@josefsson.org>
36114
36115         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
36116         suggestions from karl@freefriends.org (Karl Berry).
36117
36118 2010-03-22  Eric Blake  <eblake@redhat.com>
36119
36120         gethostname: further tweaks
36121         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
36122         are overriding gethostname.
36123         Suggested by Bruno Haible.
36124
36125 2010-03-21  Bruno Haible  <bruno@clisp.org>
36126
36127         Fix comments.
36128         * lib/forkpty.c (rpl_forkpty): Fix comment.
36129         * lib/openpty.c (rpl_openpty): Likewise.
36130         Reported by Eric Blake.
36131
36132 2010-03-22  Eric Blake  <eblake@redhat.com>
36133
36134         gethostname: fix build on mingw
36135         * lib/unistd.in.h (includes): Work around fact that mingw
36136         <winsock2.h> re-includes <unistd.h>, by avoiding any
36137         redeclarations if we are being included by <winsock2.h>.
36138         Reported by Matthias Bolte.
36139
36140 2010-03-21  Bruno Haible  <bruno@clisp.org>
36141
36142         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
36143         * lib/forkpty.c (forkpty): New replacement function, from glibc with
36144         modifications.
36145         * lib/pty.in.h (forkpty): Update declaration. Add comments.
36146         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
36147         provide the replacement.
36148         * modules/forkpty (Depends-on): Add openpty, login_tty.
36149         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
36150         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
36151         * doc/glibc-functions/forkpty.texi: More supported platforms.
36152         * config/srclist.txt: Add forkpty.c (commented).
36153
36154 2010-03-21  Bruno Haible  <bruno@clisp.org>
36155
36156         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
36157         (Makefile.am): Verify that PTY_LIB is defined.
36158
36159         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
36160
36161 2010-03-21  Bruno Haible  <bruno@clisp.org>
36162
36163         Tests for module 'login_tty'.
36164         * modules/login_tty-tests: New file.
36165         * tests/test-login_tty.c: New file.
36166
36167         New module 'login_tty'.
36168         * lib/login_tty.c: New file.
36169         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
36170         * modules/login_tty: New file.
36171         * doc/glibc-functions/login_tty.texi: Mention the new module.
36172
36173 2010-03-21  Bruno Haible  <bruno@clisp.org>
36174
36175         login_tty: Documentation.
36176         * doc/glibc-functions/login_tty.texi: New file.
36177         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
36178
36179 2010-03-21  Bruno Haible  <bruno@clisp.org>
36180
36181         pty: Consistent macro naming.
36182         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
36183         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
36184         * modules/pty (configure.ac): Update.
36185
36186 2010-03-21  Bruno Haible  <bruno@clisp.org>
36187
36188         Tests for openpty: Make stricter.
36189         * tests/test-openpty.c (main): Add test of canonical processing and
36190         erase.
36191         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
36192
36193         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
36194         * lib/openpty.c (openpty): New replacement function.
36195         * lib/pty.in.h: Include <termios.h>.
36196         (openpty): Update declaration. Add comments.
36197         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
36198         is not declared, arrange to provide the replacement. Check for _getpty
36199         and posix_openpt.
36200         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
36201         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
36202         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
36203         * modules/pty-tests (test_pty_c___LDADD): New variable.
36204         * doc/glibc-functions/openpty.texi: More supported platforms.
36205
36206 2010-03-21  Bruno Haible  <bruno@clisp.org>
36207
36208         setenv: Tweaks.
36209         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
36210         the test program.
36211         * doc/posix-functions/setenv.texi: Update platforms list.
36212
36213 2010-03-21  Bruno Haible  <bruno@clisp.org>
36214
36215         New module 'unlockpt'.
36216         * lib/unlockpt.c: New file, from glibc with modifications.
36217         * m4/unlockpt.m4: New file.
36218         * modules/unlockpt: New file.
36219         * lib/stdlib.in.h (unlockpt): New declaration.
36220         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
36221         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
36222         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
36223         HAVE_UNLOCKPT.
36224         * doc/posix-functions/unlockpt.texi: Mention the new module.
36225         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
36226         * config/srclist.txt: Add unlockpt.c (commented).
36227
36228 2010-03-21  Jim Meyering  <meyering@redhat.com>
36229
36230         maint.mk: prohibit inclusion of "intprops.h" without use
36231         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
36232
36233 2010-03-21  Bruno Haible  <bruno@clisp.org>
36234
36235         New module 'grantpt'.
36236         * lib/grantpt.c: New file, from glibc with modifications.
36237         * m4/grantpt.m4: New file.
36238         * modules/grantpt: New file.
36239         * lib/stdlib.in.h (grantpt): New declaration.
36240         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
36241         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
36242         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
36243         HAVE_GRANTPT.
36244         * doc/posix-functions/grantpt.texi: Mention the new module.
36245         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
36246         * config/srclist.txt: Add grantpt.c (commented).
36247
36248 2010-03-21  Bruno Haible  <bruno@clisp.org>
36249
36250         New module 'pt_chown'.
36251         * lib/pt_chown.c: New file, from glibc with modifications.
36252         * lib/pty-private.h: New file, from glibc with modifications.
36253         * modules/pt_chown: New file.
36254         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
36255
36256 2010-03-21  Bruno Haible  <bruno@clisp.org>
36257
36258         Tests for module 'ptsname'.
36259         * modules/ptsname-tests: New file.
36260         * tests/test-ptsname.c: New file.
36261
36262         New module 'ptsname'.
36263         * lib/ptsname.c: New file, from glibc with modifications.
36264         * m4/ptsname.m4: New file.
36265         * modules/ptsname: New file.
36266         * lib/stdlib.in.h (ptsname): New declaration.
36267         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
36268         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
36269         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
36270         HAVE_PTSNAME.
36271         * doc/posix-functions/ptsname.texi: Mention the new module.
36272         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
36273         * config/srclist.txt: Add ptsname.c (commented).
36274
36275 2010-03-21  Bruno Haible  <bruno@clisp.org>
36276
36277         Tests for module 'ttyname_r'.
36278         * modules/ttyname_r-tests: New file.
36279         * tests/test-ttyname_r.c: New file.
36280
36281         New module 'ttyname_r'.
36282         * lib/ttyname_r.c: New file.
36283         * m4/ttyname_r.m4: New file.
36284         * modules/ttyname_r: New file.
36285         * lib/unistd.in.h (ttyname_r): New declaration.
36286         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
36287         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
36288         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
36289         HAVE_TTYNAME_R.
36290         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
36291         * doc/posix-functions/ttyname_r.texi: Mention the new module.
36292
36293 2010-03-20  Bruno Haible  <bruno@clisp.org>
36294
36295         signal: Undefine macro definitions in C++ mode.
36296         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
36297         sigfillset): Undefine macro definitions from the system header in C++
36298         mode.
36299         Reported by John W. Eaton <jwe@gnu.org>.
36300
36301 2010-03-20  Bruno Haible  <bruno@clisp.org>
36302
36303         Ensure no #include statements inside extern "C" { ... }.
36304         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
36305         contain #include statements.
36306         * lib/time.in.h: Likewise.
36307
36308 2010-03-20  Bruno Haible  <bruno@clisp.org>
36309
36310         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
36311         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
36312         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
36313         Reported by John W. Eaton <jwe@gnu.org>.
36314
36315 2010-03-20  Bruno Haible  <bruno@clisp.org>
36316
36317         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
36318         Reported by Jim Meyering.
36319
36320 2010-03-20  Bruno Haible  <bruno@clisp.org>
36321
36322         pipe: Set errno upon failure.
36323         * lib/pipe.h: Specify that when -1 is returned, errno is set.
36324         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
36325         errno value in error message.
36326
36327 2010-03-20  Bruno Haible  <bruno@clisp.org>
36328             Jim Meyering  <meyering@redhat.com>
36329
36330         lchown: Avoid "unused variable" warning.
36331         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
36332
36333 2010-03-20  Bruno Haible  <bruno@clisp.org>
36334
36335         Work around unlink() bug on MacOS X 10.5.6.
36336         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
36337         attempting to unlink a parent directory.
36338         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
36339         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
36340         activate for the replacement function.
36341         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
36342
36343 2010-03-20  Bruno Haible  <bruno@clisp.org>
36344
36345         Fix link errors on Solaris 8.
36346         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
36347         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
36348
36349 2010-03-19  Jim Meyering  <meyering@redhat.com>
36350
36351         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
36352         The _LIBC implementation of build_range_exp correctly honors the
36353         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
36354         However, the non-_LIBC implementation would ignore that syntax-bit
36355         flag and return REG_ERANGE unconditionally.
36356         This change makes it honor that flag.
36357         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
36358         Make two pointer parameters "const".
36359         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
36360         (parse_bracket_exp): Update caller.
36361
36362         regex.m4: correct the reversed range endpoint ([b-a]) test
36363         * m4/regex.m4: When requiring that [b-a] evoke failure,
36364         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
36365         test pass once again for x86-based systems.
36366
36367 2010-03-19  Bruno Haible  <bruno@clisp.org>
36368
36369         scandir: Fix link error on Solaris 8.
36370         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
36371         macros.
36372
36373 2010-03-19  Bruno Haible  <bruno@clisp.org>
36374
36375         getusershell: Fix documentation.
36376         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
36377         module.
36378         * doc/glibc-functions/setusershell.texi: Likewise.
36379
36380         getusershell: Provide declaration, missing on Solaris 9.
36381         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
36382         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
36383         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
36384         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
36385         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36386         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
36387         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
36388         HAVE_GETUSERSHELL.
36389         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
36390
36391 2010-03-19  Bruno Haible  <bruno@clisp.org>
36392
36393         wctype: Provide iswblank function.
36394         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
36395         exists and is fine.
36396         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
36397         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
36398         * tests/test-wctype.c (main): Re-enable the iswblank tests.
36399         * doc/posix-functions/iswblank.texi: Update.
36400
36401 2010-03-19  Bruno Haible  <bruno@clisp.org>
36402
36403         Tests of module 'pty' in C++ mode.
36404         * modules/pty-tests: New file.
36405         * tests/test-pty-c++.cc: New file.
36406         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36407
36408 2010-03-19  Eric Blake  <eblake@redhat.com>
36409
36410         logb: fix documentation
36411         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
36412         1.5 declaration bug.
36413
36414         forkpty, openpty: prefer glibc's const-safe prototype
36415         * lib/forkpty.c (rpl_forkpty): New file.
36416         * lib/openpty.c (rpl_openpty): Likewise.
36417         * modules/forkpty (Files): Distribute it.
36418         * modules/openpty (Files): Likewise.
36419         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
36420         check...
36421         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
36422         replacement for for non-const BSD signature.
36423         * modules/pty (Makefile.am): Substitute witnesses.
36424         * lib/pty.in.h (forkpty, openpty): Declare replacements.
36425         * tests/test-forkpty.c: Update signature check.
36426         * tests/test-openpty.c: Likewise.
36427         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
36428         * doc/glibc-functions/openpty.texi (openpty): Likewise.
36429
36430         forkpty, openpty: split functions into new modules
36431         * modules/pty (Makefile.am): Substitute new witnesses.
36432         (Libraries): Move library detection...
36433         * modules/forkpty: ...into new module.
36434         * modules/openpty: Another new module.
36435         * modules/pty-tests: Rename and split...
36436         * modules/forkpty-tests: ...to this...
36437         * modules/openpty-tests: ...and this.
36438         * tests/test-pty.c: Rename and split...
36439         * tests/test-forkpty.c: ...to this...
36440         * tests/test-openpty.c: ...and this.
36441         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
36442         (gl_PTY): Split library searching...
36443         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
36444         (gl_FORKPTY, gl_OPENPTY): New macros.
36445         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
36446         * NEWS: Mention the split.
36447         * MODULES.html.sh (Misc): Document the modules.
36448         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
36449         * doc/glibc-functions/openpty.texi (openpty): Likewise.
36450
36451         pty: improve replacement header
36452         * lib/pty.in.h: New file.
36453         * modules/pty (Files): Ship it.
36454         (Makefile.am): Always build replacement.
36455         * m4/pty.m4: Rename...
36456         * m4/pty_h.m4: ...to this.
36457         (gl_PTY): Modernize setting of witness macros; update check of
36458         forkpty to take proper advantage of cache.
36459         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
36460
36461         getopt: avoid compiler warning
36462         * lib/getopt.c (attribute_hidden): Remove unused macro.
36463
36464 2010-03-18  Bruno Haible  <bruno@clisp.org>
36465
36466         Fix link errors on Solaris 8.
36467         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
36468         * modules/search-tests (test_search_c___LDADD): Likewise.
36469         * modules/signal-tests (test_signal_c___LDADD): Likewise.
36470         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
36471         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
36472         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
36473         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
36474         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
36475         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
36476
36477 2010-03-18  Bruno Haible  <bruno@clisp.org>
36478
36479         Fix bug introduced on 2010-03-14.
36480         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
36481         (gl_SPAWN_H): Require it.
36482         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
36483         Reported by Simon Josefsson.
36484
36485 2010-03-18  Bruno Haible  <bruno@clisp.org>
36486
36487         Fix typo introduced on 2009-12-31.
36488         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
36489         posix_spawn_file_actions_adddup2.
36490
36491 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
36492         and Eric Blake  <eblake@redhat.com>
36493
36494         test-vc-list-files-git: make more robust
36495         * tests/test-vc-list-files-git.sh: Unset problematic environment
36496         variables.  Chain commands together.
36497
36498 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
36499
36500         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
36501         `AC_CHECK_DECL' invocation.
36502
36503 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
36504
36505         * lib/inttostr.c (inttostr): Make sure the invocation of verify
36506         appears before executable statements. Suggested by Petr Sumbera
36507         <Petr.Sumbera@Sun.COM>.
36508
36509 2010-03-14  Bruno Haible  <bruno@clisp.org>
36510
36511         * tests/test-flock.c (test_exclusive): Comment out a test that causes
36512         portability problems. Instead use a simpler test.
36513         (main): Check that invalid arguments are rejected only on Linux.
36514
36515 2010-03-14  Bruno Haible  <bruno@clisp.org>
36516
36517         Fix bug introduced on 2009-12-31.
36518         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
36519         gl_PREREQ_SYS_H_WINSOCK2 always.
36520         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
36521         SYS_SOCKET_H variable.
36522         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
36523         Update comments.
36524         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
36525         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
36526         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
36527         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
36528         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
36529
36530 2010-03-14  Bruno Haible  <bruno@clisp.org>
36531
36532         Fix values returned by sinl, cosl.
36533         * lib/trigl.h: Add specification comments.
36534         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
36535         that combines the values from the precomputed table with the values of
36536         the Chebyshev polynomials.
36537
36538 2010-03-14  Bruno Haible  <bruno@clisp.org>
36539
36540         Fix compilation error when modules 'posix_spawn[p]' are not used.
36541         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
36542         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
36543
36544 2010-03-14  Bruno Haible  <bruno@clisp.org>
36545
36546         Fix compilation error on mingw when module 'time_r' is not used.
36547         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
36548         is 1.
36549         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
36550         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36551         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
36552         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
36553
36554 2010-03-14  Bruno Haible  <bruno@clisp.org>
36555
36556         Fix compilation error with Sun C.
36557         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
36558         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
36559         instead of GCC specific ULONG_LONG_MAX.
36560         * lib/xstrtoll.c: Likewise.
36561         * lib/xstrtoull.c: Likewise.
36562
36563 2010-03-13  Bruno Haible  <bruno@clisp.org>
36564
36565         Allow the user to disable C++ code and tests.
36566         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
36567         (gl_PROG_ANSI_CXX): Require it.
36568
36569 2010-03-13  Bruno Haible  <bruno@clisp.org>
36570
36571         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
36572         cases.
36573
36574 2010-03-13  Bruno Haible  <bruno@clisp.org>
36575
36576         Test that gnulib does not break the standard C++ headers.
36577         * tests/test-locale-c++2.cc: New file.
36578         * modules/locale-tests (Files): Add it.
36579         (Makefile.am): Compile it for test-locale-c++.
36580         * tests/test-math-c++2.cc: New file.
36581         * modules/math-tests (Files): Add it.
36582         (Makefile.am): Compile it for test-math-c++.
36583         * tests/test-signal-c++2.cc: New file.
36584         * modules/signal-tests (Files): Add it.
36585         (Makefile.am): Compile it for test-signal-c++.
36586         * tests/test-stdio-c++2.cc: New file.
36587         * modules/stdio-tests (Files): Add it.
36588         (Makefile.am): Compile it for test-stdio-c++.
36589         * tests/test-stdlib-c++2.cc: New file.
36590         * modules/stdlib-tests (Files): Add it.
36591         (Makefile.am): Compile it for test-stdlib-c++.
36592         * tests/test-string-c++2.cc: New file.
36593         * modules/string-tests (Files): Add it.
36594         (Makefile.am): Compile it for test-string-c++.
36595         * tests/test-time-c++2.cc: New file.
36596         * modules/time-tests (Files): Add it.
36597         (Makefile.am): Compile it for test-time-c++.
36598         Reported by John W. Eaton <jwe@gnu.org>.
36599
36600 2010-03-13  Bruno Haible  <bruno@clisp.org>
36601
36602         * gnulib-tool (func_usage): Clarify which options are available for
36603         --create-testdir and --create-megatestdir.
36604
36605 2010-03-13  Bruno Haible  <bruno@clisp.org>
36606
36607         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
36608         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
36609         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
36610         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
36611         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
36612         when appropriate.
36613         Reported by Jim Meyering.
36614
36615 2010-03-12  Simon Josefsson  <simon@josefsson.org>
36616
36617         * gnulib-tool (func_import): Explain origin of code.
36618
36619 2010-03-12  Bruno Haible  <bruno@clisp.org>
36620
36621         Fix problem with automake's definition of CXXLINK.
36622         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
36623         Reported by Simon Josefsson and Ludovic Courtès.
36624
36625 2010-03-12  Bruno Haible  <bruno@clisp.org>
36626
36627         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
36628         stable releases.
36629
36630 2010-03-11  Bruno Haible  <bruno@clisp.org>
36631
36632         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
36633         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
36634         whether the system provides one variant or multiple variants of the
36635         function.
36636         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
36637         C++ compilers.
36638         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
36639         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
36640         Reported by Jim Meyering.
36641
36642 2010-03-09  Simon Josefsson  <simon@josefsson.org>
36643
36644         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
36645
36646 2010-03-08  Bruno Haible  <bruno@clisp.org>
36647
36648         gnulib-tool: Add support for --libtool in --create-testdir.
36649         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
36650         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
36651
36652 2010-03-08  Eric Blake  <eblake@redhat.com>
36653
36654         gnulib-tool.texi: mention possibility of git submodule
36655         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
36656         submodules.
36657         * doc/.gitignore: Ignore another generated file.
36658
36659 2010-03-08  Karl Berry  <karl@gnu.org>
36660
36661         * doc/gnulib-tool.texi (VCS Issues): Mention third option
36662         of committing gnulib files while skipping others.
36663
36664 2010-03-07  Bruno Haible  <bruno@clisp.org>
36665
36666         Tests of module 'wctype' in C++ mode.
36667         * tests/test-wctype-c++.cc: New file.
36668         * modules/wctype-tests (Files): Add it and tests/signature.h.
36669         (Depends-on): Add ansi-c++-opt.
36670         (Makefile.am): Arrange to compile and run test-wctype-c++.
36671
36672         Tests of module 'wchar' in C++ mode.
36673         * tests/test-wchar-c++.cc: New file.
36674         * modules/wchar-tests (Files): Add it and tests/signature.h.
36675         (Depends-on): Add ansi-c++-opt.
36676         (Makefile.am): Arrange to compile and run test-wchar-c++.
36677         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
36678         gl_MODULE_INDICATOR.
36679
36680         Tests of module 'unistd' in C++ mode.
36681         * tests/test-unistd-c++.cc: New file.
36682         * modules/unistd-tests (Files): Add it and tests/signature.h.
36683         (Depends-on): Add ansi-c++-opt.
36684         (Makefile.am): Arrange to compile and run test-unistd-c++.
36685         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
36686         gl_MODULE_INDICATOR.
36687
36688         Tests of module 'time' in C++ mode.
36689         * tests/test-time-c++.cc: New file.
36690         * modules/time-tests (Files): Add it and tests/signature.h.
36691         (Depends-on): Add ansi-c++-opt.
36692         (Makefile.am): Arrange to compile and run test-time-c++.
36693         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36694
36695         Tests of module 'sys_time' in C++ mode.
36696         * tests/test-sys_time-c++.cc: New file.
36697         * modules/sys_time-tests (Files): Add it and tests/signature.h.
36698         (Depends-on): Add ansi-c++-opt.
36699         (Makefile.am): Arrange to compile and run test-sys_time-c++.
36700         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
36701         gl_MODULE_INDICATOR.
36702
36703         Tests of module 'sys_stat' in C++ mode.
36704         * tests/test-sys_stat-c++.cc: New file.
36705         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
36706         (Depends-on): Add ansi-c++-opt.
36707         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
36708         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
36709         gl_MODULE_INDICATOR.
36710
36711         Tests of module 'sys_socket' in C++ mode.
36712         * tests/test-sys_socket-c++.cc: New file.
36713         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
36714         (Depends-on): Add ansi-c++-opt.
36715         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
36716         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
36717         gl_MODULE_INDICATOR.
36718
36719         Tests of module 'sys_select' in C++ mode.
36720         * tests/test-sys_select-c++.cc: New file.
36721         * modules/sys_select-tests (Files): Add it and tests/signature.h.
36722         (Depends-on): Add ansi-c++-opt.
36723         (Makefile.am): Arrange to compile and run test-sys_select-c++.
36724         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
36725         gl_MODULE_INDICATOR.
36726
36727         Tests of module 'sys_ioctl' in C++ mode.
36728         * tests/test-sys_ioctl-c++.cc: New file.
36729         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
36730         (Depends-on): Add ansi-c++-opt.
36731         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
36732         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
36733         gl_MODULE_INDICATOR.
36734
36735         Tests of module 'string' in C++ mode.
36736         * tests/test-string-c++.cc: New file.
36737         * modules/string-tests (Files): Add it and tests/signature.h.
36738         (Depends-on): Add ansi-c++-opt.
36739         (Makefile.am): Arrange to compile and run test-string-c++.
36740         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
36741         gl_MODULE_INDICATOR.
36742
36743         Tests of module 'stdlib' in C++ mode.
36744         * tests/test-stdlib-c++.cc: New file.
36745         * modules/stdlib-tests (Files): Add it and tests/signature.h.
36746         (Depends-on): Add ansi-c++-opt.
36747         (Makefile.am): Arrange to compile and run test-stdlib-c++.
36748         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
36749         gl_MODULE_INDICATOR.
36750
36751         Tests of module 'stdio' in C++ mode.
36752         * tests/test-stdio-c++.cc: New file.
36753         * modules/stdio-tests (Files): Add it and tests/signature.h.
36754         (Depends-on): Add ansi-c++-opt.
36755         (Makefile.am): Arrange to compile and run test-stdio-c++.
36756         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
36757         gl_MODULE_INDICATOR.
36758
36759         Tests of module 'spawn' in C++ mode.
36760         * tests/test-spawn-c++.cc: New file.
36761         * modules/spawn-tests (Files): Add it and tests/signature.h.
36762         (Depends-on): Add ansi-c++-opt.
36763         (Makefile.am): Arrange to compile and run test-spawn-c++.
36764         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
36765         gl_MODULE_INDICATOR.
36766
36767         Tests of module 'signal' in C++ mode.
36768         * tests/test-signal-c++.cc: New file.
36769         * modules/signal-tests (Files): Add it and tests/signature.h.
36770         (Depends-on): Add ansi-c++-opt.
36771         (Makefile.am): Arrange to compile and run test-signal-c++.
36772         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
36773         gl_MODULE_INDICATOR.
36774
36775         Tests of module 'search' in C++ mode.
36776         * tests/test-search-c++.cc: New file.
36777         * modules/search-tests (Files): Add it and tests/signature.h.
36778         (Depends-on): Add ansi-c++-opt.
36779         (Makefile.am): Arrange to compile and run test-search-c++.
36780         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
36781         gl_MODULE_INDICATOR.
36782
36783         Tests of module 'math' in C++ mode.
36784         * tests/test-math-c++.cc: New file.
36785         * modules/math-tests (Files): Add it and tests/signature.h.
36786         (Depends-on): Add ansi-c++-opt.
36787         (Makefile.am): Arrange to compile and run test-math-c++.
36788         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36789
36790         Tests of module 'locale' in C++ mode.
36791         * tests/test-locale-c++.cc: New file.
36792         * modules/locale-tests (Files): Add it and tests/signature.h.
36793         (Depends-on): Add ansi-c++-opt.
36794         (Makefile.am): Arrange to compile and run test-locale-c++.
36795         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
36796         gl_MODULE_INDICATOR.
36797
36798         Tests of module 'langinfo' in C++ mode.
36799         * tests/test-langinfo-c++.cc: New file.
36800         * modules/langinfo-tests (Files): Add it and tests/signature.h.
36801         (Depends-on): Add ansi-c++-opt.
36802         (Makefile.am): Arrange to compile and run test-langinfo-c++.
36803         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
36804         gl_MODULE_INDICATOR.
36805
36806         Tests of module 'iconv-h' in C++ mode.
36807         * tests/test-iconv-h-c++.cc: New file.
36808         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
36809         (Depends-on): Add ansi-c++-opt.
36810         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
36811
36812         Tests of module 'glob' in C++ mode.
36813         * tests/test-glob-c++.cc: New file.
36814         * modules/glob-tests (Files): Add it.
36815         (Depends-on): Add ansi-c++-opt.
36816         (Makefile.am): Arrange to compile and run test-glob-c++.
36817
36818         Tests of module 'fcntl-h' in C++ mode.
36819         * tests/test-fcntl-h-c++.cc: New file.
36820         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
36821         (Depends-on): Add ansi-c++-opt.
36822         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
36823         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
36824         gl_MODULE_INDICATOR.
36825
36826         Tests of module 'dirent' in C++ mode.
36827         * tests/test-dirent-c++.cc: New file.
36828         * modules/dirent-tests (Files): Add it and tests/signature.h.
36829         (Depends-on): Add ansi-c++-opt.
36830         (Makefile.am): Arrange to compile and run test-dirent-c++.
36831         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
36832         gl_MODULE_INDICATOR.
36833
36834         New module 'ansi-c++-opt'.
36835         * modules/ansi-c++-opt: New file.
36836         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
36837
36838         Document C++ namespace mode.
36839         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
36840
36841         wctype: Avoid #define replacements in C++ mode.
36842         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
36843         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
36844         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
36845         In C++, define a namespaced alias symbol.
36846         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
36847         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
36848         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
36849         rule.
36850
36851         wchar: Avoid #define replacements in C++ mode.
36852         * lib/wchar.in.h: Include c++defs.h.
36853         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
36854         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
36855         symbol.
36856         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
36857         * modules/wchar (Depends-on): Add c++defs.
36858         (Makefile.am): Update wchar.h rule.
36859
36860         unistd: Avoid #define replacements in C++ mode.
36861         * lib/unistd.in.h: Include c++defs.h.
36862         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
36863         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
36864         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
36865         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
36866         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
36867         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
36868         symbol.
36869         (environ): Update.
36870         * modules/unistd (Depends-on): Add c++defs.
36871         (Makefile.am): Update unistd.h rule.
36872
36873         time: Avoid #define replacements in C++ mode.
36874         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
36875         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
36876         define a namespaced alias symbol.
36877         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
36878         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
36879         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
36880         * modules/time (Depends-on): Add c++defs, warn-on-use.
36881         (Makefile.am): Update time.h rule.
36882         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36883         * modules/nanosleep (configure.ac): Likewise.
36884         * modules/strptime (configure.ac): Likewise.
36885         * modules/timegm (configure.ac): Likewise.
36886
36887         sys_time: Avoid #define replacements in C++ mode.
36888         * lib/sys_time.in.h: Include c++defs.h.
36889         (gettimeofday): In C++, define a namespaced alias symbol.
36890         * modules/sys_time (Depends-on): Add c++defs.
36891         (Makefile.am): Update sys/time.h rule.
36892
36893         sys_stat: Avoid #define replacements in C++ mode.
36894         * lib/sys_stat.in.h: Include c++defs.h.
36895         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
36896         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
36897         namespaced alias symbol.
36898         In C++, define a namespaced alias symbol.
36899         * modules/sys_stat (Depends-on): Add c++defs.
36900         (Makefile.am): Update sys/stat.h rule.
36901
36902         sys_socket: Avoid #define replacements in C++ mode.
36903         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
36904         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
36905         definitions also when the system has a <sys/socket.h>.
36906         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
36907         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
36908         In C++, define a namespaced alias symbol.
36909         * modules/sys_socket (Depends-on): Add c++defs.
36910         (Makefile.am): Update sys/socket.h rule.
36911
36912         sys_select: Avoid #define replacements in C++ mode.
36913         * lib/sys_select.in.h: Include c++defs.h. Enable the function
36914         definitions also when the system has a <sys/select.h>.
36915         (select): In C++, define a namespaced alias symbol.
36916         * modules/sys_select (Depends-on): Add c++defs.
36917         (Makefile.am): Update sys/select.h rule.
36918
36919         sys_ioctl: Avoid #define replacements in C++ mode.
36920         * lib/sys_ioctl.in.h: Include c++defs.h.
36921         (ioctl): In C++, define a namespaced alias symbol.
36922         * modules/sys_ioctl (Depends-on): Add c++defs.
36923         (Makefile.am): Update sys/ioctl.h rule.
36924
36925         string: Avoid #define replacements in C++ mode.
36926         * lib/string.in.h: Include c++defs.h.
36927         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
36928         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36929         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36930         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
36931         strsignal, strverscmp): In C++, define a namespaced alias symbol.
36932         * modules/string (Depends-on): Add c++defs.
36933         (Makefile.am): Update string.h rule.
36934
36935         stdlib: Avoid #define replacements in C++ mode.
36936         * lib/stdlib.in.h: Include c++defs.h.
36937         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
36938         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
36939         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
36940         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
36941         symbol.
36942         * modules/stdlib (Depends-on): Add c++defs.
36943         (Makefile.am): Update stdlib.h rule.
36944
36945         stdio: Avoid #define replacements in C++ mode.
36946         * lib/stdio.in.h: Include c++defs.h.
36947         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
36948         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
36949         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
36950         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
36951         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
36952         namespaced alias symbol.
36953         * modules/stdio (Depends-on): Add c++defs.
36954         (Makefile.am): Update stdio.h rule.
36955
36956         spawn: Avoid #define replacements in C++ mode.
36957         * lib/spawn.in.h: Include c++defs.h.
36958         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36959         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36960         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36961         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36962         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36963         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36964         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36965         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36966         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36967         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36968         In C++, define a namespaced alias symbol.
36969         * modules/spawn (Depends-on): Add c++defs.
36970         (Makefile.am): Update spawn.h rule.
36971
36972         signal: Avoid #define replacements in C++ mode.
36973         * lib/signal.in.h: Include c++defs.h.
36974         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36975         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
36976         namespaced alias symbol.
36977         * modules/signal (Depends-on): Add c++defs.
36978         (Makefile.am): Update signal.h rule.
36979
36980         search: Avoid #define replacements in C++ mode.
36981         * lib/search.in.h: Include c++defs.h.
36982         (_gl_search_compar_fn, _gl_search_action_fn): New types.
36983         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
36984         symbol.
36985         * modules/search (Depends-on): Add c++defs.
36986         (Makefile.am): Update search.h rule.
36987
36988         math: Avoid #define replacements in C++ mode.
36989         * lib/math.in.h: Include c++defs.h.
36990         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
36991         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
36992         trunc, truncl): In C++, define a namespaced alias symbol.
36993         * modules/math (Depends-on): Add c++defs.
36994         (Makefile.am): Update math.h rule.
36995
36996         locale: Avoid #define replacements in C++ mode.
36997         * lib/locale.in.h: Include c++defs.h.
36998         (duplocale): In C++, define a namespaced alias symbol.
36999         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
37000         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
37001         * modules/locale (Depends-on): Add c++defs.
37002         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
37003
37004         langinfo: Avoid #define replacements in C++ mode.
37005         * lib/langinfo.in.h: Include c++defs.h.
37006         (nl_langinfo): In C++, define a namespaced alias symbol.
37007         * modules/langinfo (Depends-on): Add c++defs.
37008         (Makefile.am): Update langinfo.h rule.
37009
37010         iconv-h: Avoid #define replacements in C++ mode.
37011         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
37012         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
37013         symbol.
37014         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
37015         whenever iconv is present.
37016         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
37017         (Makefile.am): Update iconv.h rule.
37018
37019         glob: Avoid #define replacements in C++ mode.
37020         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
37021         (_gl_glob_errfunc_fn): New type.
37022         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
37023         symbol.
37024         * modules/glob (Depends-on): Add c++defs, warn-on-use.
37025         (Makefile.am): Update glob.h rule.
37026
37027         fcntl-h: Avoid #define replacements in C++ mode.
37028         * lib/fcntl.in.h: Include c++defs.h.
37029         (fcntl, open, openat): In C++, define a namespaced alias symbol.
37030         * modules/fcntl-h (Depends-on): Add c++defs.
37031         (Makefile.am): Update fcntl.h rule.
37032
37033         dirent: Avoid #define replacements in C++ mode.
37034         * lib/dirent.in.h: Include c++defs.h.
37035         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
37036         namespaced alias symbol.
37037         (dirfd): Update declaration.
37038         * modules/dirent (Depends-on): Add c++defs.
37039         (Makefile.am): Update dirent.h rule.
37040
37041         ctype: Make it usable in C++ code.
37042         * lib/ctype.in.h: Include c++defs.h.
37043         (isblank): Declare as extern "C".
37044         * modules/ctype (Depends-on): Add c++defs.
37045         (Makefile.am): Update ctype.h rule.
37046
37047         New module 'c++defs'.
37048         * modules/c++defs: New file.
37049         * build-aux/c++defs.h: New file.
37050         Reported by John W. Eaton <jwe@gnu.org>.
37051
37052 2010-03-07  Bruno Haible  <bruno@clisp.org>
37053
37054         logb: Provide missing declaration for Cygwin.
37055         * lib/math.in.h (logb): New declaration.
37056         * m4/logb.m4: New file.
37057         * modules/logb (Files): Add m4/logb.m4.
37058         (Depends-on): Add math.
37059         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
37060         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
37061         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
37062         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
37063         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
37064
37065 2010-03-07  Bruno Haible  <bruno@clisp.org>
37066
37067         Fix test-cond link error.
37068         * tests/test-cond.c: Include <stdio.h>.
37069
37070 2010-03-07  Bruno Haible  <bruno@clisp.org>
37071
37072         Fix test-dirent-safer link error.
37073         * modules/dirent-safer-tests (Makefile.am): Define
37074         test_dirent_safer_LDADD.
37075
37076 2010-03-07  Bruno Haible  <bruno@clisp.org>
37077
37078         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
37079         among default module list.
37080
37081 2010-03-07  Bruno Haible  <bruno@clisp.org>
37082
37083         Fix link error on platforms with GNU libiconv.
37084         * modules/unistr/u8-strcoll-tests (Makefile): Define
37085         test_u8_strcoll_LDADD.
37086         * modules/unistr/u16-strcoll-tests (Makefile): Define
37087         test_u16_strcoll_LDADD.
37088         * modules/unistr/u32-strcoll-tests (Makefile): Define
37089         test_u32_strcoll_LDADD.
37090
37091 2010-03-07  Bruno Haible  <bruno@clisp.org>
37092
37093         Use POSIX declarations for socket functions.
37094         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
37095         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
37096         rpl_sendto): Change declaration to match POSIX.
37097         * lib/connect.c (rpl_connect): Likewise.
37098         * lib/accept.c (rpl_accept): Likewise.
37099         * lib/bind.c (rpl_bind): Likewise.
37100         * lib/getpeername.c (rpl_getpeername): Likewise.
37101         * lib/getsockname.c (rpl_getsockname): Likewise.
37102         * lib/recv.c (rpl_recv): Likewise.
37103         * lib/send.c (rpl_send): Likewise.
37104         * lib/recvfrom.c (rpl_recvfrom): Likewise.
37105         * lib/sendto.c (rpl_sendto): Likewise.
37106
37107 2010-03-06  Bruno Haible  <bruno@clisp.org>
37108
37109         Clarify access, euidaccess, faccessat.
37110         * doc/posix-functions/faccessat.texi: Mention security problem under
37111         "Other problems", not "Portability problems".
37112         * doc/posix-functions/access.texi: Likewise. Mention a related security
37113         problem.
37114         * doc/glibc-functions/euidaccess.texi: Mention security problems.
37115         * lib/euidaccess.c: Add comments about platforms.
37116         * lib/unistd.in.h (access, euidaccess): Add warnings.
37117
37118 2010-03-07  Bruno Haible  <bruno@clisp.org>
37119
37120         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
37121         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
37122         (POSIX_SPAWN_SETSCHEDULER): Likewise.
37123         (POSIX_SPAWN_USEVFORK): Define in a way that works when
37124         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
37125         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
37126         declare when POSIX_SPAWN_SETSCHEDULER is zero.
37127         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
37128         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
37129         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
37130         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
37131         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
37132         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
37133         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
37134         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
37135         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
37136         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
37137         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
37138         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
37139         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
37140         Likewise.
37141         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
37142         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
37143         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
37144         Likewise.
37145         * tests/test-spawn.c (main): Make it work when
37146         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
37147
37148 2010-03-07  Bruno Haible  <bruno@clisp.org>
37149
37150         Fix incorrect Makefile.am generation in German locale.
37151         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
37152         Execute sed command with character range in C locale.
37153
37154 2010-03-06  Bruno Haible  <bruno@clisp.org>
37155
37156         Tests for module 'iconv-h'.
37157         * modules/iconv-h-tests: New file.
37158         * tests/test-iconv-h.c: New file.
37159
37160         New module 'iconv-h'.
37161         * modules/iconv-h: New file.
37162         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
37163         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
37164         (configure.ac): Remove gl_ICONV_H.
37165         (Makefile.am): Remove rule for iconv.h.
37166
37167 2010-03-06  Bruno Haible  <bruno@clisp.org>
37168
37169         More consistent naming of *.m4 files.
37170         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
37171         * modules/wctype (Files): Update.
37172
37173         More consistent naming of *.m4 files.
37174         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
37175         * modules/wchar (Files): Update.
37176
37177 2010-03-06  Jim Meyering  <meyering@redhat.com>
37178
37179         euidaccess: relax license to LGPLv2+
37180         * modules/euidaccess (License): Relax to LGPLv2+.
37181
37182 2010-03-06  Bruno Haible  <bruno@clisp.org>
37183
37184         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
37185         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
37186         (Makefile.am): Augment lib_SOURCES instead.
37187
37188 2010-03-04  Jim Meyering  <meyering@redhat.com>
37189
37190         utime: remove obsolete module
37191         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
37192         unnecessary for years, and has been marked as obsolete for 10 months.
37193         * modules/utime: Remove file.
37194         * lib/utime.c: Remove file.
37195         * m4/utime.m4: Remove file.
37196         * m4/utimes-null.m4: Remove file.
37197         * doc/posix-functions/utime.texi (utime): Remove reference to
37198         the module.  Move the sole "fixed by gnulib" item into the
37199         "problems not fixed by Gnulib" list.
37200         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
37201
37202 2010-03-05  Simon Josefsson  <simon@josefsson.org>
37203
37204         * modules/exit (License): Relax license to LGPLv2+.
37205         (Status): Mark as obsolete.
37206         * NEWS: Mention deprecated 'exit' module.
37207         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
37208         of now obsolete 'exit'.
37209
37210 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37211
37212         fts-lgpl: remove unused module
37213         * modules/fts-lgpl: Remove.
37214         * MODULES.html.sh (func_all_modules): Adjust.
37215         * check-module (find_included_lib_files): Adjust.
37216         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
37217
37218 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
37219
37220         copy-acl: enhance Solaris ACL error handling
37221         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
37222         * lib/set-mode-acl.c (qset_acl): Likewise.
37223
37224 2010-03-02  Bruno Haible  <bruno@clisp.org>
37225
37226         spawn: Don't override the system defined values on FreeBSD 8.
37227         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
37228         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
37229         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
37230         if HAVE_POSIX_SPAWN is 1.
37231         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
37232
37233 2010-03-01  Bruno Haible  <bruno@clisp.org>
37234
37235         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
37236         regarding Automake.
37237
37238 2010-02-25  Bruno Haible  <bruno@clisp.org>
37239
37240         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
37241         * gnulib-tool: Define 'echo' as a function only before the ksh alias
37242         setting, not afterwards.
37243         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
37244
37245 2010-02-24  Eric Blake  <eblake@redhat.com>
37246
37247         bootstrap, git-version-gen: use timestamp
37248         * build-aux/git-version-gen (scriptversion): Force UTC.
37249         * build-aux/bootstrap (scriptversion): New variable.
37250
37251         bootstrap: allow older git
37252         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
37253         older than 1.6.4.  Requested by the libvirt project.
37254
37255 2010-02-23  Eric Blake  <eblake@redhat.com>
37256
37257         warn-on-use: work with old autoconf
37258         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
37259         AS_VAR semantics of autoconf 2.60.
37260         Reported by Bruno Haible.
37261
37262         bootstrap: improve some comments
37263         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
37264         clarification comments.
37265
37266         gettimeofday: provide correct function
37267         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
37268         when replacement is declared, otherwise provide gettimeofday.
37269         Reported by Michael Goffioul.
37270
37271 2010-02-23  Jim Meyering  <meyering@redhat.com>
37272
37273         lib-ignore: relax license to "unlimited", not LGPLv2+
37274         * modules/lib-ignore (License): Relax to "unlimited".
37275
37276 2010-02-23  Jim Meyering  <meyering@redhat.com>
37277
37278         lib-ignore: relax license to LGPLv2+
37279         * modules/lib-ignore (License): Relax to LGPLv2+.
37280
37281 2010-02-22  Eric Blake  <eblake@redhat.com>
37282
37283         lseek: avoid bash 3.2 broken pipe bug
37284         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
37285         warning from bash 3.2.
37286         Reported by Ben Pfaff, with analysis from Bruno Haible.
37287
37288         bootstrap: support non-FSF copyright holder
37289         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
37290         bootstrap.conf override of COPYRIGHT_HOLDER.
37291         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
37292
37293         bootstrap: interoperate with gettext 0.14.1
37294         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
37295
37296         bootstrap: allow for alternate submodule location
37297         * build-aux/bootstrap (gnulib_path): New variable; use instead of
37298         hardcoding submodule location.
37299         (gnulib_mk): Allow direct use of Makefile.am.
37300
37301         bootstrap: use GNULIB_SRCDIR to reduce disk usage
37302         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
37303         rather than reconfiguring where the submodule points.
37304
37305         gettimeofday: restore support for platforms that lack function
37306         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
37307         replacement if function is missing.
37308         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
37309         * modules/sys_time (Makefile.am): Substitute it.
37310         * lib/sys_time.in.h (gettimeofday): Check it.
37311         Reported by Michael Goffioul.
37312
37313 2010-02-21  Bruno Haible  <bruno@clisp.org>
37314
37315         * lib/stdio.in.h (obstack_printf): Fix typo.
37316
37317 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
37318
37319         vc-list-files: use bzr ls's -R option
37320         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
37321         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
37322
37323 2010-02-21  Jim Meyering  <meyering@redhat.com>
37324
37325         init.sh: fix EXEEXT shims to work also for names like test-prog
37326         * tests/init.sh: Re-exec a better shell, when needed.
37327         If the current shell lacks support for posix $(...), an init.sh-using
37328         test will now try to find a shell that supports that.  If EXEEXT is
37329         nonempty, we also require support for hyphen-in-alias-name and shell
37330         substitutions like ${var#glob}.  Failure to find such a shell results
37331         in a skipped test.
37332
37333 2010-02-21  Bruno Haible  <bruno@clisp.org>
37334
37335         Really work around around "broken pipe" error message from bash 3.2.
37336         * gnulib-tool (func_reset_sigpipe): Remove function.
37337         (echo): In bash 3.2, define to a function that uses printf.
37338         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
37339
37340 2010-02-20  Bruno Haible  <bruno@clisp.org>
37341
37342         Restore support for automake 1.9.6 with autoconf 2.61.
37343         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
37344         Reported by James Youngman <jay@gnu.org>.
37345
37346 2010-02-20  Bruno Haible  <bruno@clisp.org>
37347
37348         Improve *printf warning condition.
37349         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
37350         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
37351         and the function is overridden due to SIGPIPE emulation.
37352
37353 2010-02-20  Bruno Haible  <bruno@clisp.org>
37354
37355         * lib/stdio.in.h: Tweak comments.
37356
37357 2010-02-19  Bruno Haible  <bruno@clisp.org>
37358
37359         Make it easier to find modules. New gnulib-tool option '--find'.
37360         * gnulib-tool: New option --find.
37361         (func_usage): Document it.
37362         (func_sanitize_modulelist): New function, extracted from
37363         func_all_modules.
37364         (func_all_modules): Invoke it.
37365         * doc/gnulib-tool.texi (Which modules?): New node.
37366
37367 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
37368
37369         * lib/sys_select.in.h: Provide select replacement even if
37370         sys/select.h exists on a system, for Interix.
37371
37372 2010-02-18  Jim Meyering  <meyering@redhat.com>
37373
37374         init.sh: don't use $(...) just yet
37375         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
37376         to accommodate e.g., Solaris' /bin/sh.
37377
37378 2010-02-17  Bruno Haible  <bruno@clisp.org>
37379
37380         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
37381         Reported by Ludovic Courtès <ludo@gnu.org>.
37382
37383 2010-02-16  Simon Josefsson  <simon@josefsson.org>
37384
37385         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
37386         linking with -lintl.
37387
37388 2010-02-17  Simon Josefsson  <simon@josefsson.org>
37389
37390         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
37391         if not provided by the system's netdb.h.  Reported by
37392         ludo@gnu.org (Ludovic Courtès).
37393
37394 2010-02-15  Jim Meyering  <meyering@redhat.com>
37395
37396         init.sh: improve portability and efficiency
37397         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
37398         "dummy" in a for loop.
37399         Use '!', not '^' to select the complement of a character set used
37400         in a "case" statement.
37401         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
37402         Suggestions from Eric Blake.
37403
37404         init.sh: automatically accommodate programs with the .exe suffix
37405         Automatically arrange for an invocation of "prog" to execute the
37406         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
37407         may use the simpler "prog", yet still work when built on a system
37408         that requires specifying the added suffix.
37409         Do this by constructing a function named "prog" that invokes
37410         "prog.exe" for each .exe file in selected directories.
37411         * tests/init.sh (find_exe_basenames_): New function.
37412         (create_exe_shim_functions_): New function.
37413         (path_prepend_): Use it.
37414
37415         maint.mk: mark syntax-check sc_*.m rules as .PHONY
37416         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
37417         "make -t syntax-check" doesn't create a ton of sc_*.m files.
37418
37419 2010-02-14  Jim Meyering  <meyering@redhat.com>
37420
37421         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
37422         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
37423         (sc_prohibit_hash_pjw_without_use): New rule.
37424
37425         maint.mk: allow the default upload destination dir to be overridden
37426         * top/maint.mk (upload_dest_dir_): Define with a default that
37427         preserves the status quo.
37428         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
37429         Reported by Peter Simons.
37430
37431         maint.mk: prohibit inclusion of "hash.h" without_use
37432         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
37433
37434 2010-02-10  Jim Meyering  <meyering@redhat.com>
37435
37436         maint.mk: prohibit inclusion of "ignore-value.h" without_use
37437         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
37438
37439 2010-02-09  Eric Blake  <ebb9@byu.net>
37440         and Bruno Haible  <bruno@clisp.org>
37441
37442         obstack-printf-posix: ensure declaration
37443         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
37444         extracted from gl_FUNC_OBSTACK_PRINTF.
37445         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
37446         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
37447         Likewise.
37448         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
37449         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
37450         0.
37451
37452 2010-02-08  Bruno Haible  <bruno@clisp.org>
37453
37454         gnulib-tool: Fix typo in 2010-02-07 commit.
37455         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
37456         Reported by Eric Blake.
37457
37458 2010-02-07  Bruno Haible  <bruno@clisp.org>
37459
37460         gnulib-tool: Fix up caching patches.
37461         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
37462         option --no-cache. Use associative arrays when supported by the shell.
37463         (sed_comments): New variable.
37464         (modcache): Renamed from do_cache.
37465         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
37466         abbreviate unnecessarily.
37467         (have_associative): New variable.
37468         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
37469         way also for ksh and zsh.
37470         (func_init_sed_convert_to_cache_statements): New function, extracted
37471         from func_cache_lookup_module. Add support for associative arrays.
37472         Don't set the c_MODULE_cached variable here. Ignore all lines before
37473         the first field header. Remove only the final newline, not all trailing
37474         newlines. Support empty fields correctly. Limit the use of 'eval' to
37475         assignments.
37476         (func_get_description, func_get_status, func_get_notice,
37477         func_get_applicability, func_get_filelist, func_get_dependencies,
37478         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
37479         func_get_automake_snippet, func_get_include_directive,
37480         func_get_link_directive, func_get_license, func_get_maintainer):
37481         Update documentation. List the unoptimized code first. Add support for
37482         associative arrays. Limit the use of 'eval' to assignments.
37483         (func_get_applicability): Undo stylistic pessimisations.
37484         (func_get_automake_snippet, func_get_include_directive): Reduce code
37485         duplication.
37486         (func_modules_transitive_closure, func_modules_add_dummy,
37487         func_modules_notice, func_modules_to_filelist, func_add_file,
37488         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
37489         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
37490         func_create_testdir, func_create_megatestdir): Update documentation.
37491
37492 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37493
37494         * gnulib-tool (func_cache_lookup_module): Store the module name
37495         belonging to the cache variable; error out if two different
37496         module names map to the same cache variable name.
37497
37498 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37499
37500         gnulib-tool: Make caching optional.
37501         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
37502         Update matching short versions of --no-changelog.
37503         (func_usage): Update.
37504         (sed_extract_cache_prog): Renamed from ...
37505         (sed_extract_prog): ... this; revert to old extraction script.
37506         (func_get_description, func_get_status)
37507         (func_get_notice, func_get_applicability, func_get_filelist)
37508         (func_get_dependencies, func_get_autoconf_early_snippet)
37509         (func_get_autoconf_snippet, func_get_automake_snippet)
37510         (func_get_include_directive, func_get_link_directive)
37511         (func_get_license, func_get_maintainer): If $do_cache is false,
37512         use old, non-caching extraction scripts.
37513         Suggestion by Bruno Haible.
37514
37515 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37516
37517         gnulib-tool: cache module metainformation.
37518         * gnulib-tool (sed_extract_prog): Match newline before each
37519         header, and rewrite header to a shell variable suffix.
37520         (func_cache_var, func_cache_lookup_module): New functions,
37521         to turn a module name into a cache variable prefix, and to
37522         look up and cache module metainformation.
37523         (func_get_description, func_get_status)
37524         (func_get_notice, func_get_applicability, func_get_filelist)
37525         (func_get_dependencies, func_get_autoconf_early_snippet)
37526         (func_get_autoconf_snippet, func_get_automake_snippet)
37527         (func_get_include_directive, func_get_link_directive)
37528         (func_get_license, func_get_maintainer): Use
37529         func_cache_lookup_module.
37530
37531 2010-02-07  Bruno Haible  <bruno@clisp.org>
37532
37533         fnctl: Fix missing dependency.
37534         * modules/fcntl (Depends-on): Add getdtablesize.
37535         Reported by John W. Eaton <jwe@gnu.org>.
37536
37537 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37538
37539         Argp: fix recognition of short alias options.
37540
37541         * lib/argp-parse.c (convert_options): Fix improper use of
37542         `|' between character values.
37543         * tests/test-argp.c (group1_option): New alias option
37544         --read (-r).
37545         (group1_parser): Special handling for 'r'.
37546         (test15): New test case.
37547         (test_fun): Add test15.
37548         * tests/test-argp-2.sh: Update expected --help and --usage
37549         outputs.
37550
37551 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37552
37553         * tests/test-argp.c: Fix indentation.
37554
37555 2010-02-04  Eric Blake  <ebb9@byu.net>
37556
37557         gettimeofday: expose type of second argument
37558         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
37559         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
37560         * tests/test-gettimeofday.c: Use it to silence warning.
37561         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
37562         the issue.
37563
37564 2010-02-03  Jim Meyering  <meyering@redhat.com>
37565
37566         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
37567         * lib/regcomp.c (TYPE_SIGNED): Define.
37568         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
37569
37570         regcomp.c: avoid a new -Wshadow warning
37571         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
37572
37573 2010-02-01  Jim Meyering  <meyering@redhat.com>
37574
37575         removing useless parentheses in cpp #define directives
37576         For motivation, see commit c0221df4, "define STREQ(a,b)
37577         consistently, removing useless parentheses"
37578         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
37579         * lib/mountlist.c (MNT_IGNORE): Likewise.
37580         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
37581
37582 2010-02-01  Eric Blake  <ebb9@byu.net>
37583
37584         sys_time: use link-warning
37585         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
37586         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
37587         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
37588         * modules/sys_time (Depends-on): Add warn-on-use.
37589         (Makefile.am): Always build replacement.
37590         (configure.ac): Update substitutions.
37591         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
37592         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
37593         bother with SYS_TIME_H.
37594         * modules/gettimeofday (configure.ac): Declare indicator.
37595         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
37596         in use.
37597
37598         closein-tests: silence compiler warning
37599         * tests/test-closein.c (main): Ignore fread result.
37600         * modules/closein-tests (Depends-on): Add ignore-value.
37601
37602         tests: silence warning about system return
37603         * tests/test-areadlink-with-size.c (main): Ignore system result.
37604         * tests/test-areadlink.c (main): Likewise.
37605         * tests/test-areadlinkat-with-size.c (main): Likewise.
37606         * tests/test-areadlinkat.c (main): Likewise.
37607         * tests/test-canonicalize-lgpl.c (main): Likewise.
37608         * tests/test-canonicalize.c (main): Likewise.
37609         * tests/test-chown.c (main): Likewise.
37610         * tests/test-fchownat.c (main): Likewise.
37611         * tests/test-fdutimensat.c (main): Likewise.
37612         * tests/test-fstatat.c (main): Likewise.
37613         * tests/test-futimens.c (main): Likewise.
37614         * tests/test-lchown.c (main): Likewise.
37615         * tests/test-link.c (main): Likewise.
37616         * tests/test-linkat.c (main): Likewise.
37617         * tests/test-lstat.c (main): Likewise.
37618         * tests/test-mkdir.c (main): Likewise.
37619         * tests/test-mkdirat.c (main): Likewise.
37620         * tests/test-mkfifo.c (main): Likewise.
37621         * tests/test-mkfifoat.c (main): Likewise.
37622         * tests/test-mknod.c (main): Likewise.
37623         * tests/test-readlink.c (main): Likewise.
37624         * tests/test-remove.c (main): Likewise.
37625         * tests/test-rename.c (main): Likewise.
37626         * tests/test-renameat.c (main): Likewise.
37627         * tests/test-rmdir.c (main): Likewise.
37628         * tests/test-symlink.c (main): Likewise.
37629         * tests/test-symlinkat.c (main): Likewise.
37630         * tests/test-unlink.c (main): Likewise.
37631         * tests/test-unlinkat.c (main): Likewise.
37632         * tests/test-utimens.c (main): Likewise.
37633         * tests/test-utimensat.c (main): Likewise.
37634         * modules/areadlink-tests (Depends-on): Add ignore-value.
37635         * modules/areadlink-with-size-tests (Depends-on): Likewise.
37636         * modules/areadlinkat-tests (Depends-on): Likewise.
37637         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
37638         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37639         * modules/canonicalize-tests (Depends-on): Likewise.
37640         * modules/chown-tests (Depends-on): Likewise.
37641         * modules/fdutimensat-tests (Depends-on): Likewise.
37642         * modules/futimens-tests (Depends-on): Likewise.
37643         * modules/lchown-tests (Depends-on): Likewise.
37644         * modules/link-tests (Depends-on): Likewise.
37645         * modules/linkat-tests (Depends-on): Likewise.
37646         * modules/lstat-tests (Depends-on): Likewise.
37647         * modules/mkdir-tests (Depends-on): Likewise.
37648         * modules/mkfifo-tests (Depends-on): Likewise.
37649         * modules/mkfifoat-tests (Depends-on): Likewise.
37650         * modules/mknod-tests (Depends-on): Likewise.
37651         * modules/openat-tests (Depends-on): Likewise.
37652         * modules/readlink-tests (Depends-on): Likewise.
37653         * modules/remove-tests (Depends-on): Likewise.
37654         * modules/rename-tests (Depends-on): Likewise.
37655         * modules/renameat-tests (Depends-on): Likewise.
37656         * modules/rmdir-tests (Depends-on): Likewise.
37657         * modules/symlink-tests (Depends-on): Likewise.
37658         * modules/symlinkat-tests (Depends-on): Likewise.
37659         * modules/unlink-tests (Depends-on): Likewise.
37660         * modules/utimens-tests (Depends-on): Likewise.
37661         * modules/utimensat-tests (Depends-on): Likewise.
37662
37663 2010-01-31  Bruno Haible  <bruno@clisp.org>
37664
37665         Perform the same test for many <math.h> functions.
37666         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
37667         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
37668         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
37669         of gl_MATHFUNC.
37670         * modules/acos (configure.ac): Likewise.
37671         * modules/asin (configure.ac): Likewise.
37672         * modules/atan (configure.ac): Likewise.
37673         * modules/atan2 (configure.ac): Likewise.
37674         * modules/cbrt (configure.ac): Likewise.
37675         * modules/copysign (configure.ac): Likewise.
37676         * modules/cos (configure.ac): Likewise.
37677         * modules/cosh (configure.ac): Likewise.
37678         * modules/erf (configure.ac): Likewise.
37679         * modules/erfc (configure.ac): Likewise.
37680         * modules/exp (configure.ac): Likewise.
37681         * modules/fmod (configure.ac): Likewise.
37682         * modules/hypot (configure.ac): Likewise.
37683         * modules/j0 (configure.ac): Likewise.
37684         * modules/j1 (configure.ac): Likewise.
37685         * modules/jn (configure.ac): Likewise.
37686         * modules/lgamma (configure.ac): Likewise.
37687         * modules/log (configure.ac): Likewise.
37688         * modules/log10 (configure.ac): Likewise.
37689         * modules/log1p (configure.ac): Likewise.
37690         * modules/pow (configure.ac): Likewise.
37691         * modules/remainder (configure.ac): Likewise.
37692         * modules/sin (configure.ac): Likewise.
37693         * modules/sinh (configure.ac): Likewise.
37694         * modules/tan (configure.ac): Likewise.
37695         * modules/tanh (configure.ac): Likewise.
37696         * modules/y0 (configure.ac): Likewise.
37697         * modules/y1 (configure.ac): Likewise.
37698         * modules/yn (configure.ac): Likewise.
37699         Suggested by Paolo Bonzini.
37700
37701 2010-01-31  Bruno Haible  <bruno@clisp.org>
37702
37703         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
37704
37705 2010-01-31  Bruno Haible  <bruno@clisp.org>
37706
37707         Work around getdelim() bug on FreeBSD 8.0.
37708         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
37709         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
37710         not work.
37711         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
37712         is 1.
37713         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
37714         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
37715         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
37716         a non-zero size.
37717         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
37718
37719 2010-01-31  Bruno Haible  <bruno@clisp.org>
37720
37721         Work around getline() bug on FreeBSD 8.0.
37722         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
37723         and a non-zero size.
37724         * tests/test-getline.c (main): Likewise.
37725         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
37726         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
37727
37728 2010-01-28  Eric Blake  <ebb9@byu.net>
37729
37730         regex: fix build failure
37731         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
37732         platforms.
37733
37734 2010-01-28  Jim Meyering  <meyering@redhat.com>
37735
37736         regex: do not ignore memory allocation failure
37737         * lib/regex_internal.c (create_cd_newstate): Detect
37738         re_node_set_init_copy failure.   Extracted from glibc commit
37739         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37740
37741         regex: sync more white-space changes from libc
37742         * lib/regex_internal.c: White-space only changes.
37743         * lib/regexec.c: Likewise.
37744
37745         regex: add many uses of __attribute_warn_unused_result__
37746         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
37747         * lib/regexec.c: Likewise.
37748         Extracted from a messy glibc commit.
37749
37750         regcomp.c: spelling and merge-artifact from glibc
37751         * lib/regcomp.c: Merge remainder of glibc's
37752         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37753
37754         regcomp.c: sync white-space changes from glibc
37755         * lib/regcomp.c: Merge to accommodate white space
37756         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37757
37758         regcomp.c: do not ignore internal return values
37759         * lib/regcomp.c: Do not ignore internal return values.
37760         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
37761         but without its white-space changes and spelling fixes.
37762
37763         regex_internal.h: define __attribute_warn_unused_result__
37764         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
37765
37766         maint: add a syntax-check rule to check for vulnerable Makefile.in
37767         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
37768
37769 2010-01-27  Jim Meyering  <meyering@redhat.com>
37770
37771         ncftpput-ftp: clean up spaces
37772         * build-aux/ncftpput-ftp: Make Copyright line consistent.
37773         Remove trailing blanks.
37774
37775 2010-01-27  Simon Josefsson  <simon@josefsson.org>
37776
37777         * build-aux/git-version-gen: Fix copyright statement.
37778         * build-aux/gnupload: Likewise.
37779         * tests/test-arcfour.c: Likewise.
37780         * tests/test-arctwo.c: Likewise.
37781         * tests/test-count-one-bits.c: Likewise.
37782         * tests/test-crc.c: Likewise.
37783         * tests/test-des.c: Likewise.
37784         * tests/test-gc-arcfour.c: Likewise.
37785         * tests/test-gc-arctwo.c: Likewise.
37786         * tests/test-gc-des.c: Likewise.
37787         * tests/test-gc-hmac-md5.c: Likewise.
37788         * tests/test-gc-hmac-sha1.c: Likewise.
37789         * tests/test-gc-md2.c: Likewise.
37790         * tests/test-gc-md4.c: Likewise.
37791         * tests/test-gc-md5.c: Likewise.
37792         * tests/test-gc-pbkdf2-sha1.c: Likewise.
37793         * tests/test-gc-rijndael.c: Likewise.
37794         * tests/test-gc-sha1.c: Likewise.
37795         * tests/test-gc.c: Likewise.
37796         * tests/test-gethostname.c: Likewise.
37797         * tests/test-gettimeofday.c: Likewise.
37798         * tests/test-hash.c: Likewise.
37799         * tests/test-hmac-md5.c: Likewise.
37800         * tests/test-hmac-sha1.c: Likewise.
37801         * tests/test-md2.c: Likewise.
37802         * tests/test-md4.c: Likewise.
37803         * tests/test-md5.c: Likewise.
37804         * tests/test-memchr.c: Likewise.
37805         * tests/test-memchr2.c: Likewise.
37806         * tests/test-memcmp.c: Likewise.
37807         * tests/test-memmem.c: Likewise.
37808         * tests/test-memrchr.c: Likewise.
37809         * tests/test-rawmemchr.c: Likewise.
37810         * tests/test-read-file.c: Likewise.
37811         * tests/test-rijndael.c: Likewise.
37812         * tests/test-sockets.c: Likewise.
37813         * tests/test-strchrnul.c: Likewise.
37814         * tests/test-strstr.c: Likewise.
37815         * tests/test-strtod.c: Likewise.
37816         * build-aux/ncftpput-ftp: Likewise.
37817
37818 2010-01-26  Eric Blake  <ebb9@byu.net>
37819
37820         ignore-value: update recommended header name
37821         * modules/ignore-value (Include): Only use <> for headers that
37822         exist in glibc.
37823
37824 2010-01-26  Jim Meyering  <meyering@redhat.com>
37825
37826         test-userspec.c: avoid compiler warnings
37827         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
37828         and "initialization discards qualifiers..." warnings.
37829         Put the first "uid" in its own scope, and make char* members "const".
37830
37831 2010-01-25  Bruno Haible  <bruno@clisp.org>
37832
37833         gnulib-tool: Make warning diagnostics consistent.
37834         * gnulib-tool (func_warning): New function.
37835         Use it everywhere where gnulib-tool produces output to stderr and it is
37836         not a fatal error.
37837
37838 2010-01-25  Bruno Haible  <bruno@clisp.org>
37839
37840         Fix test dependencies.
37841         * modules/xstrtol-tests (Depends-on): Add inttypes.
37842         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
37843
37844 2010-01-25 Pádraig Brady <P@draigBrady.com>
37845
37846         syntax-check: detect incorrect boolean macro values in config.h
37847         * modules/maintainer-makefile (configure.ac): Parameterize the location
37848         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
37849         The logic is from Eric Blake and the location indicated by Jim Meyering.
37850         Note the more natural CONFIG_HEADER name is prohibited by automake
37851         for backwards compatibility reasons.
37852         * top/maint.mk (sc_Wundef_boolean): New rule.
37853
37854 2010-01-25  Jim Meyering  <meyering@redhat.com>
37855
37856         bootstrap: detect MacOS 10.6's shasum, too
37857         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
37858         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
37859
37860 2010-01-23  Jim Meyering  <meyering@redhat.com>
37861
37862         xstrtoll: new module
37863         * modules/xstrtoll: New file.
37864         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
37865         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
37866         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
37867         ./configure fails if you use this module and lack "long long".
37868         * modules/xstrtoll-tests: New module.
37869         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
37870         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
37871         new init.sh-based test framework.
37872
37873 2010-01-24  Bruno Haible  <bruno@clisp.org>
37874
37875         Tests for module 'yn'.
37876         * modules/yn-tests: New file.
37877         * tests/test-yn.c: New file.
37878
37879         Tests for module 'y1'.
37880         * modules/y1-tests: New file.
37881         * tests/test-y1.c: New file.
37882
37883         Tests for module 'y0'.
37884         * modules/y0-tests: New file.
37885         * tests/test-y0.c: New file.
37886
37887         Tests for module 'tanh'.
37888         * modules/tanh-tests: New file.
37889         * tests/test-tanh.c: New file.
37890
37891         Tests for module 'tan'.
37892         * modules/tan-tests: New file.
37893         * tests/test-tan.c: New file.
37894
37895         Tests for module 'sqrt'.
37896         * modules/sqrt-tests: New file.
37897         * tests/test-sqrt.c: New file.
37898
37899         Tests for module 'sinh'.
37900         * modules/sinh-tests: New file.
37901         * tests/test-sinh.c: New file.
37902
37903         Tests for module 'sin'.
37904         * modules/sin-tests: New file.
37905         * tests/test-sin.c: New file.
37906
37907         Tests for module 'rint'.
37908         * modules/rint-tests: New file.
37909         * tests/test-rint.c: New file.
37910
37911         Tests for module 'remainder'.
37912         * modules/remainder-tests: New file.
37913         * tests/test-remainder.c: New file.
37914
37915         Tests for module 'pow'.
37916         * modules/pow-tests: New file.
37917         * tests/test-pow.c: New file.
37918
37919         Tests for module 'nextafter'.
37920         * modules/nextafter-tests: New file.
37921         * tests/test-nextafter.c: New file.
37922
37923         Tests for module 'modf'.
37924         * modules/modf-tests: New file.
37925         * tests/test-modf.c: New file.
37926
37927         Tests for module 'logb'.
37928         * modules/logb-tests: New file.
37929         * tests/test-logb.c: New file.
37930
37931         Tests for module 'log1p'.
37932         * modules/log1p-tests: New file.
37933         * tests/test-log1p.c: New file.
37934
37935         Tests for module 'log10'.
37936         * modules/log10-tests: New file.
37937         * tests/test-log10.c: New file.
37938
37939         Tests for module 'log'.
37940         * modules/log-tests: New file.
37941         * tests/test-log.c: New file.
37942
37943         Tests for module 'lgamma'.
37944         * modules/lgamma-tests: New file.
37945         * tests/test-lgamma.c: New file.
37946
37947         Tests for module 'ldexp'.
37948         * modules/ldexp-tests: New file.
37949         * tests/test-ldexp.c: New file.
37950
37951         Tests for module 'jn'.
37952         * modules/jn-tests: New file.
37953         * tests/test-jn.c: New file.
37954
37955         Tests for module 'j1'.
37956         * modules/j1-tests: New file.
37957         * tests/test-j1.c: New file.
37958
37959         Tests for module 'j0'.
37960         * modules/j0-tests: New file.
37961         * tests/test-j0.c: New file.
37962
37963         Tests for module 'hypot'.
37964         * modules/hypot-tests: New file.
37965         * tests/test-hypot.c: New file.
37966
37967         Tests for module 'fmod'.
37968         * modules/fmod-tests: New file.
37969         * tests/test-fmod.c: New file.
37970
37971         Tests for module 'fabs'.
37972         * modules/fabs-tests: New file.
37973         * tests/test-fabs.c: New file.
37974
37975         Tests for module 'exp'.
37976         * modules/exp-tests: New file.
37977         * tests/test-exp.c: New file.
37978
37979         Tests for module 'erfc'.
37980         * modules/erfc-tests: New file.
37981         * tests/test-erfc.c: New file.
37982
37983         Tests for module 'erf'.
37984         * modules/erf-tests: New file.
37985         * tests/test-erf.c: New file.
37986
37987         Tests for module 'cosh'.
37988         * modules/cosh-tests: New file.
37989         * tests/test-cosh.c: New file.
37990
37991         Tests for module 'cos'.
37992         * modules/cos-tests: New file.
37993         * tests/test-cos.c: New file.
37994
37995         Tests for module 'copysign'.
37996         * modules/copysign-tests: New file.
37997         * tests/test-copysign.c: New file.
37998
37999         Tests for module 'cbrt'.
38000         * modules/cbrt-tests: New file.
38001         * tests/test-cbrt.c: New file.
38002
38003         Tests for module 'atan2'.
38004         * modules/atan2-tests: New file.
38005         * tests/test-atan2.c: New file.
38006
38007         Tests for module 'atan'.
38008         * modules/atan-tests: New file.
38009         * tests/test-atan.c: New file.
38010
38011         Tests for module 'asin'.
38012         * modules/asin-tests: New file.
38013         * tests/test-asin.c: New file.
38014
38015         Tests for module 'acos'.
38016         * modules/acos-tests: New file.
38017         * tests/test-acos.c: New file.
38018
38019 2010-01-24  Bruno Haible  <bruno@clisp.org>
38020
38021         Fix tests for common <math.h> functions.
38022         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
38023         code snippet that references the function pointer, rather than merely
38024         calling the function. Substitute the FUNC_LIBM variable.
38025         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
38026         * modules/acos (configure.ac): Likewise.
38027         * modules/asin (configure.ac): Likewise.
38028         * modules/atan (configure.ac): Likewise.
38029         * modules/atan2 (configure.ac): Likewise.
38030         * modules/cbrt (configure.ac): Likewise.
38031         * modules/copysign (configure.ac): Likewise.
38032         * modules/cos (configure.ac): Likewise.
38033         * modules/cosh (configure.ac): Likewise.
38034         * modules/erf (configure.ac): Likewise.
38035         * modules/erfc (configure.ac): Likewise.
38036         * modules/exp (configure.ac): Likewise.
38037         * modules/fabs (configure.ac): Likewise.
38038         * modules/fmod (configure.ac): Likewise.
38039         * modules/hypot (configure.ac): Likewise.
38040         * modules/j0 (configure.ac): Likewise.
38041         * modules/j1 (configure.ac): Likewise.
38042         * modules/jn (configure.ac): Likewise.
38043         * modules/ldexp (configure.ac): Likewise.
38044         * modules/lgamma (configure.ac): Likewise.
38045         * modules/log (configure.ac): Likewise.
38046         * modules/log10 (configure.ac): Likewise.
38047         * modules/log1p (configure.ac): Likewise.
38048         * modules/logb (configure.ac): Likewise.
38049         * modules/modf (configure.ac): Likewise.
38050         * modules/nextafter (configure.ac): Likewise.
38051         * modules/pow (configure.ac): Likewise.
38052         * modules/remainder (configure.ac): Likewise.
38053         * modules/rint (configure.ac): Likewise.
38054         * modules/sin (configure.ac): Likewise.
38055         * modules/sinh (configure.ac): Likewise.
38056         * modules/tan (configure.ac): Likewise.
38057         * modules/tanh (configure.ac): Likewise.
38058         * modules/y0 (configure.ac): Likewise.
38059         * modules/y1 (configure.ac): Likewise.
38060         * modules/yn (configure.ac): Likewise.
38061
38062 2010-01-24  Bruno Haible  <bruno@clisp.org>
38063
38064         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
38065         * tests/test-acosl.c (x): New variable.
38066         (main): Store argument in x and fetch it from x.
38067         * tests/test-asinl.c (x): New variable.
38068         (main): Store argument in x and fetch it from x.
38069         * tests/test-atanl.c (x): New variable.
38070         (main): Store argument in x and fetch it from x.
38071         * tests/test-cosl.c (x): New variable.
38072         (main): Store argument in x and fetch it from x.
38073         * tests/test-expl.c (x): New variable.
38074         (main): Store argument in x and fetch it from x.
38075         * tests/test-logl.c (x): New variable.
38076         (main): Store argument in x and fetch it from x.
38077         * tests/test-sinl.c (x): New variable.
38078         (main): Store argument in x and fetch it from x.
38079         * tests/test-sqrtl.c (x): New variable.
38080         (main): Store argument in x and fetch it from x.
38081         * tests/test-tanl.c (x): New variable.
38082         (main): Store argument in x and fetch it from x.
38083
38084 2010-01-24  Bruno Haible  <bruno@clisp.org>
38085
38086         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
38087         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
38088         assignments to the initial TESTS_ENVIRONMENT.
38089         * doc/gnulib.texi (Unit test modules): Document it.
38090         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
38091         TESTS_ENVIRONMENT.
38092         * modules/btowc-tests (Makefile.am): Likewise.
38093         * modules/c-stack-tests (Makefile.am): Likewise.
38094         * modules/c-strcase-tests (Makefile.am): Likewise.
38095         * modules/copy-file-tests (Makefile.am): Likewise.
38096         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
38097         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
38098         * modules/mbrtowc-tests (Makefile.am): Likewise.
38099         * modules/mbscasecmp-tests (Makefile.am): Likewise.
38100         * modules/mbscasestr-tests (Makefile.am): Likewise.
38101         * modules/mbschr-tests (Makefile.am): Likewise.
38102         * modules/mbscspn-tests (Makefile.am): Likewise.
38103         * modules/mbsinit-tests (Makefile.am): Likewise.
38104         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
38105         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
38106         * modules/mbspbrk-tests (Makefile.am): Likewise.
38107         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
38108         * modules/mbsrchr-tests (Makefile.am): Likewise.
38109         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
38110         * modules/mbsspn-tests (Makefile.am): Likewise.
38111         * modules/mbsstr-tests (Makefile.am): Likewise.
38112         * modules/nl_langinfo-tests (Makefile.am): Likewise.
38113         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
38114         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
38115         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
38116         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
38117         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
38118         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
38119         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
38120         * modules/wcrtomb-tests (Makefile.am): Likewise.
38121         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
38122         * modules/wcsrtombs-tests (Makefile.am): Likewise.
38123         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
38124         assignments from TESTS_ENVIRONMENT.
38125         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
38126         augmentation.
38127         * modules/argp-version-etc-tests (Makefile.am): Likewise.
38128         * modules/atexit-tests (Makefile.am): Likewise.
38129         * modules/binary-io-tests (Makefile.am): Likewise.
38130         * modules/closein-tests (Makefile.am): Likewise.
38131         * modules/dprintf-posix-tests (Makefile.am): Likewise.
38132         * modules/exclude-tests (Makefile.am): Likewise.
38133         * modules/fflush-tests (Makefile.am): Likewise.
38134         * modules/fpending-tests (Makefile.am): Likewise.
38135         * modules/fprintf-posix-tests (Makefile.am): Likewise.
38136         * modules/freadahead-tests (Makefile.am): Likewise.
38137         * modules/freadptr-tests (Makefile.am): Likewise.
38138         * modules/freadseek-tests (Makefile.am): Likewise.
38139         * modules/fseek-tests (Makefile.am): Likewise.
38140         * modules/fseeko-tests (Makefile.am): Likewise.
38141         * modules/ftell-tests (Makefile.am): Likewise.
38142         * modules/ftello-tests (Makefile.am): Likewise.
38143         * modules/idpriv-drop-tests (Makefile.am): Likewise.
38144         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
38145         * modules/lseek-tests (Makefile.am): Likewise.
38146         * modules/parse-duration-tests (Makefile.am): Likewise.
38147         * modules/perror-tests (Makefile.am): Likewise.
38148         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
38149         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
38150         * modules/pipe-tests (Makefile.am): Likewise.
38151         * modules/pread-tests (Makefile.am): Likewise.
38152         * modules/printf-posix-tests (Makefile.am): Likewise.
38153         * modules/select-tests (Makefile.am): Likewise.
38154         * modules/sigpipe-tests (Makefile.am): Likewise.
38155         * modules/tsearch-tests (Makefile.am): Likewise.
38156         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
38157         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
38158         * modules/uniname/uniname-tests (Makefile.am): Likewise.
38159         * modules/uniwidth/width-tests (Makefile.am): Likewise.
38160         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
38161         * modules/version-etc-tests (Makefile.am): Likewise.
38162         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
38163         * modules/vprintf-posix-tests (Makefile.am): Likewise.
38164         * modules/xalloc-die-tests (Makefile.am): Likewise.
38165         * modules/xprintf-posix-tests (Makefile.am): Likewise.
38166         * modules/xstrtoimax-tests (Makefile.am): Likewise.
38167         * modules/xstrtol-tests (Makefile.am): Likewise.
38168         * modules/xstrtoumax-tests (Makefile.am): Likewise.
38169         * modules/yesno-tests (Makefile.am): Likewise.
38170         Suggested by Jim Meyering.
38171
38172 2010-01-24  Bruno Haible  <bruno@clisp.org>
38173
38174         More documentation.
38175         * doc/gnulib.texi (Writing modules): New chapter.
38176         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
38177         the new chapter.
38178
38179 2010-01-24  Jim Meyering  <meyering@redhat.com>
38180
38181         maint.mk: do not prepend "./" after filtering
38182         * top/maint.mk (_prepend_srcdir_prefix): New variable
38183         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
38184         "./" when $(srcdir) is ".".
38185
38186         define STREQ(a,b) consistently, removing useless parentheses
38187         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
38188         since the only risk is that "a" or "b" contains an unparenthesized
38189         comma, but if either did that, STREQ would have 3 or more arguments.
38190         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
38191         * lib/fts.c (STREQ): Remove unnecessary parentheses.
38192         * lib/hash-triple.c (STREQ): Likewise.
38193         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
38194         * lib/getugroups.c (STREQ): Likewise.
38195
38196 2010-01-23  Jim Meyering  <meyering@redhat.com>
38197
38198         maint.mk: fix syntax-check in a non-srcdir build directory
38199         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
38200         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
38201
38202 2010-01-22  Jim Meyering  <meyering@redhat.com>
38203
38204         userspec: add unit tests
38205         * tests/test-userspec.c: New file.
38206         * modules/userspec-tests: Likewise.
38207
38208 2010-01-21  Jim Meyering  <meyering@redhat.com>
38209
38210         maint.mk: handle source file names containing "." robustly
38211         * top/maint.mk (_dot_escaped_srcdir): Define.
38212         (VC_LIST): Use it in LHS of sed substitution.
38213
38214 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
38215
38216         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
38217         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
38218         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
38219         from a non-srcdir build.
38220
38221 2010-01-20  Eric Blake  <ebb9@byu.net>
38222
38223         warn-on-use: use instead of link-warning
38224         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
38225         * modules/unistd (Depends-on, Makefile.am): Likewise.
38226         * modules/arpa_inet (Depends-on): Replace link-warning with
38227         warn-on-use.
38228         (Makefile.am): Update rules accordingly.
38229         * modules/ctype (Depends-on, Makefile.am): Likewise.
38230         * modules/dirent (Depends-on, Makefile.am): Likewise.
38231         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
38232         * modules/inttypes (Depends-on, Makefile.am): Likewise.
38233         * modules/langinfo (Depends-on, Makefile.am): Likewise.
38234         * modules/locale (Depends-on, Makefile.am): Likewise.
38235         * modules/math (Depends-on, Makefile.am): Likewise.
38236         * modules/search (Depends-on, Makefile.am): Likewise.
38237         * modules/signal (Depends-on, Makefile.am): Likewise.
38238         * modules/spawn (Depends-on, Makefile.am): Likewise.
38239         * modules/stdlib (Depends-on, Makefile.am): Likewise.
38240         * modules/string (Depends-on, Makefile.am): Likewise.
38241         * modules/strings (Depends-on, Makefile.am): Likewise.
38242         * modules/sys_file (Depends-on, Makefile.am): Likewise.
38243         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
38244         * modules/sys_select (Depends-on, Makefile.am): Likewise.
38245         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
38246         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
38247         * modules/sys_times (Depends-on, Makefile.am): Likewise.
38248         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
38249         * modules/wchar (Depends-on, Makefile.am): Likewise.
38250         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
38251         should be poisoned.
38252         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
38253         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
38254         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
38255         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
38256         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
38257         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
38258         * m4/math_h.m4 (gl_MATH_H): Likewise.
38259         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
38260         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
38261         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
38262         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
38263         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
38264         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
38265         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
38266         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
38267         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
38268         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38269         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
38270         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
38271         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
38272         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
38273         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
38274         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
38275         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
38276         GL_LINK_WARNING.
38277         * lib/ctype.in.h: Likewise.
38278         * lib/dirent.in.h: Likewise.
38279         * lib/fcntl.in.h: Likewise.
38280         * lib/inttypes.in.h: Likewise.
38281         * lib/langinfo.in.h: Likewise.
38282         * lib/locale.in.h: Likewise.
38283         * lib/math.in.h: Likewise.
38284         * lib/search.in.h: Likewise.
38285         * lib/signal.in.h: Likewise.
38286         * lib/spawn.in.h: Likewise.
38287         * lib/stdio.in.h: Likewise.
38288         * lib/stdlib.in.h: Likewise.
38289         * lib/string.in.h: Likewise.
38290         * lib/strings.in.h: Likewise.
38291         * lib/sys_file.in.h: Likewise.
38292         * lib/sys_ioctl.in.h: Likewise.
38293         * lib/sys_select.in.h: Likewise.
38294         * lib/sys_socket.in.h: Likewise.
38295         * lib/sys_stat.in.h: Likewise.
38296         * lib/sys_times.in.h: Likewise.
38297         * lib/sys_utsname.in.h: Likewise.
38298         * lib/unistd.in.h: Likewise.
38299         * lib/wchar.in.h: Likewise.
38300
38301 2010-01-20  Bruno Haible  <bruno@clisp.org>
38302
38303         Avoid duplicate -lm.
38304         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
38305         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
38306         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
38307         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
38308         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
38309         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
38310         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
38311         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
38312         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
38313         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
38314         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
38315         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
38316         Reported by Paolo Bonzini.
38317
38318 2010-01-19  Bruno Haible  <bruno@clisp.org>
38319
38320         langinfo, nl_langinfo: Relicense under LGPLv2+.
38321         * modules/langinfo (License): Change to LGPLv2+.
38322         * modules/nl_langinfo (License): Likewise.
38323         Patch by David Lutterkort <lutter@redhat.com>.
38324
38325 2010-01-19  Bruno Haible  <bruno@clisp.org>
38326
38327         Avoid compilation error with cc on OSF/1 5.1.
38328         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
38329         statement, not before.
38330         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38331
38332 2010-01-18  Bruno Haible  <bruno@clisp.org>
38333
38334         Avoid a link error due to the __printf__ symbol.
38335         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
38336         and 2.6.x.
38337         (__format__, __printf__): Remove definitions.
38338         * lib/argp-fmtstream.h: Likewise.
38339         * lib/argp.h: Likewise.
38340         * lib/error.h: Likewise.
38341         * lib/vasnprintf.h: Likewise.
38342         * lib/xprintf.h: Likewise.
38343         * lib/xvasprintf.h: Likewise.
38344         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38345
38346 2010-01-18  Bruno Haible  <bruno@clisp.org>
38347
38348         Tests for module 'tanl'.
38349         * modules/tanl-tests: New file.
38350         * tests/test-tanl.c: New file.
38351
38352         Tests for module 'sqrtl'.
38353         * modules/sqrtl-tests: New file.
38354         * tests/test-sqrtl.c: New file.
38355
38356         Tests for module 'sinl'.
38357         * modules/sinl-tests: New file.
38358         * tests/test-sinl.c: New file.
38359
38360         Tests for module 'logl'.
38361         * modules/logl-tests: New file.
38362         * tests/test-logl.c: New file.
38363
38364         Tests for module 'expl'.
38365         * modules/expl-tests: New file.
38366         * tests/test-expl.c: New file.
38367
38368         Tests for module 'cosl'.
38369         * modules/cosl-tests: New file.
38370         * tests/test-cosl.c: New file.
38371
38372         Tests for module 'atanl'.
38373         * modules/atanl-tests: New file.
38374         * tests/test-atanl.c: New file.
38375
38376         Tests for module 'asinl'.
38377         * modules/asinl-tests: New file.
38378         * tests/test-asinl.c: New file.
38379
38380         Tests for module 'acosl'.
38381         * modules/acosl-tests: New file.
38382         * tests/test-acosl.c: New file.
38383
38384         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
38385         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
38386         tanl): Use the standard gnulib idiom.
38387         * lib/cosl.c: Don't include trigl.c and sincosl.c.
38388         * lib/sinl.c: Likewise.
38389         * lib/tanl.c: Don't include trigl.c.
38390         (kernel_tanl): Make static.
38391         * lib/sincosl.c: Include trigl.h first.
38392         * lib/trigl.c: Likewise.
38393         * m4/acosl.m4: New file.
38394         * m4/asinl.m4: New file.
38395         * m4/atanl.m4: New file.
38396         * m4/cosl.m4: New file.
38397         * m4/expl.m4: New file.
38398         * m4/logl.m4: New file.
38399         * m4/sinl.m4: New file.
38400         * m4/sqrtl.m4: New file.
38401         * m4/tanl.m4: New file.
38402         * m4/mathl.m4: Remove file.
38403         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
38404         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
38405         Don't initialize GNULIB_MATHL.
38406         * modules/acosl: New file.
38407         * modules/asinl: New file.
38408         * modules/atanl: New file.
38409         * modules/cosl: New file.
38410         * modules/expl: New file.
38411         * modules/logl: New file.
38412         * modules/sinl: New file.
38413         * modules/sqrtl: New file.
38414         * modules/tanl: New file.
38415         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
38416         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
38417         substitute GNULIB_MATHL.
38418         * modules/mathl: Rewritten.
38419         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
38420         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
38421         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
38422         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
38423         * doc/posix-functions/expl.texi: Mention the 'expl' module.
38424         * doc/posix-functions/logl.texi: Mention the 'logl' module.
38425         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
38426         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
38427         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
38428
38429 2010-01-18  Bruno Haible  <bruno@clisp.org>
38430
38431         sqrt: Make gl_FUNC_SQRT requirable.
38432         * m4/sqrt.m4: New file.
38433         * modules/sqrt (Files): Add it.
38434         (configure.ac): Invoke gl_FUNC_SQRT.
38435
38436 2010-01-18  Bruno Haible  <bruno@clisp.org>
38437
38438         New modules for common <math.h> functions.
38439         * m4/mathfunc.m4: New file.
38440         * modules/acos: New file.
38441         * modules/asin: New file.
38442         * modules/atan: New file.
38443         * modules/atan2: New file.
38444         * modules/cbrt: New file.
38445         * modules/copysign: New file.
38446         * modules/cos: New file.
38447         * modules/cosh: New file.
38448         * modules/erf: New file.
38449         * modules/erfc: New file.
38450         * modules/exp: New file.
38451         * modules/fabs: New file.
38452         * modules/fmod: New file.
38453         * modules/hypot: New file.
38454         * modules/j0: New file.
38455         * modules/j1: New file.
38456         * modules/jn: New file.
38457         * modules/ldexp: New file.
38458         * modules/lgamma: New file.
38459         * modules/log: New file.
38460         * modules/log10: New file.
38461         * modules/log1p: New file.
38462         * modules/logb: New file.
38463         * modules/modf: New file.
38464         * modules/nextafter: New file.
38465         * modules/pow: New file.
38466         * modules/remainder: New file.
38467         * modules/rint: New file.
38468         * modules/sin: New file.
38469         * modules/sinh: New file.
38470         * modules/sqrt: New file.
38471         * modules/tan: New file.
38472         * modules/tanh: New file.
38473         * modules/y0: New file.
38474         * modules/y1: New file.
38475         * modules/yn: New file.
38476         * doc/posix-functions/acos.texi: Mention the 'acos' module.
38477         * doc/posix-functions/asin.texi: Mention the 'asin' module.
38478         * doc/posix-functions/atan.texi: Mention the 'atan' module.
38479         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
38480         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
38481         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
38482         * doc/posix-functions/cos.texi: Mention the 'cos' module.
38483         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
38484         * doc/posix-functions/erf.texi: Mention the 'erf' module.
38485         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
38486         * doc/posix-functions/exp.texi: Mention the 'exp' module.
38487         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
38488         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
38489         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
38490         * doc/posix-functions/j0.texi: Mention the 'j0' module.
38491         * doc/posix-functions/j1.texi: Mention the 'j1' module.
38492         * doc/posix-functions/jn.texi: Mention the 'jn' module.
38493         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
38494         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
38495         * doc/posix-functions/log.texi: Mention the 'log' module.
38496         * doc/posix-functions/log10.texi: Mention the 'log10' module.
38497         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
38498         * doc/posix-functions/logb.texi: Mention the 'logb' module.
38499         * doc/posix-functions/modf.texi: Mention the 'modf' module.
38500         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
38501         * doc/posix-functions/pow.texi: Mention the 'pow' module.
38502         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
38503         * doc/posix-functions/rint.texi: Mention the 'rint' module.
38504         * doc/posix-functions/sin.texi: Mention the 'sin' module.
38505         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
38506         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
38507         * doc/posix-functions/tan.texi: Mention the 'tan' module.
38508         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
38509         * doc/posix-functions/y0.texi: Mention the 'y0' module.
38510         * doc/posix-functions/y1.texi: Mention the 'y1' module.
38511         * doc/posix-functions/yn.texi: Mention the 'yn' module.
38512
38513 2010-01-18  Jim Meyering  <meyering@redhat.com>
38514
38515         ignore-value: relax license to LGPLv2+
38516         * modules/ignore-value (License): Relax to LGPLv2+.
38517
38518         getdate: don't leak when TZ contains two or more '"'s
38519         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
38520         double quote in TZ after the first one.
38521
38522         readtokens: do not leak internal token_lengths buffer
38523         * lib/readtokens.c (readtokens): Free the local, lengths,
38524         when the supplied "token_lengths" parameter is NULL.
38525
38526 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38527
38528         Fix a couple of missing LIBTHREAD link failures on AIX.
38529         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
38530         $(LIBTHREAD).
38531         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
38532
38533         Link test-poll against INET_PTON_LIB.
38534         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
38535         for inet_pton on Solaris 10.
38536
38537 2010-01-17  Bruno Haible  <bruno@clisp.org>
38538
38539         unistdio/*-sprintf: Fix typo in module description.
38540         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
38541         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
38542         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
38543         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
38544         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
38545         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
38546         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
38547         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38548
38549 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38550
38551         gnulib-tool: fix filelist for AIX, HP-UX ksh.
38552         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
38553         variables in shell case patterns, for AIX and HP-UX ksh.
38554
38555         Split large sed scripts, for HP-UX sed.
38556         * modules/stdio: Split sed scripts around 50 sed commands,
38557         to avoid HP-UX limit of 99 commands, in the near future.
38558         * modules/string: Likewise.
38559         * modules/unistd: Likewise.
38560
38561         gnulib-tool: avoid writing in the current directory.
38562         * gnulib-tool (func_emit_lib_Makefile_am)
38563         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
38564         not in the current directory, so concurrent gnulib-tool
38565         instances do not interfere.
38566
38567 2010-01-16  Jim Meyering  <meyering@redhat.com>
38568
38569         doc: update users.txt
38570         * users.txt: Add grep.
38571         (diffutils, gzip): Update URLs.
38572
38573 2010-01-12  Bruno Haible  <bruno@clisp.org>
38574
38575         posix_spawn: Avoid test failure on Cygwin.
38576         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
38577         characters.
38578         Reported by Simon Josefsson.
38579
38580 2010-01-12  Bruno Haible  <bruno@clisp.org>
38581
38582         * tests/test-cond.c (main): When skipping the test, show the reason.
38583
38584 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38585
38586         * lib/striconv.c (str_cd_iconv): Avoid if before free.
38587
38588 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38589
38590         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
38591         VC_LIST_ALWAYS_EXCLUDE_REGEX.
38592
38593 2010-01-12  Eric Blake  <ebb9@byu.net>
38594
38595         build: guarantee AS_VAR_IF
38596         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
38597         (gl_AS_VAR_IF): Move...
38598         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
38599         Reported by Simon Josefsson.
38600
38601 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38602
38603         * lib/stdio.in.h: Fix typo.
38604
38605 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38606
38607         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
38608         libgpg-error.
38609
38610 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38611
38612         * tests/test-xalloc-die.sh: Use $EXEEXT.
38613
38614 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38615             Bruno Haible  <bruno@clisp.org>
38616
38617         getlogin, getlogin_r: Avoid test failure.
38618         * tests/test-getlogin.c: Include <stdio.h>.
38619         (main): Skip the test when the function fails because stdin is not a
38620         tty.
38621         * tests/test-getlogin_r.c: Include <stdio.h>.
38622         (main): Skip the test when the function fails because stdin is not a
38623         tty.
38624
38625 2010-01-11  Eric Blake  <ebb9@byu.net>
38626
38627         tests: avoid more large file warnings
38628         * tests/test-fflush.c: Avoid warning about ftell use.
38629         * tests/test-fseek.c: Avoid warning about fseek use.
38630
38631 2010-01-10  Bruno Haible  <bruno@clisp.org>
38632
38633         nproc: Work better on Linux when /proc and /sys are not mounted.
38634         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
38635         as lower bound when, on glibc/Linux systems,
38636         sysconf (_SC_NPROCESSORS_CONF) returns 1.
38637         Suggested by Pádraig Brady <P@draigbrady.com>.
38638         Reported by Dmitry V. Levin <ldv@altlinux.org>.
38639
38640         nproc: Refactor.
38641         * lib/nproc.c (num_processors_via_affinity_mask): New function,
38642         extracted from num_processors.
38643         (num_processors): Call it.
38644
38645 2010-01-11  Jim Meyering  <meyering@redhat.com>
38646
38647         utimecmp: avoid new warning from upcoming gcc-4.5.0
38648         * lib/utimecmp.c (BILLION): Define using #define rather than an
38649         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
38650
38651 2010-01-11  Eric Blake  <ebb9@byu.net>
38652
38653         math: add portability warnings for classification macros
38654         * modules/math (Depends-on): Add warn-on-use.
38655         (Makefile.am): Provide new substitutions.
38656         * m4/math_h.m4 (gl_MATH_H): Require inline.
38657         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
38658         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
38659         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
38660         implement warnings.
38661
38662         unistd: warn on use of environ without module
38663         * modules/unistd (Depends-on): Add warn-on-use.
38664         (Makefile.am): Provide new substitutions.
38665         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
38666         * lib/unistd.in.h (environ): Wrap with a warning helper function.
38667
38668         stdio: warn on suspicious uses
38669         * modules/stdio (Depends-on): Add warn-on-use.
38670         (Makefile.am): Provide new substitutions.
38671         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
38672         fseeko.
38673         * lib/stdio.in.h (gets): Always warn on use.
38674         (fseek, ftell): Adjust when warnings are issued, and honor
38675         _GL_NO_LARGE_FILES as a way to silence the warning.
38676         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
38677         any warning about large file offsets.
38678         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
38679         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
38680         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
38681         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
38682         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
38683         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
38684         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
38685         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
38686
38687         warn-on-use: new module
38688         * modules/warn-on-use: New file.
38689         * build-aux/warn-on-use.h: Likewise.
38690         * m4/warn-on-use.m4: Likewise.
38691         * MODULES.html.sh (Support for building): Mention it.
38692
38693 2010-01-10  Bruno Haible  <bruno@clisp.org>
38694
38695         Tests for module 'unistr/u32-strdup'.
38696         * modules/unistr/u32-strdup-tests: New file.
38697         * tests/unistr/test-u32-strdup.c: New file.
38698
38699         Tests for module 'unistr/u16-strdup'.
38700         * modules/unistr/u16-strdup-tests: New file.
38701         * tests/unistr/test-u16-strdup.c: New file.
38702
38703         Tests for module 'unistr/u8-strdup'.
38704         * modules/unistr/u8-strdup-tests: New file.
38705         * tests/unistr/test-u8-strdup.c: New file.
38706         * tests/unistr/test-strdup.h: New file.
38707
38708         Tests for module 'unistr/u32-strncmp'.
38709         * modules/unistr/u32-strncmp-tests: New file.
38710         * tests/unistr/test-u32-strncmp.c: New file.
38711
38712         Tests for module 'unistr/u16-strncmp'.
38713         * modules/unistr/u16-strncmp-tests: New file.
38714         * tests/unistr/test-u16-strncmp.c: New file.
38715
38716         Tests for module 'unistr/u8-strncmp'.
38717         * modules/unistr/u8-strncmp-tests: New file.
38718         * tests/unistr/test-u8-strncmp.c: New file.
38719         * tests/unistr/test-strncmp.h: New file.
38720
38721         Tests for module 'unistr/u32-strcoll'.
38722         * modules/unistr/u32-strcoll-tests: New file.
38723         * tests/unistr/test-u32-strcoll.c: New file.
38724
38725         Tests for module 'unistr/u16-strcoll'.
38726         * modules/unistr/u16-strcoll-tests: New file.
38727         * tests/unistr/test-u16-strcoll.c: New file.
38728
38729         Tests for module 'unistr/u8-strcoll'.
38730         * modules/unistr/u8-strcoll-tests: New file.
38731         * tests/unistr/test-u8-strcoll.c: New file.
38732
38733         Tests for module 'unistr/u32-strcmp'.
38734         * modules/unistr/u32-strcmp-tests: New file.
38735         * tests/unistr/test-u32-strcmp.c: New file.
38736         * tests/unistr/test-u32-strcmp.h: New file.
38737
38738         Tests for module 'unistr/u16-strcmp'.
38739         * modules/unistr/u16-strcmp-tests: New file.
38740         * tests/unistr/test-u16-strcmp.c: New file.
38741         * tests/unistr/test-u16-strcmp.h: New file.
38742
38743         Tests for module 'unistr/u8-strcmp'.
38744         * modules/unistr/u8-strcmp-tests: New file.
38745         * tests/unistr/test-u8-strcmp.c: New file.
38746         * tests/unistr/test-u8-strcmp.h: New file.
38747         * tests/unistr/test-strcmp.h: New file.
38748
38749         Tests for module 'unistr/u32-strncat'.
38750         * modules/unistr/u32-strncat-tests: New file.
38751         * tests/unistr/test-u32-strncat.c: New file.
38752
38753         Tests for module 'unistr/u16-strncat'.
38754         * modules/unistr/u16-strncat-tests: New file.
38755         * tests/unistr/test-u16-strncat.c: New file.
38756
38757         Tests for module 'unistr/u8-strncat'.
38758         * modules/unistr/u8-strncat-tests: New file.
38759         * tests/unistr/test-u8-strncat.c: New file.
38760         * tests/unistr/test-strncat.h: New file.
38761
38762         Tests for module 'unistr/u32-strcat'.
38763         * modules/unistr/u32-strcat-tests: New file.
38764         * tests/unistr/test-u32-strcat.c: New file.
38765
38766         Tests for module 'unistr/u16-strcat'.
38767         * modules/unistr/u16-strcat-tests: New file.
38768         * tests/unistr/test-u16-strcat.c: New file.
38769
38770         Tests for module 'unistr/u8-strcat'.
38771         * modules/unistr/u8-strcat-tests: New file.
38772         * tests/unistr/test-u8-strcat.c: New file.
38773         * tests/unistr/test-strcat.h: New file.
38774
38775         Tests for module 'unistr/u32-stpncpy'.
38776         * modules/unistr/u32-stpncpy-tests: New file.
38777         * tests/unistr/test-u32-stpncpy.c: New file.
38778
38779         Tests for module 'unistr/u16-stpncpy'.
38780         * modules/unistr/u16-stpncpy-tests: New file.
38781         * tests/unistr/test-u16-stpncpy.c: New file.
38782
38783         Tests for module 'unistr/u8-stpncpy'.
38784         * modules/unistr/u8-stpncpy-tests: New file.
38785         * tests/unistr/test-u8-stpncpy.c: New file.
38786         * tests/unistr/test-stpncpy.h: New file.
38787
38788         Tests for module 'unistr/u32-strncpy'.
38789         * modules/unistr/u32-strncpy-tests: New file.
38790         * tests/unistr/test-u32-strncpy.c: New file.
38791
38792         Tests for module 'unistr/u16-strncpy'.
38793         * modules/unistr/u16-strncpy-tests: New file.
38794         * tests/unistr/test-u16-strncpy.c: New file.
38795
38796         Tests for module 'unistr/u8-strncpy'.
38797         * modules/unistr/u8-strncpy-tests: New file.
38798         * tests/unistr/test-u8-strncpy.c: New file.
38799         * tests/unistr/test-strncpy.h: New file.
38800
38801         Tests for module 'unistr/u32-stpcpy'.
38802         * modules/unistr/u32-stpcpy-tests: New file.
38803         * tests/unistr/test-u32-stpcpy.c: New file.
38804
38805         Tests for module 'unistr/u16-stpcpy'.
38806         * modules/unistr/u16-stpcpy-tests: New file.
38807         * tests/unistr/test-u16-stpcpy.c: New file.
38808
38809         Tests for module 'unistr/u8-stpcpy'.
38810         * modules/unistr/u8-stpcpy-tests: New file.
38811         * tests/unistr/test-u8-stpcpy.c: New file.
38812         * tests/unistr/test-stpcpy.h: New file.
38813
38814         Tests for module 'unistr/u32-strcpy'.
38815         * modules/unistr/u32-strcpy-tests: New file.
38816         * tests/unistr/test-u32-strcpy.c: New file.
38817
38818         Tests for module 'unistr/u16-strcpy'.
38819         * modules/unistr/u16-strcpy-tests: New file.
38820         * tests/unistr/test-u16-strcpy.c: New file.
38821
38822         Tests for module 'unistr/u8-strcpy'.
38823         * modules/unistr/u8-strcpy-tests: New file.
38824         * tests/unistr/test-u8-strcpy.c: New file.
38825         * tests/unistr/test-strcpy.h: New file.
38826
38827         Tests for module 'unistr/u32-strnlen'.
38828         * modules/unistr/u32-strnlen-tests: New file.
38829         * tests/unistr/test-u32-strnlen.c: New file.
38830
38831         Tests for module 'unistr/u16-strnlen'.
38832         * modules/unistr/u16-strnlen-tests: New file.
38833         * tests/unistr/test-u16-strnlen.c: New file.
38834
38835         Tests for module 'unistr/u8-strnlen'.
38836         * modules/unistr/u8-strnlen-tests: New file.
38837         * tests/unistr/test-u8-strnlen.c: New file.
38838         * tests/unistr/test-strnlen.h: New file.
38839
38840         Tests for module 'unistr/u32-strlen'.
38841         * modules/unistr/u32-strlen-tests: New file.
38842         * tests/unistr/test-u32-strlen.c: New file.
38843
38844         Tests for module 'unistr/u16-strlen'.
38845         * modules/unistr/u16-strlen-tests: New file.
38846         * tests/unistr/test-u16-strlen.c: New file.
38847
38848         Tests for module 'unistr/u8-strlen'.
38849         * modules/unistr/u8-strlen-tests: New file.
38850         * tests/unistr/test-u8-strlen.c: New file.
38851
38852         Tests for module 'unistr/u32-prev'.
38853         * modules/unistr/u32-prev-tests: New file.
38854         * tests/unistr/test-u32-prev.c: New file.
38855
38856         Tests for module 'unistr/u16-prev'.
38857         * modules/unistr/u16-prev-tests: New file.
38858         * tests/unistr/test-u16-prev.c: New file.
38859
38860         Tests for module 'unistr/u8-prev'.
38861         * modules/unistr/u8-prev-tests: New file.
38862         * tests/unistr/test-u8-prev.c: New file.
38863
38864         Tests for module 'unistr/u32-next'.
38865         * modules/unistr/u32-next-tests: New file.
38866         * tests/unistr/test-u32-next.c: New file.
38867
38868         Tests for module 'unistr/u16-next'.
38869         * modules/unistr/u16-next-tests: New file.
38870         * tests/unistr/test-u16-next.c: New file.
38871
38872         Tests for module 'unistr/u8-next'.
38873         * modules/unistr/u8-next-tests: New file.
38874         * tests/unistr/test-u8-next.c: New file.
38875
38876         Tests for module 'unistr/u32-strmbtouc'.
38877         * modules/unistr/u32-strmbtouc-tests: New file.
38878         * tests/unistr/test-u32-strmbtouc.c: New file.
38879
38880         Tests for module 'unistr/u16-strmbtouc'.
38881         * modules/unistr/u16-strmbtouc-tests: New file.
38882         * tests/unistr/test-u16-strmbtouc.c: New file.
38883
38884         Tests for module 'unistr/u8-strmbtouc'.
38885         * modules/unistr/u8-strmbtouc-tests: New file.
38886         * tests/unistr/test-u8-strmbtouc.c: New file.
38887
38888         Tests for module 'unistr/u32-strmblen'.
38889         * modules/unistr/u32-strmblen-tests: New file.
38890         * tests/unistr/test-u32-strmblen.c: New file.
38891
38892         Tests for module 'unistr/u16-strmblen'.
38893         * modules/unistr/u16-strmblen-tests: New file.
38894         * tests/unistr/test-u16-strmblen.c: New file.
38895
38896         Tests for module 'unistr/u8-strmblen'.
38897         * modules/unistr/u8-strmblen-tests: New file.
38898         * tests/unistr/test-u8-strmblen.c: New file.
38899
38900         Tests for module 'unistr/u32-cpy-alloc'.
38901         * modules/unistr/u32-cpy-alloc-tests: New file.
38902         * tests/unistr/test-u32-cpy-alloc.c: New file.
38903
38904         Tests for module 'unistr/u16-cpy-alloc'.
38905         * modules/unistr/u16-cpy-alloc-tests: New file.
38906         * tests/unistr/test-u16-cpy-alloc.c: New file.
38907
38908         Tests for module 'unistr/u8-cpy-alloc'.
38909         * modules/unistr/u8-cpy-alloc-tests: New file.
38910         * tests/unistr/test-u8-cpy-alloc.c: New file.
38911         * tests/unistr/test-cpy-alloc.h: New file.
38912
38913         Tests for module 'unistr/u32-mbsnlen'.
38914         * modules/unistr/u32-mbsnlen-tests: New file.
38915         * tests/unistr/test-u32-mbsnlen.c: New file.
38916
38917         Tests for module 'unistr/u16-mbsnlen'.
38918         * modules/unistr/u16-mbsnlen-tests: New file.
38919         * tests/unistr/test-u16-mbsnlen.c: New file.
38920
38921         Tests for module 'unistr/u8-mbsnlen'.
38922         * modules/unistr/u8-mbsnlen-tests: New file.
38923         * tests/unistr/test-u8-mbsnlen.c: New file.
38924
38925         Tests for module 'unistr/u32-chr'.
38926         * modules/unistr/u32-chr-tests: New file.
38927         * tests/unistr/test-u32-chr.c: New file.
38928
38929         Tests for module 'unistr/u16-chr'.
38930         * modules/unistr/u16-chr-tests: New file.
38931         * tests/unistr/test-u16-chr.c: New file.
38932
38933         Tests for module 'unistr/u8-chr'.
38934         * modules/unistr/u8-chr-tests: New file.
38935         * tests/unistr/test-u8-chr.c: New file.
38936         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
38937
38938         Tests for module 'unistr/u32-cmp2'.
38939         * modules/unistr/u32-cmp2-tests: New file.
38940         * tests/unistr/test-u32-cmp2.c: New file.
38941
38942         Tests for module 'unistr/u16-cmp2'.
38943         * modules/unistr/u16-cmp2-tests: New file.
38944         * tests/unistr/test-u16-cmp2.c: New file.
38945
38946         Tests for module 'unistr/u8-cmp2'.
38947         * modules/unistr/u8-cmp2-tests: New file.
38948         * tests/unistr/test-u8-cmp2.c: New file.
38949         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
38950
38951         Tests for module 'unistr/u32-cmp'.
38952         * modules/unistr/u32-cmp-tests: New file.
38953         * tests/unistr/test-u32-cmp.c: New file.
38954
38955         Tests for module 'unistr/u16-cmp'.
38956         * modules/unistr/u16-cmp-tests: New file.
38957         * tests/unistr/test-u16-cmp.c: New file.
38958
38959         Tests for module 'unistr/u8-cmp'.
38960         * modules/unistr/u8-cmp-tests: New file.
38961         * tests/unistr/test-u8-cmp.c: New file.
38962         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
38963
38964         Tests for module 'unistr/u32-set'.
38965         * modules/unistr/u32-set-tests: New file.
38966         * tests/unistr/test-u32-set.c: New file.
38967
38968         Tests for module 'unistr/u16-set'.
38969         * modules/unistr/u16-set-tests: New file.
38970         * tests/unistr/test-u16-set.c: New file.
38971
38972         Tests for module 'unistr/u8-set'.
38973         * modules/unistr/u8-set-tests: New file.
38974         * tests/unistr/test-u8-set.c: New file.
38975         * tests/unistr/test-set.h: New file.
38976
38977         Tests for module 'unistr/u32-move'.
38978         * modules/unistr/u32-move-tests: New file.
38979         * tests/unistr/test-u32-move.c: New file.
38980
38981         Tests for module 'unistr/u16-move'.
38982         * modules/unistr/u16-move-tests: New file.
38983         * tests/unistr/test-u16-move.c: New file.
38984
38985         Tests for module 'unistr/u8-move'.
38986         * modules/unistr/u8-move-tests: New file.
38987         * tests/unistr/test-u8-move.c: New file.
38988         * tests/unistr/test-move.h: New file.
38989
38990         Tests for module 'unistr/u32-cpy'.
38991         * modules/unistr/u32-cpy-tests: New file.
38992         * tests/unistr/test-u32-cpy.c: New file.
38993
38994         Tests for module 'unistr/u16-cpy'.
38995         * modules/unistr/u16-cpy-tests: New file.
38996         * tests/unistr/test-u16-cpy.c: New file.
38997
38998         Tests for module 'unistr/u8-cpy'.
38999         * modules/unistr/u8-cpy-tests: New file.
39000         * tests/unistr/test-u8-cpy.c: New file.
39001         * tests/unistr/test-cpy.h: New file.
39002
39003 2010-01-09  Bruno Haible  <bruno@clisp.org>
39004
39005         Tests for module 'unistr/u32-uctomb'.
39006         * modules/unistr/u32-uctomb-tests: New file.
39007         * tests/unistr/test-u32-uctomb.c: New file.
39008
39009         Tests for module 'unistr/u16-uctomb'.
39010         * modules/unistr/u16-uctomb-tests: New file.
39011         * tests/unistr/test-u16-uctomb.c: New file.
39012
39013         Tests for module 'unistr/u8-uctomb'.
39014         * modules/unistr/u8-uctomb-tests: New file.
39015         * tests/unistr/test-u8-uctomb.c: New file.
39016
39017         Tests for module 'unistr/u32-mbtoucr'.
39018         * modules/unistr/u32-mbtoucr-tests: New file.
39019         * tests/unistr/test-u32-mbtoucr.c: New file.
39020
39021         Tests for module 'unistr/u16-mbtoucr'.
39022         * modules/unistr/u16-mbtoucr-tests: New file.
39023         * tests/unistr/test-u16-mbtoucr.c: New file.
39024
39025         Tests for module 'unistr/u8-mbtoucr'.
39026         * modules/unistr/u8-mbtoucr-tests: New file.
39027         * tests/unistr/test-u8-mbtoucr.c: New file.
39028
39029         Tests for module 'unistr/u32-mbtouc'.
39030         * modules/unistr/u32-mbtouc-tests: New file.
39031         * tests/unistr/test-u32-mbtouc.c: New file.
39032
39033         Tests for module 'unistr/u16-mbtouc'.
39034         * modules/unistr/u16-mbtouc-tests: New file.
39035         * tests/unistr/test-u16-mbtouc.c: New file.
39036
39037         Tests for module 'unistr/u8-mbtouc'.
39038         * modules/unistr/u8-mbtouc-tests: New file.
39039         * tests/unistr/test-u8-mbtouc.c: New file.
39040
39041         Tests for module 'unistr/u32-mbtouc-unsafe'.
39042         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
39043         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
39044         * tests/unistr/test-u32-mbtouc.h: New file.
39045
39046         Tests for module 'unistr/u16-mbtouc-unsafe'.
39047         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
39048         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
39049         * tests/unistr/test-u16-mbtouc.h: New file.
39050
39051         Tests for module 'unistr/u8-mbtouc-unsafe'.
39052         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
39053         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
39054         * tests/unistr/test-u8-mbtouc.h: New file.
39055
39056         Tests for module 'unistr/u32-mblen'.
39057         * modules/unistr/u32-mblen-tests: New file.
39058         * tests/unistr/test-u32-mblen.c: New file.
39059
39060         Tests for module 'unistr/u16-mblen'.
39061         * modules/unistr/u16-mblen-tests: New file.
39062         * tests/unistr/test-u16-mblen.c: New file.
39063
39064         Tests for module 'unistr/u8-mblen'.
39065         * modules/unistr/u8-mblen-tests: New file.
39066         * tests/unistr/test-u8-mblen.c: New file.
39067
39068         Tests for module 'unistr/u32-to-u16'.
39069         * modules/unistr/u32-to-u16-tests: New file.
39070         * tests/unistr/test-u32-to-u16.c: New file.
39071
39072         Tests for module 'unistr/u32-to-u8'.
39073         * modules/unistr/u32-to-u8-tests: New file.
39074         * tests/unistr/test-u32-to-u8.c: New file.
39075
39076         Tests for module 'unistr/u16-to-u32'.
39077         * modules/unistr/u16-to-u32-tests: New file.
39078         * tests/unistr/test-u16-to-u32.c: New file.
39079
39080         Tests for module 'unistr/u16-to-u8'.
39081         * modules/unistr/u16-to-u8-tests: New file.
39082         * tests/unistr/test-u16-to-u8.c: New file.
39083
39084         Tests for module 'unistr/u8-to-u32'.
39085         * modules/unistr/u8-to-u32-tests: New file.
39086         * tests/unistr/test-u8-to-u32.c: New file.
39087
39088         Tests for module 'unistr/u8-to-u16'.
39089         * modules/unistr/u8-to-u16-tests: New file.
39090         * tests/unistr/test-u8-to-u16.c: New file.
39091
39092         Tests for module 'unistr/u32-check'.
39093         * modules/unistr/u32-check-tests: New file.
39094         * tests/unistr/test-u32-check.c: New file.
39095
39096         Tests for module 'unistr/u16-check'.
39097         * modules/unistr/u16-check-tests: New file.
39098         * tests/unistr/test-u16-check.c: New file.
39099
39100         Tests for module 'unistr/u8-check'.
39101         * modules/unistr/u8-check-tests: New file.
39102         * tests/unistr/test-u8-check.c: New file.
39103
39104         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
39105         (category_equals): New function.
39106         (main): Add more tests.
39107         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
39108
39109         * tests/unictype/test-bidi_byname.c (main): Add more tests.
39110
39111 2010-01-10  Bruno Haible  <bruno@clisp.org>
39112
39113         unistr/u*-strcoll: Try harder to distinguish different strings.
39114         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
39115         compare s1 and s2 to see if they are different.
39116
39117 2010-01-10  Bruno Haible  <bruno@clisp.org>
39118
39119         unistr/u*-stpncpy: Fix the return value.
39120         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
39121         description of the return value consistent with stpncpy in glibc.
39122         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
39123         written non-NUL unit.
39124
39125 2010-01-10  Bruno Haible  <bruno@clisp.org>
39126
39127         unistr/u*-next: Add missing dependencies.
39128         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
39129         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
39130         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
39131
39132 2010-01-10  Bruno Haible  <bruno@clisp.org>
39133
39134         unistr/u8-mbsnlen: Fix return value for incomplete character.
39135         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
39136         u8_mblen.
39137         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
39138         Remove unistr/u8-mblen.
39139         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
39140         u16_mblen.
39141         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
39142         Remove unistr/u16-mblen.
39143
39144 2010-01-10  Bruno Haible  <bruno@clisp.org>
39145
39146         wchar: Fix compilation error when <wchar.h> is used from coreutils.
39147         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
39148         Reported by Brian Gough <bjg@gnu.org> and
39149         Chris Clayton <chris2553@googlemail.com> via
39150         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
39151
39152 2010-01-09  Bruno Haible  <bruno@clisp.org>
39153
39154         unistr/u16-to-u32: Reject invalid input.
39155         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
39156         u16_mbtouc.
39157         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
39158         Remove unistr/u16-mbtouc.
39159
39160         unistr/u16-to-u8: Reject invalid input.
39161         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
39162         u16_mbtouc.
39163         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
39164         Remove unistr/u16-mbtouc.
39165
39166         unistr/u8-to-u32: Reject invalid input.
39167         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
39168         u8_mbtouc.
39169         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
39170         Remove unistr/u8-mbtouc.
39171
39172         unistr/u8-to-u16: Reject invalid input.
39173         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
39174         u8_mbtouc.
39175         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
39176         Remove unistr/u8-mbtouc.
39177
39178 2010-01-09  Bruno Haible  <bruno@clisp.org>
39179
39180         Tests for module 'getlogin'.
39181         * modules/getlogin-tests: New file.
39182         * tests/test-getlogin.c: New file.
39183
39184         New module 'getlogin'.
39185         * lib/unistd.in.h (getlogin): New declaration.
39186         * lib/getlogin.c: New file.
39187         * m4/getlogin.m4: New file.
39188         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
39189         HAVE_GETLOGIN.
39190         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
39191         HAVE_GETLOGIN.
39192         * modules/getlogin: New file.
39193         * doc/posix-functions/getlogin.texi: Mention the new module.
39194         Reported by John W. Eaton <jwe@gnu.org>.
39195
39196 2010-01-09  Bruno Haible  <bruno@clisp.org>
39197
39198         getlogin_r: Support for native Windows.
39199         * lib/getlogin_r.c: Include <windows.h>
39200         (getlogin_r): Implement for native Windows.
39201         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
39202         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
39203         via John W. Eaton <jwe@gnu.org>.
39204
39205 2010-01-09  Bruno Haible  <bruno@clisp.org>
39206
39207         getlogin_r: Small fixes.
39208         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
39209         succeeds.
39210         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
39211         before testing whether getlogin_r is declared. No need to set
39212         HAVE_DECL_GETLOGIN_R to 1.
39213         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
39214
39215 2010-01-09  Bruno Haible  <bruno@clisp.org>
39216
39217         * lib/unistd.in.h (getlogin_r): Add comment.
39218
39219 2010-01-09  Bruno Haible  <bruno@clisp.org>
39220
39221         Tests for module 'getlogin_r'.
39222         * modules/getlogin_r-tests: New file.
39223         * tests/test-getlogin_r.c: New file.
39224
39225 2010-01-09  Jim Meyering  <meyering@redhat.com>
39226
39227         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
39228         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
39229         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
39230
39231 2010-01-08  Simon Josefsson  <simon@josefsson.org>
39232
39233         * lib/dup2.c (rpl_dup2): Improve comment.
39234
39235 2010-01-08  Eric Blake  <ebb9@byu.net>
39236
39237         maint.mk: allow packages to add makefile @@ exceptions
39238         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
39239         (sc_makefile_check): Rename...
39240         (sc_makefile_at_at_check): ...to this, and use hook.
39241
39242         dup2: work around mingw bug
39243         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
39244         Reported by Simon Josefsson.
39245
39246 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
39247
39248         glob: Fix C++ compilation.
39249         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
39250         C++.
39251
39252 2010-01-07  Bruno Haible  <bruno@clisp.org>
39253
39254         Fix indentation of wctype.in.h, broken since 2007-01-06.
39255         * lib/wctype.in.h: Fix indentation of preprocessor directives.
39256
39257 2010-01-07  Bruno Haible  <bruno@clisp.org>
39258
39259         mbslen: Avoid collision with system function.
39260         * lib/string.in.h [MirBSD]: Include <wchar.h>.
39261         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
39262         * m4/mbslen.m4: New file.
39263         * modules/mbslen (Files): Add it.
39264         (configure.ac): Invoke gl_MBSLEN.
39265         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
39266         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
39267         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
39268         via Ian Beckwith <ianb@erislabs.net>.
39269
39270 2010-01-07  Bruno Haible  <bruno@clisp.org>
39271
39272         dirent: Document the last fix.
39273         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
39274
39275 2010-01-07  Bruno Haible  <bruno@clisp.org>
39276
39277         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
39278         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
39279         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
39280         va_list are defined.
39281         * doc/posix-headers/stdio.texi: Document the bug of missing types.
39282         Reported by Eric Blake.
39283
39284 2010-01-07  Bruno Haible  <bruno@clisp.org>
39285
39286         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
39287         * modules/xlist (Depends-on): Add 'list',
39288         * modules/xoset (Depends-on): Add 'oset'.
39289         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39290
39291 2010-01-07  Bruno Haible  <bruno@clisp.org>
39292
39293         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
39294         * doc/posix-functions/strncasecmp.texi: Likewise.
39295
39296 2010-01-07  Bruno Haible  <bruno@clisp.org>
39297
39298         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
39299
39300 2010-01-07  John W. Eaton  <jwe@octave.org>
39301
39302         wctype: allow C++ use
39303         * lib/wctype.in.h: Add extern "C" block for C++.
39304
39305 2010-01-06  Eric Blake  <ebb9@byu.net>
39306
39307         maint.mk: detect incorrect GFDL usage
39308         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
39309
39310 2010-01-06  Jim Meyering  <meyering@redhat.com>
39311         and Eric Blake  <ebb9@byu.net>
39312
39313         maint.mk: ignore multi-line copyright in NEWS
39314         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
39315
39316 2010-01-06  Eric Blake  <ebb9@byu.net>
39317
39318         select: add missing dependency
39319         * modules/select-tests (Depends-on): Move sockets dependency...
39320         * modules/select (Depends-on): ...here.
39321         Reported by Ian Beckwith.
39322
39323         doc: regenerate INSTALL
39324         * doc/INSTALL: Reflect recent autoconf update.
39325         * doc/INSTALL.ISO: Likewise.
39326         * doc/INSTALL.UTF-8: Likewise.
39327
39328         pread: fix compilation on glibc
39329         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
39330         Reported by Ralf Wildenhues.
39331
39332         dirent: fix test failure
39333         * lib/dirent.in.h (includes): Guarantee ino_t.
39334         Reported by Ralf Wildenhues.
39335
39336 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
39337
39338         linkat, renameat: avoid bad free
39339         * lib/at-func2.c (at_func2): Fix typo.
39340         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
39341
39342 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39343
39344         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
39345         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
39346         to avoid failure of symlink test later.
39347
39348 2010-01-06  Eric Blake  <ebb9@byu.net>
39349
39350         stdio, unistd: guarantee ssize_t
39351         * lib/unistd.in.h (includes): Ensure that types required by POSIX
39352         2008 are exposed when needed.
39353         * lib/stdio.in.h (includes): Likewise.
39354         Reported by Ralf Wildenhues.
39355
39356 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
39357
39358         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
39359         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
39360         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
39361
39362 2010-01-06  Jim Meyering  <meyering@redhat.com>
39363
39364         readtokens: this module *does* require xalloc.h
39365         It uses only functions that were omitted by the old syntax-check rule.
39366         * lib/readtokens.c: Include "xalloc.h" once again.
39367         * modules/readtokens (Depends-on): Add xalloc.
39368         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
39369
39370 2010-01-05  Eric Blake  <ebb9@byu.net>
39371
39372         maint: support 'make announcement' from a VPATH build
39373         * top/maint.mk (announcement): Look for correct NEWS file.
39374
39375 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
39376
39377         utimens (fdutimens): ignore a negative FD, per contract
39378         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
39379         when we have a valid file descriptor.  Otherwise, using a brand
39380         new glibc (with just-patched futimens that now fails with EBADF)
39381         would cause this function to fail with ENOSYS.
39382         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
39383         See also http://bugzilla.redhat.com/552320.
39384
39385 2010-01-05  Eric Blake  <ebb9@byu.net>
39386
39387         strcase: document what it provides
39388         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
39389         gnulib module.
39390         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
39391         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
39392
39393 2010-01-05  Jim Meyering  <meyering@redhat.com>
39394
39395         maint: remove useless inclusions of "xalloc.h"
39396         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
39397         * lib/readtokens.c: Likewise.
39398         * lib/same.c: Likewise.
39399         * modules/getloadavg (Depends-on): Remove xalloc.
39400         * modules/readtokens: Likewise.
39401         * modules/same: Likewise.
39402
39403         maint.mk: include 4 more function names in alloca.h-checking regexp
39404         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
39405         regexp.  Before, we would give a false-positive (saying alloca.h
39406         is included unnecessarily) when the only uses involved omitted symbols.
39407
39408         xalloc.h: use consistent formatting
39409         * lib/xalloc.h: Move declarations to start in the first column.
39410
39411 2010-01-05  Eric Blake  <ebb9@byu.net>
39412
39413         mkdir: avoid xalloc
39414         * lib/mkdir.c (includes): Drop unused header.
39415         Reported by John W. Eaton.
39416
39417 2010-01-04  Jim Meyering  <meyering@redhat.com>
39418
39419         nl_langinfo: avoid configure-time syntax error
39420         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
39421         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
39422         the empty string.  Don't let that provoke a shell syntax error.
39423
39424         regcomp, regexec, fnmatch: avoid array bounds read error
39425         * lib/regcomp.c (build_equiv_class): From glibc:
39426         Use only the low 24 bits of a findidx return value as an index
39427         into the weights array.  Patch by Ulrich Drepper:
39428         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
39429         * lib/regexec.c (check_node_accept_bytes): Likewise.
39430         * lib/fnmatch_loop.c (FCT): Likewise.
39431
39432         regcomp: skip collseq lookup when there are no rules
39433         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
39434         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
39435
39436         regcomp: recognize ill-formed { } expressions
39437         * lib/regcomp.c (parse_dup_op): From glibc:
39438         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
39439
39440         regcomp: fix typo in comment
39441         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
39442         s/satisfy/satisfies/.
39443
39444         regcomp: sync from glibc: remove dead store
39445         * lib/regcomp.c (duplicate_node_closure): Remove useless
39446         search_duplicated_node call and dead store.
39447
39448         regcomp: sync from glibc; always use nl_langinfo
39449         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
39450         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
39451         * modules/regex (Depends-on): Add nl_langinfo.
39452
39453 2010-01-04  Eric Blake  <ebb9@byu.net>
39454
39455         fdopendir: fix configure test
39456         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
39457
39458 2010-01-01  Bruno Haible  <bruno@clisp.org>
39459
39460         wchar: Remove unused configure check.
39461         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
39462
39463 2010-01-01  Eric Blake  <ebb9@byu.net>
39464
39465         headers: make check of system header explicit
39466         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
39467         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
39468         ourselves.
39469         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
39470         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39471         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
39472         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
39473         internals.
39474         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
39475         missing.
39476         Suggested by Bruno Haible.
39477
39478 2010-01-01  Jim Meyering  <meyering@redhat.com>
39479
39480         ChangeLog: tweak to eliminate unnecessary copyright line
39481         * ChangeLog: Remove a copyright line that was mistakenly updated
39482         by today's update-copyright run.  Reported by Eric Blake.
39483
39484         test-update-copyright: don't let envvar setting cause test failure
39485         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39486
39487 2010-01-01  Bruno Haible  <bruno@clisp.org>
39488
39489         localename: Avoid gcc warning.
39490         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
39491         function if it is not used.
39492
39493 2010-01-01  Jim Meyering  <meyering@redhat.com>
39494
39495         update nearly all FSF copyright year lists to include 2010
39496         Use the same procedure as for 2009, outlined in
39497         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
39498
39499         version-etc: set COPYRIGHT_YEAR to 2010
39500         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
39501
39502 2009-12-31  Eric Blake  <ebb9@byu.net>
39503
39504         doc: correct availability of cygwin 1.5.x getopt
39505         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
39506         variables.
39507         * doc/posix-functions/opterr.texi (opterr): Likewise.
39508         * doc/posix-functions/optind.texi (optind): Likewise.
39509         * doc/posix-functions/optopt.texi (optopt): Likewise.
39510         * doc/posix-functions/tzname.texi (tzname): Likewise.
39511
39512         openat: update maintainer
39513         * modules/openat (Maintainer): Add myself.
39514
39515         utimens: avoid shadowing warning
39516         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
39517         buffers into one, to avoid shadowing, as well as avoiding a
39518         redundant stat.
39519         Reported by Jim Meyering.
39520
39521         test-dup2: avoid compiler warning
39522         * tests/test-dup2.c (is_inheritable): Only define if used.
39523
39524 2010-01-01  Bruno Haible  <bruno@clisp.org>
39525
39526         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
39527         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
39528         defined, use wctomb instead of wcrtomb.
39529
39530 2010-01-01  Bruno Haible  <bruno@clisp.org>
39531
39532         iconv: Reject native Solaris iconv.
39533         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
39534         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
39535
39536 2009-12-31  Bruno Haible  <bruno@clisp.org>
39537
39538         * tests/test-signal.c (main): Remove test of 'SIG'.
39539
39540 2009-12-31  Bruno Haible  <bruno@clisp.org>
39541
39542         spawn: Fix incomplete fix.
39543         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39544         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39545         warnings for GNULIB_POSIXCHECK again.
39546         Reported by Eric Blake.
39547
39548 2009-12-31  Bruno Haible  <bruno@clisp.org>
39549
39550         Avoid namespace pollution on glibc systems.
39551         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
39552         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
39553         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
39554         glibc systems.
39555
39556 2009-12-31  Bruno Haible  <bruno@clisp.org>
39557
39558         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
39559         (gl_REPLACE_WCHAR_H): Turn into a no-op.
39560         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
39561         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
39562         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
39563         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
39564         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
39565
39566 2009-12-31  Bruno Haible  <bruno@clisp.org>
39567
39568         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
39569         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
39570         afterwards.
39571
39572 2009-12-31  Bruno Haible  <bruno@clisp.org>
39573
39574         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
39575         SYS_UTSNAME_H.
39576
39577 2009-12-31  Bruno Haible  <bruno@clisp.org>
39578
39579         spawn: Fix misapplied patch.
39580         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39581         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39582         warnings for GNULIB_POSIXCHECK.
39583
39584 2009-12-31  Bruno Haible  <bruno@clisp.org>
39585
39586         times: Update after sys_times changed.
39587         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
39588         * modules/times (Files): Add it.
39589         (configure.ac): Invoke gl_FUNC_TIMES.
39590
39591 2009-12-31  Bruno Haible  <bruno@clisp.org>
39592
39593         Use AC_C_INLINE where necessary.
39594         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
39595         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39596         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
39597         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
39598         * m4/mbfile.m4 (gl_MBFILE): Likewise.
39599         * m4/mbiter.m4 (gl_MBITER): Likewise.
39600         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
39601         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39602         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
39603         * modules/u64 (configure.ac): Likewise.
39604
39605 2009-12-31  Bruno Haible  <bruno@clisp.org>
39606
39607         Use AC_C_INLINE instead of module 'inline' where possible.
39608         * modules/inline (Description): Clarify purpose.
39609         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
39610         * modules/count-one-bits (Depends-on): Remove inline.
39611         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
39612         * modules/openat (Depends-on): Remove inline.
39613         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
39614         instead of depending on module 'inline'.
39615         * modules/filevercmp (Depends-on, configure.ac): Likewise.
39616         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
39617         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
39618         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
39619         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
39620         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
39621         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
39622         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
39623         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
39624         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
39625         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
39626         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
39627         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
39628         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
39629         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
39630         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
39631         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
39632         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
39633         Likewise.
39634         * modules/unictype/property-ascii-hex-digit (Depends-on,
39635         configure.ac): Likewise.
39636         * modules/unictype/property-bidi-arabic-digit (Depends-on,
39637         configure.ac): Likewise.
39638         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
39639         configure.ac): Likewise.
39640         * modules/unictype/property-bidi-block-separator (Depends-on,
39641         configure.ac): Likewise.
39642         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
39643         configure.ac): Likewise.
39644         * modules/unictype/property-bidi-common-separator (Depends-on,
39645         configure.ac): Likewise.
39646         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
39647         Likewise.
39648         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
39649         configure.ac): Likewise.
39650         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
39651         configure.ac): Likewise.
39652         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
39653         configure.ac): Likewise.
39654         * modules/unictype/property-bidi-european-digit (Depends-on,
39655         configure.ac): Likewise.
39656         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
39657         configure.ac): Likewise.
39658         * modules/unictype/property-bidi-left-to-right (Depends-on,
39659         configure.ac): Likewise.
39660         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
39661         configure.ac): Likewise.
39662         * modules/unictype/property-bidi-other-neutral (Depends-on,
39663         configure.ac): Likewise.
39664         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
39665         Likewise.
39666         * modules/unictype/property-bidi-segment-separator (Depends-on,
39667         configure.ac): Likewise.
39668         * modules/unictype/property-bidi-whitespace (Depends-on,
39669         configure.ac): Likewise.
39670         * modules/unictype/property-combining (Depends-on, configure.ac):
39671         Likewise.
39672         * modules/unictype/property-composite (Depends-on, configure.ac):
39673         Likewise.
39674         * modules/unictype/property-currency-symbol (Depends-on,
39675         configure.ac): Likewise.
39676         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
39677         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
39678         Likewise.
39679         * modules/unictype/property-default-ignorable-code-point (Depends-on,
39680         configure.ac): Likewise.
39681         * modules/unictype/property-deprecated (Depends-on, configure.ac):
39682         Likewise.
39683         * modules/unictype/property-diacritic (Depends-on, configure.ac):
39684         Likewise.
39685         * modules/unictype/property-extender (Depends-on, configure.ac):
39686         Likewise.
39687         * modules/unictype/property-format-control (Depends-on, configure.ac):
39688         Likewise.
39689         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
39690         Likewise.
39691         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
39692         Likewise.
39693         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
39694         Likewise.
39695         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
39696         Likewise.
39697         * modules/unictype/property-hyphen (Depends-on, configure.ac):
39698         Likewise.
39699         * modules/unictype/property-id-continue (Depends-on, configure.ac):
39700         Likewise.
39701         * modules/unictype/property-id-start (Depends-on, configure.ac):
39702         Likewise.
39703         * modules/unictype/property-ideographic (Depends-on, configure.ac):
39704         Likewise.
39705         * modules/unictype/property-ids-binary-operator (Depends-on,
39706         configure.ac): Likewise.
39707         * modules/unictype/property-ids-trinary-operator (Depends-on,
39708         configure.ac): Likewise.
39709         * modules/unictype/property-ignorable-control (Depends-on,
39710         configure.ac): Likewise.
39711         * modules/unictype/property-iso-control (Depends-on, configure.ac):
39712         Likewise.
39713         * modules/unictype/property-join-control (Depends-on, configure.ac):
39714         Likewise.
39715         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
39716         Likewise.
39717         * modules/unictype/property-line-separator (Depends-on, configure.ac):
39718         Likewise.
39719         * modules/unictype/property-logical-order-exception (Depends-on,
39720         configure.ac): Likewise.
39721         * modules/unictype/property-lowercase (Depends-on, configure.ac):
39722         Likewise.
39723         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
39724         * modules/unictype/property-non-break (Depends-on, configure.ac):
39725         Likewise.
39726         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
39727         Likewise.
39728         * modules/unictype/property-numeric (Depends-on, configure.ac):
39729         Likewise.
39730         * modules/unictype/property-other-alphabetic (Depends-on,
39731         configure.ac): Likewise.
39732         * modules/unictype/property-other-default-ignorable-code-point
39733         (Depends-on, configure.ac): Likewise.
39734         * modules/unictype/property-other-grapheme-extend (Depends-on,
39735         configure.ac): Likewise.
39736         * modules/unictype/property-other-id-continue (Depends-on,
39737         configure.ac): Likewise.
39738         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
39739         Likewise.
39740         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
39741         Likewise.
39742         * modules/unictype/property-other-math (Depends-on, configure.ac):
39743         Likewise.
39744         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
39745         Likewise.
39746         * modules/unictype/property-paired-punctuation (Depends-on,
39747         configure.ac): Likewise.
39748         * modules/unictype/property-paragraph-separator (Depends-on,
39749         configure.ac): Likewise.
39750         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
39751         Likewise.
39752         * modules/unictype/property-pattern-white-space (Depends-on,
39753         configure.ac): Likewise.
39754         * modules/unictype/property-private-use (Depends-on, configure.ac):
39755         Likewise.
39756         * modules/unictype/property-punctuation (Depends-on, configure.ac):
39757         Likewise.
39758         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
39759         Likewise.
39760         * modules/unictype/property-radical (Depends-on, configure.ac):
39761         Likewise.
39762         * modules/unictype/property-sentence-terminal (Depends-on,
39763         configure.ac): Likewise.
39764         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
39765         Likewise.
39766         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
39767         * modules/unictype/property-terminal-punctuation (Depends-on,
39768         configure.ac): Likewise.
39769         * modules/unictype/property-titlecase (Depends-on, configure.ac):
39770         Likewise.
39771         * modules/unictype/property-unassigned-code-value (Depends-on,
39772         configure.ac): Likewise.
39773         * modules/unictype/property-unified-ideograph (Depends-on,
39774         configure.ac): Likewise.
39775         * modules/unictype/property-uppercase (Depends-on, configure.ac):
39776         Likewise.
39777         * modules/unictype/property-variation-selector (Depends-on,
39778         configure.ac): Likewise.
39779         * modules/unictype/property-white-space (Depends-on, configure.ac):
39780         Likewise.
39781         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
39782         Likewise.
39783         * modules/unictype/property-xid-start (Depends-on, configure.ac):
39784         Likewise.
39785         * modules/unictype/property-zero-width (Depends-on, configure.ac):
39786         Likewise.
39787         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
39788         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
39789         Likewise.
39790
39791 2009-12-31  Bruno Haible  <bruno@clisp.org>
39792
39793         Remove unnecessary AC_C_INLINE invocation.
39794         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
39795         since 2009-08-21.
39796
39797 2009-12-31  Jim Meyering  <meyering@redhat.com>
39798
39799         maint.mk: don't require explicit gpg_key_ID in cfg.mk
39800         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
39801         With this change, we can all remove the gpg_key_ID = ... definition
39802         from our respective cfg.mk files.
39803
39804         maint.mk: create announcement template in ~/, not in /tmp
39805         * top/maint.mk (emit_upload_commands): Adjust.
39806         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
39807         Remove temporary file, .ci-msg.
39808
39809 2009-12-31  Eric Blake  <ebb9@byu.net>
39810
39811         link-warning: always build headers with link warnings
39812         * modules/arpa_inet (Makefile.am): Always build replacement
39813         header.
39814         * modules/ctype (Makefile.am): Likewise.
39815         * modules/dirent (Makefile.am): Likewise.
39816         * modules/inttypes (Makefile.am): Likewise.
39817         * modules/langinfo (Makefile.am): Likewise.
39818         * modules/locale (Makefile.am): Likewise.
39819         * modules/spawn (Makefile.am): Likewise.
39820         * modules/sys_file (Makefile.am): Likewise.
39821         * modules/sys_ioctl (Makefile.am): Likewise.
39822         * modules/sys_select (Makefile.am): Likewise.
39823         * modules/sys_socket (Makefile.am): Likewise.
39824         * modules/sys_times (Makefile.am): Likewise.
39825         * modules/sys_utsname (Makefile.am): Likewise.
39826         * modules/sys_wait (Makefile.am): Likewise.
39827         * modules/wchar (Makefile.am): Likewise.
39828         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
39829         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
39830         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
39831         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
39832         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
39833         Likewise.
39834         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
39835         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
39836         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
39837         Likewise.
39838         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
39839         Likewise.
39840         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
39841         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
39842         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
39843         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39844         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
39845         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39846         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39847         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
39848         (gl_WCHAR_H_DEFAULTS): Likewise.
39849
39850 2009-12-31  Eric Blake  <ebb9@byu.net>
39851
39852         signal, spawn: use link warnings
39853         * lib/signal.in.h (sigset_t): Make unconditional.
39854         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
39855         (sigpending, sigprocmask, sigaction): Add link warnings.
39856         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
39857         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
39858         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
39859         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
39860         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
39861         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
39862         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
39863         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
39864         (posix_spawn_file_actions_destroy)
39865         (posix_spawn_file_actions_addopen)
39866         (posix_spawn_file_actions_addclose)
39867         (posix_spawn_file_actions_adddup2): Likewise.
39868         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
39869         * tests/test-signal.c (main): Enhance test.
39870
39871         spawn: improve wrapper support
39872         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
39873         (gl_SPAWN_H_DEFAULTS): New defaults.
39874         * modules/spawn (Makefile.am): Substitute them.
39875         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
39876         Only declare if missing or broken.
39877
39878         sys_times, sys_utsname: use include_next
39879         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
39880         header.
39881         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
39882         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39883         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39884         * modules/sys_times (Depends-on): Add include_next.
39885         (Makefile.am): Substitute additional values.
39886         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
39887         * lib/sys_times.in.h (includes): Include native header, if
39888         available.
39889         * lib/sys_utsname.in.h (includes): Likewise.
39890         * tests/test-sys_times.c (main): Enhance test.
39891
39892         fdutimensat: revert prior patch
39893         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
39894         utimens.h.
39895         Reported by Bruno Haible.
39896
39897 2009-12-30  Eric Blake  <ebb9@byu.net>
39898
39899         sys_wait: drop link-warning dependency
39900         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
39901         link-warning efforts.
39902         * lib/sys_wait.in.h: Likewise.
39903
39904         fdutimensat: remove bogus dependency
39905         * modules/fdutimensat (Depends-on): Drop inline.
39906
39907         unistd: fix typo
39908         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
39909
39910 2009-12-30  Bruno Haible  <bruno@clisp.org>
39911
39912         Fix compilation error with Solaris cc.
39913         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
39914         * lib/unicase/u16-is-invariant.c: Likewise.
39915         * lib/unicase/u32-is-invariant.c: Likewise.
39916         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39917
39918 2009-12-30  Bruno Haible  <bruno@clisp.org>
39919
39920         Fix test crash.
39921         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
39922         locales.
39923         Reported by Simon Josefsson <simon@josefsson.org>.
39924
39925 2009-12-30  Bruno Haible  <bruno@clisp.org>
39926
39927         Fix compilation error on most platforms.
39928         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
39929         Reported by Simon Josefsson <simon@josefsson.org>
39930         and Nelson H. F. Beebe <beebe@math.utah.edu>.
39931
39932 2009-12-30  Eric Blake  <ebb9@byu.net>
39933
39934         futimens, utimensat: work around ntfs-3g bug
39935         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
39936         a ctime bug is present, and expand workaround to cover ntfs-3g.
39937         * lib/utimens.c (fdutimens, lutimens): Likewise.
39938         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
39939         (validate_timespec): Adjust return value.
39940         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
39941         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39942         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
39943
39944 2009-12-29  Eric Blake  <ebb9@byu.net>
39945
39946         link-warning: make usage consistent
39947         * modules/ctype (Depends-on): Add link-warning.
39948         (Makefile.am): Update rules accordingly.
39949         * modules/langinfo (Depends-on, Makefile.am): Likewise.
39950         * modules/locale (Depends-on, Makefile.am): Likewise.
39951         * modules/sys_file (Makefile.am): Likewise.
39952         * modules/getopt-posix (Makefile.am): Delete unused link warning
39953         efforts.
39954         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
39955         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
39956         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
39957         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
39958
39959         stdio: remove unused variables
39960         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
39961         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
39962         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
39963
39964         tests: test more substitute headers
39965         * modules/ctype-tests: New file.
39966         * modules/dirent-tests: Likewise.
39967         * modules/spawn-tests: Likewise.
39968         * modules/sys_file-tests: Likewise.
39969         * modules/sys_ioctl-tests: Likewise.
39970         * modules/sys_wait-tests: Likewise.
39971         * tests/test-ctype.c: Likewise.
39972         * tests/test-dirent.c: Likewise.
39973         * tests/test-spawn.c: Likewise.
39974         * tests/test-sys_file.c: Likewise.
39975         * tests/test-sys_ioctl.c: Likewise.
39976         * tests/test-sys_wait.c: Likewise.
39977         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
39978         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
39979         whether or not flock is in use.
39980
39981         tests: remove License section from module
39982         * modules/arpa_inet-tests: Remove unneeded section.
39983         * modules/byteswap-tests: Likewise.
39984         * modules/ceilf-tests: Likewise.
39985         * modules/ceill-tests: Likewise.
39986         * modules/crypto/des-tests: Likewise.
39987         * modules/crypto/gc-arcfour-tests: Likewise.
39988         * modules/crypto/gc-arctwo-tests: Likewise.
39989         * modules/crypto/gc-des-tests: Likewise.
39990         * modules/crypto/gc-hmac-md5-tests: Likewise.
39991         * modules/crypto/gc-hmac-sha1-tests: Likewise.
39992         * modules/crypto/gc-md2-tests: Likewise.
39993         * modules/crypto/gc-md4-tests: Likewise.
39994         * modules/crypto/gc-md5-tests: Likewise.
39995         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
39996         * modules/crypto/gc-rijndael-tests: Likewise.
39997         * modules/crypto/gc-sha1-tests: Likewise.
39998         * modules/crypto/gc-tests: Likewise.
39999         * modules/crypto/md2-tests: Likewise.
40000         * modules/crypto/md4-tests: Likewise.
40001         * modules/fcntl-h-tests: Likewise.
40002         * modules/floorf-tests: Likewise.
40003         * modules/floorl-tests: Likewise.
40004         * modules/frexp-nolibm-tests: Likewise.
40005         * modules/frexp-tests: Likewise.
40006         * modules/frexpl-nolibm-tests: Likewise.
40007         * modules/frexpl-tests: Likewise.
40008         * modules/getaddrinfo-tests: Likewise.
40009         * modules/inttypes-tests: Likewise.
40010         * modules/isfinite-tests: Likewise.
40011         * modules/isinf-tests: Likewise.
40012         * modules/ldexpl-tests: Likewise.
40013         * modules/locale-tests: Likewise.
40014         * modules/math-tests: Likewise.
40015         * modules/netdb-tests: Likewise.
40016         * modules/netinet_in-tests: Likewise.
40017         * modules/printf-frexp-tests: Likewise.
40018         * modules/printf-frexpl-tests: Likewise.
40019         * modules/priv-set-tests: Likewise.
40020         * modules/random_r-tests: Likewise.
40021         * modules/round-tests: Likewise.
40022         * modules/roundf-tests: Likewise.
40023         * modules/roundl-tests: Likewise.
40024         * modules/search-tests: Likewise.
40025         * modules/select-tests: Likewise.
40026         * modules/signal-tests: Likewise.
40027         * modules/stdbool-tests: Likewise.
40028         * modules/stddef-tests: Likewise.
40029         * modules/stdint-tests: Likewise.
40030         * modules/stdio-tests: Likewise.
40031         * modules/stdlib-tests: Likewise.
40032         * modules/string-tests: Likewise.
40033         * modules/strings-tests: Likewise.
40034         * modules/sys_select-tests: Likewise.
40035         * modules/sys_socket-tests: Likewise.
40036         * modules/sys_stat-tests: Likewise.
40037         * modules/sys_time-tests: Likewise.
40038         * modules/sys_utsname-tests: Likewise.
40039         * modules/sysexits-tests: Likewise.
40040         * modules/time-tests: Likewise.
40041         * modules/trunc-tests: Likewise.
40042         * modules/truncf-tests: Likewise.
40043         * modules/truncl-tests: Likewise.
40044         * modules/tsearch-tests: Likewise.
40045         * modules/unistd-tests: Likewise.
40046         * modules/wchar-tests: Likewise.
40047         * modules/wctype-tests: Likewise.
40048
40049         tests: fix license on several tests
40050         * tests/test-des.c: Update to GPLv3+.
40051         * tests/test-flock.c: Likewise.
40052         * tests/test-fsync.c: Likewise.
40053         * tests/test-futimens.h: Likewise.
40054         * tests/test-gc-arcfour.c: Likewise.
40055         * tests/test-gc-arctwo.c: Likewise.
40056         * tests/test-gc-des.c: Likewise.
40057         * tests/test-gc-hmac-md5.c: Likewise.
40058         * tests/test-gc-hmac-sha1.c: Likewise.
40059         * tests/test-gc-md2.c: Likewise.
40060         * tests/test-gc-md4.c: Likewise.
40061         * tests/test-gc-md5.c: Likewise.
40062         * tests/test-gc-pbkdf2-sha1.c: Likewise.
40063         * tests/test-gc-rijndael.c: Likewise.
40064         * tests/test-gc-sha1.c: Likewise.
40065         * tests/test-gc.c: Likewise.
40066         * tests/test-getcwd.c: Likewise.
40067         * tests/test-link.c: Likewise.
40068         * tests/test-link.h: Likewise.
40069         * tests/test-lutimens.h: Likewise.
40070         * tests/test-md2.c: Likewise.
40071         * tests/test-md4.c: Likewise.
40072         * tests/test-mkdir.h: Likewise.
40073         * tests/test-rename.c: Likewise.
40074         * tests/test-rename.h: Likewise.
40075         * tests/test-safe-alloc.c: Likewise.
40076         * tests/test-utimens-common.h: Likewise.
40077         * tests/test-utimens.h: Likewise.
40078
40079         maint: sync license texts
40080         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
40081         * doc/gpl-3.0.texi: Revert copyright year update.
40082         * doc/lgpl-3.0.texi: Likewise.
40083
40084 2009-12-29  Jim Meyering  <meyering@redhat.com>
40085
40086         update nearly all FSF copyright year lists to include 2009
40087         The files named by the following are exempted:
40088             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
40089               test -f "$dst" && { echo "$dst"; continue; }
40090               test -d "$dst" || continue
40091               echo "$dst"/$(basename "$src")
40092             done > exempt
40093             git ls-files tests/unictype >> exempt
40094         In the remaining files, convert to all-interval notation if
40095         - there is already at least one year interval like 2000-2003
40096         - the file is maintained by me
40097         - the file is in lib/uni*/, where that style already prevails
40098         Otherwise, use update-copyright's default.
40099
40100 2009-12-29  Simon Josefsson  <simon@josefsson.org>
40101         and Eric Blake  <ebb9@byu.net>
40102
40103         tests: don't require debug system() to pass
40104         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
40105         * tests/test-rmdir.h (test_rmdir_func): Likewise.
40106         * tests/test-unlink.h (test_unlink_func): Likewise.
40107         * tests/test-fstatat.c (main): ...into callers.
40108         * tests/test-lstat.c (main): Likewise.
40109         * tests/test-rmdir.c (main): Likewise.
40110         * tests/test-unlink.c (main): Likewise.
40111         * tests/test-unlinkat.c (main): Likewise.
40112         * tests/test-areadlink-with-size.c (main): Don't require a
40113         debug-only system call to pass, aiding cross-testing to mingw.
40114         * tests/test-areadlink.c (main): Likewise.
40115         * tests/test-areadlinkat-with-size.c (main): Likewise.
40116         * tests/test-areadlinkat.c (main): Likewise.
40117         * tests/test-canonicalize-lgpl.c (main): Likewise.
40118         * tests/test-canonicalize.c (main): Likewise.
40119         * tests/test-chown.c (main): Likewise.
40120         * tests/test-fchownat.c (main): Likewise.
40121         * tests/test-lchown.c (main): Likewise.
40122         * tests/test-fdutimensat.c (main): Likewise.
40123         * tests/test-futimens.c (main): Likewise.
40124         * tests/test-link.c (main): Likewise.
40125         * tests/test-linkat.c (main): Likewise.
40126         * tests/test-mkdir.c (main): Likewise.
40127         * tests/test-mkdirat.c (main): Likewise.
40128         * tests/test-mkfifo.c (main): Likewise.
40129         * tests/test-mkfifoat.c (main): Likewise.
40130         * tests/test-mknod.c (main): Likewise.
40131         * tests/test-readlink.c (main): Likewise.
40132         * tests/test-remove.c (main): Likewise.
40133         * tests/test-rename.c (main): Likewise.
40134         * tests/test-renameat.c (main): Likewise.
40135         * tests/test-symlink.c (main): Likewise.
40136         * tests/test-symlinkat.c (main): Likewise.
40137         * tests/test-utimens.c (main): Likewise.
40138         * tests/test-utimensat.c (main): Likewise.
40139
40140 2009-12-29  Simon Josefsson  <simon@josefsson.org>
40141
40142         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
40143         on $(UNUSED_PARAMETER_H) to avoid build failure.
40144
40145 2009-12-28  Jim Meyering  <meyering@redhat.com>
40146
40147         update-copyright: you may specify a max. line length other than 72
40148         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
40149
40150         maint: use consistent FSF copyright line syntax
40151         * lib/posixtm.c: Add missing comma in FSF copyright line.
40152         * lib/posixtm.h: Likewise.
40153         * lib/getugroups.c: Add missing ", Inc.".
40154
40155         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
40156         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
40157         FSF copyright line.  Remove trailing blanks.
40158
40159 2009-12-28  Eric Blake  <ebb9@byu.net>
40160
40161         test-dup2: reduce dependencies
40162         * modules/cloexec (Configure.ac): Set witness.
40163         * modules/dup2-tests (Depends-on): Drop cloexec.
40164         * tests/test-dup2.c (main): Skip portion of test if cloexec module
40165         not present.
40166         Suggested by Bruno Haible.
40167
40168 2009-12-26  Bruno Haible  <bruno@clisp.org>
40169
40170         Remove an unneeded dependency.
40171         * modules/fseterr (Depends-on): Remove dup2.
40172
40173 2009-12-26  Eric Blake  <ebb9@byu.net>
40174
40175         tests: use macros.h in more places
40176         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
40177         (ASSERT_STREAM): Provide default of stderr.
40178         * tests/test-dirent-safer.c: Include macros.h, using alternate
40179         stream for assertions.
40180         * tests/test-dup-safer.c: Likewise.
40181         * tests/test-freopen-safer.c: Likewise.
40182         * tests/test-getopt.c: Likewise.
40183         * tests/test-openat-safer.c: Likewise.
40184         * tests/test-pipe.c: Likewise.
40185         * tests/test-popen-safer.c: Likewise.
40186         * modules/dirent-safer-tests (Files): Include macros.h.
40187         * modules/unistd-safer-tests (Files): Likewise.
40188         * modules/freopen-safer-tests (Files): Likewise.
40189         * modules/getopt-posix-tests (Files): Likewise.
40190         * modules/openat-safer-tests (Files): Likewise.
40191         * modules/pipe-tests (Files): Likewise.
40192
40193 2009-12-26  Bruno Haible  <bruno@clisp.org>
40194
40195         javacomp: Portability fix.
40196         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
40197         that it also works on Solaris.
40198
40199 2009-12-26  Bruno Haible  <bruno@clisp.org>
40200
40201         localename: Fix storage allocation of gl_locale_name_thread's result.
40202         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
40203         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
40204         all platforms that have 'uselocale'.
40205         (gl_locale_name_thread_unsafe): New function, extracted from
40206         gl_locale_name_thread.
40207         (gl_locale_name_thread): Call struniq on all platforms that have
40208         'uselocale'.
40209         * tests/test-localename.c (test_locale_name_thread): Check that the
40210         resulting strings are permanently allocated.
40211         * modules/localename-tests (Depends-on): Add strdup.
40212
40213 2009-12-26  Bruno Haible  <bruno@clisp.org>
40214
40215         * tests/test-localename.c (categories): Fill in the strings.
40216
40217 2009-12-26  Jim Meyering  <meyering@redhat.com>
40218
40219         isdir: complete the removal of m4/isdir.m4
40220         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
40221
40222         isdir: clean up, since at least grep still uses it
40223         * lib/isdir.c: Include "isdir.h".
40224         (S_ISDIR): Remove now-unneeded definition.
40225         * modules/isdir (Files): Add lib/isdir.h.
40226         * lib/isdir.h: New file, with declaration.
40227         * m4/isdir.m4: Remove file -- unneeded.
40228
40229 2009-12-25  Bruno Haible  <bruno@clisp.org>
40230
40231         selinux-h: Make generated .h files standalone.
40232         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
40233         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
40234         * lib/se-selinux.in.h: Likewise.
40235         * modules/selinux-h (Depends-on): Add unused-parameter.
40236         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
40237         selinux/selinux.h and selinux/context.h.
40238         Suggested by Eric Blake.
40239
40240 2009-12-25  Bruno Haible  <bruno@clisp.org>
40241
40242         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
40243         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
40244         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
40245         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
40246         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
40247
40248 2009-12-24  Bruno Haible  <bruno@clisp.org>
40249
40250         openat: Fix warning.
40251         * lib/openat-proc.c: Include <unistd.h>.
40252
40253 2009-12-24  Bruno Haible  <bruno@clisp.org>
40254
40255         New module 'unused-parameter'.
40256         * build-aux/unused-parameter.h: New file, extracted from earlier
40257         gnulib-common.m4.
40258         * modules/unused-parameter: New file.
40259         * lib/unistr.h: Include unused-parameter.h.
40260         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
40261         _GL_UNUSED.
40262         * modules/unistr/base (Depends-on): Add unused-parameter.
40263
40264 2009-12-24  Bruno Haible  <bruno@clisp.org>
40265
40266         Add missing dependencies to 'extensions' module.
40267         * m4/extensions.m4: Add comment.
40268         * modules/accept4 (Depends-on): Add extensions.
40269         * modules/dup3 (Depends-on): Likewise.
40270         * modules/fcntl (Depends-on): Likewise.
40271         * modules/futimens (Depends-on): Likewise.
40272         * modules/mknod (Depends-on): Likewise.
40273         * modules/pipe2 (Depends-on): Likewise.
40274         * modules/stat-time (Depends-on): Likewise.
40275         * modules/strcasestr-simple (Depends-on): Likewise.
40276         * modules/strsignal (Depends-on): Likewise.
40277         * modules/utimensat (Depends-on): Likewise.
40278         * modules/localcharset (Depends-on): Likewise. Needed because of
40279         gl_FCNTL_O_FLAGS.
40280         * modules/wcrtomb (Depends-on): Likewise. Needed because of
40281         AC_TYPE_MBSTATE_T.
40282         * modules/wcsnrtombs (Depends-on): Likewise.
40283         * modules/wcsrtombs (Depends-on): Likewise.
40284
40285 2009-12-24  Bruno Haible  <bruno@clisp.org>
40286
40287         binary-io: Avoid gcc warning due to SET_BINARY.
40288         * lib/binary-io.h (SET_BINARY): Cast the result to void.
40289         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
40290
40291 2009-12-24  Bruno Haible  <bruno@clisp.org>
40292
40293         Avoid future namespace pollution on glibc systems.
40294         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
40295         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
40296         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
40297         glibc systems.
40298
40299 2009-12-24  Bruno Haible  <bruno@clisp.org>
40300
40301         Refactor common macros used in tests.
40302         * tests/macros.h: New file.
40303         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
40304         and/or <stdlib.h>, if appropriate.
40305         (ASSERT, SIZEOF): Remove macros.
40306         * tests/test-areadlink-with-size.c: Likewise.
40307         * tests/test-areadlinkat.c: Likewise.
40308         * tests/test-areadlinkat-with-size.c: Likewise.
40309         * tests/test-argmatch.c: Likewise.
40310         * tests/test-argv-iter.c: Likewise.
40311         * tests/test-array-mergesort.c: Likewise.
40312         * tests/test-array_list.c: Likewise.
40313         * tests/test-array_oset.c: Likewise.
40314         * tests/test-avltree_list.c: Likewise.
40315         * tests/test-avltree_oset.c: Likewise.
40316         * tests/test-avltreehash_list.c: Likewise.
40317         * tests/test-base64.c: Likewise.
40318         * tests/test-binary-io.c: Likewise.
40319         * tests/test-bitrotate.c: Likewise.
40320         * tests/test-btowc.c: Likewise.
40321         * tests/test-byteswap.c: Likewise.
40322         * tests/test-c-ctype.c: Likewise.
40323         * tests/test-c-stack.c: Likewise.
40324         * tests/test-c-strcasecmp.c: Likewise.
40325         * tests/test-c-strcasestr.c: Likewise.
40326         * tests/test-c-strncasecmp.c: Likewise.
40327         * tests/test-c-strstr.c: Likewise.
40328         * tests/test-canonicalize-lgpl.c: Likewise.
40329         * tests/test-canonicalize.c: Likewise.
40330         * tests/test-carray_list.c: Likewise.
40331         * tests/test-ceilf1.c: Likewise.
40332         * tests/test-ceilf2.c: Likewise.
40333         * tests/test-ceill.c: Likewise.
40334         * tests/test-chown.c: Likewise.
40335         * tests/test-cloexec.c: Likewise.
40336         * tests/test-copy-acl.c: Likewise.
40337         * tests/test-copy-file.c: Likewise.
40338         * tests/test-count-one-bits.c: Likewise.
40339         * tests/test-dprintf-posix.c: Likewise.
40340         * tests/test-dup2.c: Likewise.
40341         * tests/test-dup3.c: Likewise.
40342         * tests/test-duplocale.c: Likewise.
40343         * tests/test-fbufmode.c: Likewise.
40344         * tests/test-fchdir.c: Likewise.
40345         * tests/test-fchownat.c: Likewise.
40346         * tests/test-fcntl-safer.c: Likewise.
40347         * tests/test-fcntl.c: Likewise.
40348         * tests/test-fdopendir.c: Likewise.
40349         * tests/test-fdutimensat.c: Likewise.
40350         * tests/test-fflush2.c: Likewise.
40351         * tests/test-file-has-acl.c: Likewise.
40352         * tests/test-filevercmp.c: Likewise.
40353         * tests/test-flock.c: Likewise.
40354         * tests/test-floorf1.c: Likewise.
40355         * tests/test-floorf2.c: Likewise.
40356         * tests/test-floorl.c: Likewise.
40357         * tests/test-fnmatch.c: Likewise.
40358         * tests/test-fopen.h: Likewise.
40359         * tests/test-fpending.c: Likewise.
40360         * tests/test-fprintf-posix.c: Likewise.
40361         * tests/test-fpurge.c: Likewise.
40362         * tests/test-freadable.c: Likewise.
40363         * tests/test-freadahead.c: Likewise.
40364         * tests/test-freading.c: Likewise.
40365         * tests/test-freadptr.c: Likewise.
40366         * tests/test-freadptr2.c: Likewise.
40367         * tests/test-freadseek.c: Likewise.
40368         * tests/test-freopen.c: Likewise.
40369         * tests/test-frexp.c: Likewise.
40370         * tests/test-frexpl.c: Likewise.
40371         * tests/test-fseek.c: Likewise.
40372         * tests/test-fseeko.c: Likewise.
40373         * tests/test-fstatat.c: Likewise.
40374         * tests/test-fstrcmp.c: Likewise.
40375         * tests/test-fsync.c: Likewise.
40376         * tests/test-ftell.c: Likewise.
40377         * tests/test-ftello.c: Likewise.
40378         * tests/test-func.c: Likewise.
40379         * tests/test-futimens.c: Likewise.
40380         * tests/test-fwritable.c: Likewise.
40381         * tests/test-fwriting.c: Likewise.
40382         * tests/test-getcwd.c: Likewise.
40383         * tests/test-getdate.c: Likewise.
40384         * tests/test-getdelim.c: Likewise.
40385         * tests/test-getdtablesize.c: Likewise.
40386         * tests/test-getgroups.c: Likewise.
40387         * tests/test-getline.c: Likewise.
40388         * tests/test-getndelim2.c: Likewise.
40389         * tests/test-glob.c: Likewise.
40390         * tests/test-hash.c: Likewise.
40391         * tests/test-i-ring.c: Likewise.
40392         * tests/test-iconv-utf.c: Likewise.
40393         * tests/test-iconv.c: Likewise.
40394         * tests/test-idpriv-drop.c: Likewise.
40395         * tests/test-idpriv-droptemp.c: Likewise.
40396         * tests/test-inet_ntop.c: Likewise.
40397         * tests/test-inet_pton.c: Likewise.
40398         * tests/test-isblank.c: Likewise.
40399         * tests/test-isfinite.c: Likewise.
40400         * tests/test-isinf.c: Likewise.
40401         * tests/test-isnan.c: Likewise.
40402         * tests/test-isnand.h: Likewise.
40403         * tests/test-isnanf.h: Likewise.
40404         * tests/test-isnanl.h: Likewise.
40405         * tests/test-lchown.c: Likewise.
40406         * tests/test-ldexpl.c: Likewise.
40407         * tests/test-link.c: Likewise.
40408         * tests/test-linkat.c: Likewise.
40409         * tests/test-linked_list.c: Likewise.
40410         * tests/test-linkedhash_list.c: Likewise.
40411         * tests/test-localename.c: Likewise.
40412         * tests/test-lseek.c: Likewise.
40413         * tests/test-lstat.c: Likewise.
40414         * tests/test-mbmemcasecmp.c: Likewise.
40415         * tests/test-mbmemcasecoll.c: Likewise.
40416         * tests/test-mbrtowc.c: Likewise.
40417         * tests/test-mbscasecmp.c: Likewise.
40418         * tests/test-mbscasestr1.c: Likewise.
40419         * tests/test-mbscasestr2.c: Likewise.
40420         * tests/test-mbscasestr3.c: Likewise.
40421         * tests/test-mbscasestr4.c: Likewise.
40422         * tests/test-mbschr.c: Likewise.
40423         * tests/test-mbscspn.c: Likewise.
40424         * tests/test-mbsinit.c: Likewise.
40425         * tests/test-mbsncasecmp.c: Likewise.
40426         * tests/test-mbsnrtowcs.c: Likewise.
40427         * tests/test-mbspbrk.c: Likewise.
40428         * tests/test-mbspcasecmp.c: Likewise.
40429         * tests/test-mbsrchr.c: Likewise.
40430         * tests/test-mbsrtowcs.c: Likewise.
40431         * tests/test-mbsspn.c: Likewise.
40432         * tests/test-mbsstr1.c: Likewise.
40433         * tests/test-mbsstr2.c: Likewise.
40434         * tests/test-mbsstr3.c: Likewise.
40435         * tests/test-memchr.c: Likewise.
40436         * tests/test-memchr2.c: Likewise.
40437         * tests/test-memcmp.c: Likewise.
40438         * tests/test-memmem.c: Likewise.
40439         * tests/test-memrchr.c: Likewise.
40440         * tests/test-mkdir.c: Likewise.
40441         * tests/test-mkdirat.c: Likewise.
40442         * tests/test-mkfifo.c: Likewise.
40443         * tests/test-mkfifoat.c: Likewise.
40444         * tests/test-mknod.c: Likewise.
40445         * tests/test-nanosleep.c: Likewise.
40446         * tests/test-nl_langinfo.c: Likewise.
40447         * tests/test-obstack-printf.c: Likewise.
40448         * tests/test-open.c: Likewise.
40449         * tests/test-openat.c: Likewise.
40450         * tests/test-pipe-filter-gi1.c: Likewise.
40451         * tests/test-pipe-filter-gi2-main.c: Likewise.
40452         * tests/test-pipe-filter-ii1.c: Likewise.
40453         * tests/test-pipe-filter-ii2-main.c: Likewise.
40454         * tests/test-pipe2.c: Likewise.
40455         * tests/test-popen.h: Likewise.
40456         * tests/test-posixtm.c: Likewise.
40457         * tests/test-pread.c: Likewise.
40458         * tests/test-printf-frexp.c: Likewise.
40459         * tests/test-printf-frexpl.c: Likewise.
40460         * tests/test-printf-posix.c: Likewise.
40461         * tests/test-priv-set.c: Likewise.
40462         * tests/test-quotearg.c: Likewise.
40463         * tests/test-random_r.c: Likewise.
40464         * tests/test-rawmemchr.c: Likewise.
40465         * tests/test-rbtree_list.c: Likewise.
40466         * tests/test-rbtree_oset.c: Likewise.
40467         * tests/test-rbtreehash_list.c: Likewise.
40468         * tests/test-readlink.c: Likewise.
40469         * tests/test-remove.c: Likewise.
40470         * tests/test-rename.c: Likewise.
40471         * tests/test-renameat.c: Likewise.
40472         * tests/test-rmdir.c: Likewise.
40473         * tests/test-round1.c: Likewise.
40474         * tests/test-roundf1.c: Likewise.
40475         * tests/test-roundl.c: Likewise.
40476         * tests/test-safe-alloc.c: Likewise.
40477         * tests/test-sameacls.c: Likewise.
40478         * tests/test-set-mode-acl.c: Likewise.
40479         * tests/test-setenv.c: Likewise.
40480         * tests/test-sigaction.c: Likewise.
40481         * tests/test-signbit.c: Likewise.
40482         * tests/test-sleep.c: Likewise.
40483         * tests/test-snprintf-posix.c: Likewise.
40484         * tests/test-snprintf.c: Likewise.
40485         * tests/test-sprintf-posix.c: Likewise.
40486         * tests/test-stat-time.c: Likewise.
40487         * tests/test-stat.c: Likewise.
40488         * tests/test-strcasestr.c: Likewise.
40489         * tests/test-strchrnul.c: Likewise.
40490         * tests/test-strerror.c: Likewise.
40491         * tests/test-striconv.c: Likewise.
40492         * tests/test-striconveh.c: Likewise.
40493         * tests/test-striconveha.c: Likewise.
40494         * tests/test-strsignal.c: Likewise.
40495         * tests/test-strstr.c: Likewise.
40496         * tests/test-strtod.c: Likewise.
40497         * tests/test-strverscmp.c: Likewise.
40498         * tests/test-symlink.c: Likewise.
40499         * tests/test-symlinkat.c: Likewise.
40500         * tests/test-trunc1.c: Likewise.
40501         * tests/test-trunc2.c: Likewise.
40502         * tests/test-truncf1.c: Likewise.
40503         * tests/test-truncf2.c: Likewise.
40504         * tests/test-truncl.c: Likewise.
40505         * tests/test-uname.c: Likewise.
40506         * tests/test-unlink.c: Likewise.
40507         * tests/test-unlinkat.c: Likewise.
40508         * tests/test-unsetenv.c: Likewise.
40509         * tests/test-usleep.c: Likewise.
40510         * tests/test-utimens.c: Likewise.
40511         * tests/test-utimensat.c: Likewise.
40512         * tests/test-vasnprintf-posix.c: Likewise.
40513         * tests/test-vasnprintf-posix2.c: Likewise.
40514         * tests/test-vasnprintf.c: Likewise.
40515         * tests/test-vasprintf-posix.c: Likewise.
40516         * tests/test-vasprintf.c: Likewise.
40517         * tests/test-vdprintf-posix.c: Likewise.
40518         * tests/test-vfprintf-posix.c: Likewise.
40519         * tests/test-vprintf-posix.c: Likewise.
40520         * tests/test-vsnprintf-posix.c: Likewise.
40521         * tests/test-vsnprintf.c: Likewise.
40522         * tests/test-vsprintf-posix.c: Likewise.
40523         * tests/test-wcrtomb.c: Likewise.
40524         * tests/test-wcsnrtombs.c: Likewise.
40525         * tests/test-wcsrtombs.c: Likewise.
40526         * tests/test-wctype.c: Likewise.
40527         * tests/test-wcwidth.c: Likewise.
40528         * tests/test-xfprintf-posix.c: Likewise.
40529         * tests/test-xmemdup0.c: Likewise.
40530         * tests/test-xprintf-posix.c: Likewise.
40531         * tests/test-xvasprintf.c: Likewise.
40532         * tests/unicase/test-locale-language.c: Likewise.
40533         * tests/unicase/test-mapping-part1.h: Likewise.
40534         * tests/unicase/test-predicate-part1.h: Likewise.
40535         * tests/unicase/test-u8-casecmp.c: Likewise.
40536         * tests/unicase/test-u8-casecoll.c: Likewise.
40537         * tests/unicase/test-u8-casefold.c: Likewise.
40538         * tests/unicase/test-u8-is-cased.c: Likewise.
40539         * tests/unicase/test-u8-is-casefolded.c: Likewise.
40540         * tests/unicase/test-u8-is-lowercase.c: Likewise.
40541         * tests/unicase/test-u8-is-titlecase.c: Likewise.
40542         * tests/unicase/test-u8-is-uppercase.c: Likewise.
40543         * tests/unicase/test-u8-tolower.c: Likewise.
40544         * tests/unicase/test-u8-totitle.c: Likewise.
40545         * tests/unicase/test-u8-toupper.c: Likewise.
40546         * tests/unicase/test-u16-casecmp.c: Likewise.
40547         * tests/unicase/test-u16-casecoll.c: Likewise.
40548         * tests/unicase/test-u16-casefold.c: Likewise.
40549         * tests/unicase/test-u16-is-cased.c: Likewise.
40550         * tests/unicase/test-u16-is-casefolded.c: Likewise.
40551         * tests/unicase/test-u16-is-lowercase.c: Likewise.
40552         * tests/unicase/test-u16-is-titlecase.c: Likewise.
40553         * tests/unicase/test-u16-is-uppercase.c: Likewise.
40554         * tests/unicase/test-u16-tolower.c: Likewise.
40555         * tests/unicase/test-u16-totitle.c: Likewise.
40556         * tests/unicase/test-u16-toupper.c: Likewise.
40557         * tests/unicase/test-u32-casecmp.c: Likewise.
40558         * tests/unicase/test-u32-casecoll.c: Likewise.
40559         * tests/unicase/test-u32-casefold.c: Likewise.
40560         * tests/unicase/test-u32-is-cased.c: Likewise.
40561         * tests/unicase/test-u32-is-casefolded.c: Likewise.
40562         * tests/unicase/test-u32-is-lowercase.c: Likewise.
40563         * tests/unicase/test-u32-is-titlecase.c: Likewise.
40564         * tests/unicase/test-u32-is-uppercase.c: Likewise.
40565         * tests/unicase/test-u32-tolower.c: Likewise.
40566         * tests/unicase/test-u32-totitle.c: Likewise.
40567         * tests/unicase/test-u32-toupper.c: Likewise.
40568         * tests/unicase/test-ulc-casecmp.c: Likewise.
40569         * tests/unicase/test-ulc-casecoll.c: Likewise.
40570         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
40571         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
40572         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
40573         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
40574         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
40575         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
40576         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
40577         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
40578         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
40579         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
40580         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
40581         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
40582         * tests/unictype/test-bidi_byname.c: Likewise.
40583         * tests/unictype/test-bidi_name.c: Likewise.
40584         * tests/unictype/test-bidi_of.c: Likewise.
40585         * tests/unictype/test-bidi_test.c: Likewise.
40586         * tests/unictype/test-block_list.c: Likewise.
40587         * tests/unictype/test-block_of.c: Likewise.
40588         * tests/unictype/test-block_test.c: Likewise.
40589         * tests/unictype/test-categ_and.c: Likewise.
40590         * tests/unictype/test-categ_and_not.c: Likewise.
40591         * tests/unictype/test-categ_byname.c: Likewise.
40592         * tests/unictype/test-categ_name.c: Likewise.
40593         * tests/unictype/test-categ_none.c: Likewise.
40594         * tests/unictype/test-categ_of.c: Likewise.
40595         * tests/unictype/test-categ_or.c: Likewise.
40596         * tests/unictype/test-categ_test_withtable.c: Likewise.
40597         * tests/unictype/test-combining.c: Likewise.
40598         * tests/unictype/test-decdigit.c: Likewise.
40599         * tests/unictype/test-digit.c: Likewise.
40600         * tests/unictype/test-mirror.c: Likewise.
40601         * tests/unictype/test-numeric.c: Likewise.
40602         * tests/unictype/test-pr_byname.c: Likewise.
40603         * tests/unictype/test-pr_test.c: Likewise.
40604         * tests/unictype/test-predicate-part1.h: Likewise.
40605         * tests/unictype/test-scripts.c: Likewise.
40606         * tests/unictype/test-sy_c_ident.c: Likewise.
40607         * tests/unictype/test-sy_java_ident.c: Likewise.
40608         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
40609         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
40610         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
40611         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
40612         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
40613         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
40614         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
40615         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
40616         * tests/uninorm/test-canonical-decomposition.c: Likewise.
40617         * tests/uninorm/test-compat-decomposition.c: Likewise.
40618         * tests/uninorm/test-composition.c: Likewise.
40619         * tests/uninorm/test-decomposing-form.c: Likewise.
40620         * tests/uninorm/test-decomposition.c: Likewise.
40621         * tests/uninorm/test-u8-nfc.c: Likewise.
40622         * tests/uninorm/test-u8-nfd.c: Likewise.
40623         * tests/uninorm/test-u8-nfkc.c: Likewise.
40624         * tests/uninorm/test-u8-nfkd.c: Likewise.
40625         * tests/uninorm/test-u8-normcmp.c: Likewise.
40626         * tests/uninorm/test-u8-normcoll.c: Likewise.
40627         * tests/uninorm/test-u16-nfc.c: Likewise.
40628         * tests/uninorm/test-u16-nfd.c: Likewise.
40629         * tests/uninorm/test-u16-nfkc.c: Likewise.
40630         * tests/uninorm/test-u16-nfkd.c: Likewise.
40631         * tests/uninorm/test-u16-normcmp.c: Likewise.
40632         * tests/uninorm/test-u16-normcoll.c: Likewise.
40633         * tests/uninorm/test-u32-nfc.c: Likewise.
40634         * tests/uninorm/test-u32-nfd.c: Likewise.
40635         * tests/uninorm/test-u32-nfkc.c: Likewise.
40636         * tests/uninorm/test-u32-nfkd.c: Likewise.
40637         * tests/uninorm/test-u32-normalize-big.c: Likewise.
40638         * tests/uninorm/test-u32-normcmp.c: Likewise.
40639         * tests/uninorm/test-u32-normcoll.c: Likewise.
40640         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
40641         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
40642         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
40643         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
40644         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
40645         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
40646         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
40647         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
40648         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
40649         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
40650         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
40651         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
40652         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
40653         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
40654         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
40655         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
40656         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
40657         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
40658         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
40659         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
40660         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
40661         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
40662         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
40663         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
40664         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
40665         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
40666         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
40667         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
40668         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
40669         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
40670         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
40671         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
40672         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
40673         * tests/uniwidth/test-u8-strwidth.c: Likewise.
40674         * tests/uniwidth/test-u8-width.c: Likewise.
40675         * tests/uniwidth/test-u16-strwidth.c: Likewise.
40676         * tests/uniwidth/test-u16-width.c: Likewise.
40677         * tests/uniwidth/test-u32-strwidth.c: Likewise.
40678         * tests/uniwidth/test-u32-width.c: Likewise.
40679         * tests/uniwidth/test-uc_width.c: Likewise.
40680         * tests/uniwidth/test-uc_width2.c: Likewise.
40681         * modules/acl-tests (Files): Add tests/macros.h.
40682         * modules/areadlink-tests (Files): Likewise.
40683         * modules/areadlink-with-size-tests (Files): Likewise.
40684         * modules/areadlinkat-tests (Files): Likewise.
40685         * modules/areadlinkat-with-size-tests (Files): Likewise.
40686         * modules/argmatch-tests (Files): Likewise.
40687         * modules/argv-iter-tests (Files): Likewise.
40688         * modules/array-list-tests (Files): Likewise.
40689         * modules/array-mergesort-tests (Files): Likewise.
40690         * modules/array-oset-tests (Files): Likewise.
40691         * modules/avltree-list-tests (Files): Likewise.
40692         * modules/avltree-oset-tests (Files): Likewise.
40693         * modules/avltreehash-list-tests (Files): Likewise.
40694         * modules/base64-tests (Files): Likewise.
40695         * modules/binary-io-tests (Files): Likewise.
40696         * modules/bitrotate-tests (Files): Likewise.
40697         * modules/btowc-tests (Files): Likewise.
40698         * modules/byteswap-tests (Files): Likewise.
40699         * modules/c-ctype-tests (Files): Likewise.
40700         * modules/c-stack-tests (Files): Likewise.
40701         * modules/c-strcase-tests (Files): Likewise.
40702         * modules/c-strcasestr-tests (Files): Likewise.
40703         * modules/c-strstr-tests (Files): Likewise.
40704         * modules/canonicalize-lgpl-tests (Files): Likewise.
40705         * modules/canonicalize-tests (Files): Likewise.
40706         * modules/carray-list-tests (Files): Likewise.
40707         * modules/ceilf-tests (Files): Likewise.
40708         * modules/ceill-tests (Files): Likewise.
40709         * modules/chown-tests (Files): Likewise.
40710         * modules/cloexec-tests (Files): Likewise.
40711         * modules/copy-file-tests (Files): Likewise.
40712         * modules/count-one-bits-tests (Files): Likewise.
40713         * modules/dprintf-posix-tests (Files): Likewise.
40714         * modules/dup2-tests (Files): Likewise.
40715         * modules/dup3-tests (Files): Likewise.
40716         * modules/duplocale-tests (Files): Likewise.
40717         * modules/fbufmode-tests (Files): Likewise.
40718         * modules/fchdir-tests (Files): Likewise.
40719         * modules/fcntl-safer-tests (Files): Likewise.
40720         * modules/fcntl-tests (Files): Likewise.
40721         * modules/fdopendir-tests (Files): Likewise.
40722         * modules/fdutimensat-tests (Files): Likewise.
40723         * modules/fflush-tests (Files): Likewise.
40724         * modules/filevercmp-tests (Files): Likewise.
40725         * modules/flock-tests (Files): Likewise.
40726         * modules/floorf-tests (Files): Likewise.
40727         * modules/floorl-tests (Files): Likewise.
40728         * modules/fnmatch-tests (Files): Likewise.
40729         * modules/fopen-safer-tests (Files): Likewise.
40730         * modules/fopen-tests (Files): Likewise.
40731         * modules/fpending-tests (Files): Likewise.
40732         * modules/fprintf-posix-tests (Files): Likewise.
40733         * modules/fpurge-tests (Files): Likewise.
40734         * modules/freadable-tests (Files): Likewise.
40735         * modules/freadahead-tests (Files): Likewise.
40736         * modules/freading-tests (Files): Likewise.
40737         * modules/freadptr-tests (Files): Likewise.
40738         * modules/freadseek-tests (Files): Likewise.
40739         * modules/freopen-tests (Files): Likewise.
40740         * modules/frexp-nolibm-tests (Files): Likewise.
40741         * modules/frexp-tests (Files): Likewise.
40742         * modules/frexpl-nolibm-tests (Files): Likewise.
40743         * modules/frexpl-tests (Files): Likewise.
40744         * modules/fseek-tests (Files): Likewise.
40745         * modules/fseeko-tests (Files): Likewise.
40746         * modules/fstrcmp-tests (Files): Likewise.
40747         * modules/fsync-tests (Files): Likewise.
40748         * modules/ftell-tests (Files): Likewise.
40749         * modules/ftello-tests (Files): Likewise.
40750         * modules/func-tests (Files): Likewise.
40751         * modules/futimens-tests (Files): Likewise.
40752         * modules/fwritable-tests (Files): Likewise.
40753         * modules/fwriting-tests (Files): Likewise.
40754         * modules/getcwd-tests (Files): Likewise.
40755         * modules/getdate-tests (Files): Likewise.
40756         * modules/getdelim-tests (Files): Likewise.
40757         * modules/getdtablesize-tests (Files): Likewise.
40758         * modules/getgroups-tests (Files): Likewise.
40759         * modules/getline-tests (Files): Likewise.
40760         * modules/getndelim2-tests (Files): Likewise.
40761         * modules/glob-tests (Files): Likewise.
40762         * modules/hash-tests (Files): Likewise.
40763         * modules/i-ring-tests (Files): Likewise.
40764         * modules/iconv-tests (Files): Likewise.
40765         * modules/iconv_open-utf-tests (Files): Likewise.
40766         * modules/idpriv-drop-tests (Files): Likewise.
40767         * modules/idpriv-droptemp-tests (Files): Likewise.
40768         * modules/inet_ntop-tests (Files): Likewise.
40769         * modules/inet_pton-tests (Files): Likewise.
40770         * modules/isblank-tests (Files): Likewise.
40771         * modules/isfinite-tests (Files): Likewise.
40772         * modules/isinf-tests (Files): Likewise.
40773         * modules/isnan-tests (Files): Likewise.
40774         * modules/isnand-nolibm-tests (Files): Likewise.
40775         * modules/isnand-tests (Files): Likewise.
40776         * modules/isnanf-nolibm-tests (Files): Likewise.
40777         * modules/isnanf-tests (Files): Likewise.
40778         * modules/isnanl-nolibm-tests (Files): Likewise.
40779         * modules/isnanl-tests (Files): Likewise.
40780         * modules/lchown-tests (Files): Likewise.
40781         * modules/ldexpl-tests (Files): Likewise.
40782         * modules/link-tests (Files): Likewise.
40783         * modules/linkat-tests (Files): Likewise.
40784         * modules/linked-list-tests (Files): Likewise.
40785         * modules/linkedhash-list-tests (Files): Likewise.
40786         * modules/localename-tests (Files): Likewise.
40787         * modules/lseek-tests (Files): Likewise.
40788         * modules/lstat-tests (Files): Likewise.
40789         * modules/mbmemcasecmp-tests (Files): Likewise.
40790         * modules/mbmemcasecoll-tests (Files): Likewise.
40791         * modules/mbrtowc-tests (Files): Likewise.
40792         * modules/mbscasecmp-tests (Files): Likewise.
40793         * modules/mbscasestr-tests (Files): Likewise.
40794         * modules/mbschr-tests (Files): Likewise.
40795         * modules/mbscspn-tests (Files): Likewise.
40796         * modules/mbsinit-tests (Files): Likewise.
40797         * modules/mbsncasecmp-tests (Files): Likewise.
40798         * modules/mbsnrtowcs-tests (Files): Likewise.
40799         * modules/mbspbrk-tests (Files): Likewise.
40800         * modules/mbspcasecmp-tests (Files): Likewise.
40801         * modules/mbsrchr-tests (Files): Likewise.
40802         * modules/mbsrtowcs-tests (Files): Likewise.
40803         * modules/mbsspn-tests (Files): Likewise.
40804         * modules/mbsstr-tests (Files): Likewise.
40805         * modules/memchr-tests (Files): Likewise.
40806         * modules/memchr2-tests (Files): Likewise.
40807         * modules/memcmp-tests (Files): Likewise.
40808         * modules/memmem-tests (Files): Likewise.
40809         * modules/memrchr-tests (Files): Likewise.
40810         * modules/mkdir-tests (Files): Likewise.
40811         * modules/mkfifo-tests (Files): Likewise.
40812         * modules/mkfifoat-tests (Files): Likewise.
40813         * modules/mknod-tests (Files): Likewise.
40814         * modules/nanosleep-tests (Files): Likewise.
40815         * modules/nl_langinfo-tests (Files): Likewise.
40816         * modules/obstack-printf-tests (Files): Likewise.
40817         * modules/open-tests (Files): Likewise.
40818         * modules/openat-tests (Files): Likewise.
40819         * modules/pipe-filter-gi-tests (Files): Likewise.
40820         * modules/pipe-filter-ii-tests (Files): Likewise.
40821         * modules/pipe2-tests (Files): Likewise.
40822         * modules/popen-safer-tests (Files): Likewise.
40823         * modules/popen-tests (Files): Likewise.
40824         * modules/posixtm-tests (Files): Likewise.
40825         * modules/pread-tests (Files): Likewise.
40826         * modules/printf-frexp-tests (Files): Likewise.
40827         * modules/printf-frexpl-tests (Files): Likewise.
40828         * modules/printf-posix-tests (Files): Likewise.
40829         * modules/priv-set-tests (Files): Likewise.
40830         * modules/quotearg-tests (Files): Likewise.
40831         * modules/random_r-tests (Files): Likewise.
40832         * modules/rawmemchr-tests (Files): Likewise.
40833         * modules/rbtree-list-tests (Files): Likewise.
40834         * modules/rbtree-oset-tests (Files): Likewise.
40835         * modules/rbtreehash-list-tests (Files): Likewise.
40836         * modules/readlink-tests (Files): Likewise.
40837         * modules/remove-tests (Files): Likewise.
40838         * modules/rename-tests (Files): Likewise.
40839         * modules/renameat-tests (Files): Likewise.
40840         * modules/rmdir-tests (Files): Likewise.
40841         * modules/round-tests (Files): Likewise.
40842         * modules/roundf-tests (Files): Likewise.
40843         * modules/roundl-tests (Files): Likewise.
40844         * modules/safe-alloc-tests (Files): Likewise.
40845         * modules/setenv-tests (Files): Likewise.
40846         * modules/sigaction-tests (Files): Likewise.
40847         * modules/signbit-tests (Files): Likewise.
40848         * modules/sleep-tests (Files): Likewise.
40849         * modules/snprintf-posix-tests (Files): Likewise.
40850         * modules/snprintf-tests (Files): Likewise.
40851         * modules/sprintf-posix-tests (Files): Likewise.
40852         * modules/stat-tests (Files): Likewise.
40853         * modules/stat-time-tests (Files): Likewise.
40854         * modules/strcasestr-tests (Files): Likewise.
40855         * modules/strchrnul-tests (Files): Likewise.
40856         * modules/strerror-tests (Files): Likewise.
40857         * modules/striconv-tests (Files): Likewise.
40858         * modules/striconveh-tests (Files): Likewise.
40859         * modules/striconveha-tests (Files): Likewise.
40860         * modules/strsignal-tests (Files): Likewise.
40861         * modules/strstr-tests (Files): Likewise.
40862         * modules/strtod-tests (Files): Likewise.
40863         * modules/strverscmp-tests (Files): Likewise.
40864         * modules/symlink-tests (Files): Likewise.
40865         * modules/symlinkat-tests (Files): Likewise.
40866         * modules/trunc-tests (Files): Likewise.
40867         * modules/truncf-tests (Files): Likewise.
40868         * modules/truncl-tests (Files): Likewise.
40869         * modules/uname-tests (Files): Likewise.
40870         * modules/unicase/cased-tests (Files): Likewise.
40871         * modules/unicase/ignorable-tests (Files): Likewise.
40872         * modules/unicase/locale-language-tests (Files): Likewise.
40873         * modules/unicase/tolower-tests (Files): Likewise.
40874         * modules/unicase/totitle-tests (Files): Likewise.
40875         * modules/unicase/toupper-tests (Files): Likewise.
40876         * modules/unicase/u8-casecmp-tests (Files): Likewise.
40877         * modules/unicase/u8-casecoll-tests (Files): Likewise.
40878         * modules/unicase/u8-casefold-tests (Files): Likewise.
40879         * modules/unicase/u8-is-cased-tests (Files): Likewise.
40880         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
40881         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
40882         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
40883         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
40884         * modules/unicase/u8-tolower-tests (Files): Likewise.
40885         * modules/unicase/u8-totitle-tests (Files): Likewise.
40886         * modules/unicase/u8-toupper-tests (Files): Likewise.
40887         * modules/unicase/u16-casecmp-tests (Files): Likewise.
40888         * modules/unicase/u16-casecoll-tests (Files): Likewise.
40889         * modules/unicase/u16-casefold-tests (Files): Likewise.
40890         * modules/unicase/u16-is-cased-tests (Files): Likewise.
40891         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
40892         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
40893         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
40894         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
40895         * modules/unicase/u16-tolower-tests (Files): Likewise.
40896         * modules/unicase/u16-totitle-tests (Files): Likewise.
40897         * modules/unicase/u16-toupper-tests (Files): Likewise.
40898         * modules/unicase/u32-casecmp-tests (Files): Likewise.
40899         * modules/unicase/u32-casecoll-tests (Files): Likewise.
40900         * modules/unicase/u32-casefold-tests (Files): Likewise.
40901         * modules/unicase/u32-is-cased-tests (Files): Likewise.
40902         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
40903         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
40904         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
40905         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
40906         * modules/unicase/u32-tolower-tests (Files): Likewise.
40907         * modules/unicase/u32-totitle-tests (Files): Likewise.
40908         * modules/unicase/u32-toupper-tests (Files): Likewise.
40909         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
40910         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
40911         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
40912         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
40913         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
40914         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
40915         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
40916         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
40917         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
40918         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
40919         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
40920         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
40921         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
40922         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
40923         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
40924         * modules/unictype/bidicategory-name-tests (Files): Likewise.
40925         * modules/unictype/bidicategory-of-tests (Files): Likewise.
40926         * modules/unictype/bidicategory-test-tests (Files): Likewise.
40927         * modules/unictype/block-list-tests (Files): Likewise.
40928         * modules/unictype/block-of-tests (Files): Likewise.
40929         * modules/unictype/block-test-tests (Files): Likewise.
40930         * modules/unictype/category-C-tests (Files): Likewise.
40931         * modules/unictype/category-Cc-tests (Files): Likewise.
40932         * modules/unictype/category-Cf-tests (Files): Likewise.
40933         * modules/unictype/category-Cn-tests (Files): Likewise.
40934         * modules/unictype/category-Co-tests (Files): Likewise.
40935         * modules/unictype/category-Cs-tests (Files): Likewise.
40936         * modules/unictype/category-L-tests (Files): Likewise.
40937         * modules/unictype/category-Ll-tests (Files): Likewise.
40938         * modules/unictype/category-Lm-tests (Files): Likewise.
40939         * modules/unictype/category-Lo-tests (Files): Likewise.
40940         * modules/unictype/category-Lt-tests (Files): Likewise.
40941         * modules/unictype/category-Lu-tests (Files): Likewise.
40942         * modules/unictype/category-M-tests (Files): Likewise.
40943         * modules/unictype/category-Mc-tests (Files): Likewise.
40944         * modules/unictype/category-Me-tests (Files): Likewise.
40945         * modules/unictype/category-Mn-tests (Files): Likewise.
40946         * modules/unictype/category-N-tests (Files): Likewise.
40947         * modules/unictype/category-Nd-tests (Files): Likewise.
40948         * modules/unictype/category-Nl-tests (Files): Likewise.
40949         * modules/unictype/category-No-tests (Files): Likewise.
40950         * modules/unictype/category-P-tests (Files): Likewise.
40951         * modules/unictype/category-Pc-tests (Files): Likewise.
40952         * modules/unictype/category-Pd-tests (Files): Likewise.
40953         * modules/unictype/category-Pe-tests (Files): Likewise.
40954         * modules/unictype/category-Pf-tests (Files): Likewise.
40955         * modules/unictype/category-Pi-tests (Files): Likewise.
40956         * modules/unictype/category-Po-tests (Files): Likewise.
40957         * modules/unictype/category-Ps-tests (Files): Likewise.
40958         * modules/unictype/category-S-tests (Files): Likewise.
40959         * modules/unictype/category-Sc-tests (Files): Likewise.
40960         * modules/unictype/category-Sk-tests (Files): Likewise.
40961         * modules/unictype/category-Sm-tests (Files): Likewise.
40962         * modules/unictype/category-So-tests (Files): Likewise.
40963         * modules/unictype/category-Z-tests (Files): Likewise.
40964         * modules/unictype/category-Zl-tests (Files): Likewise.
40965         * modules/unictype/category-Zp-tests (Files): Likewise.
40966         * modules/unictype/category-Zs-tests (Files): Likewise.
40967         * modules/unictype/category-and-not-tests (Files): Likewise.
40968         * modules/unictype/category-and-tests (Files): Likewise.
40969         * modules/unictype/category-byname-tests (Files): Likewise.
40970         * modules/unictype/category-name-tests (Files): Likewise.
40971         * modules/unictype/category-none-tests (Files): Likewise.
40972         * modules/unictype/category-of-tests (Files): Likewise.
40973         * modules/unictype/category-or-tests (Files): Likewise.
40974         * modules/unictype/category-test-withtable-tests (Files): Likewise.
40975         * modules/unictype/combining-class-tests (Files): Likewise.
40976         * modules/unictype/ctype-alnum-tests (Files): Likewise.
40977         * modules/unictype/ctype-alpha-tests (Files): Likewise.
40978         * modules/unictype/ctype-blank-tests (Files): Likewise.
40979         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
40980         * modules/unictype/ctype-digit-tests (Files): Likewise.
40981         * modules/unictype/ctype-graph-tests (Files): Likewise.
40982         * modules/unictype/ctype-lower-tests (Files): Likewise.
40983         * modules/unictype/ctype-print-tests (Files): Likewise.
40984         * modules/unictype/ctype-punct-tests (Files): Likewise.
40985         * modules/unictype/ctype-space-tests (Files): Likewise.
40986         * modules/unictype/ctype-upper-tests (Files): Likewise.
40987         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
40988         * modules/unictype/decimal-digit-tests (Files): Likewise.
40989         * modules/unictype/digit-tests (Files): Likewise.
40990         * modules/unictype/mirror-tests (Files): Likewise.
40991         * modules/unictype/numeric-tests (Files): Likewise.
40992         * modules/unictype/property-alphabetic-tests (Files): Likewise.
40993         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
40994         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
40995         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
40996         Likewise.
40997         * modules/unictype/property-bidi-block-separator-tests (Files):
40998         Likewise.
40999         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
41000         Likewise.
41001         * modules/unictype/property-bidi-common-separator-tests (Files):
41002         Likewise.
41003         * modules/unictype/property-bidi-control-tests (Files): Likewise.
41004         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
41005         Likewise.
41006         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
41007         Likewise.
41008         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
41009         Likewise.
41010         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
41011         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
41012         Likewise.
41013         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
41014         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
41015         Likewise.
41016         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
41017         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
41018         * modules/unictype/property-bidi-segment-separator-tests (Files):
41019         Likewise.
41020         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
41021         * modules/unictype/property-byname-tests (Files): Likewise.
41022         * modules/unictype/property-combining-tests (Files): Likewise.
41023         * modules/unictype/property-composite-tests (Files): Likewise.
41024         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
41025         * modules/unictype/property-dash-tests (Files): Likewise.
41026         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
41027         * modules/unictype/property-default-ignorable-code-point-tests (Files):
41028         Likewise.
41029         * modules/unictype/property-deprecated-tests (Files): Likewise.
41030         * modules/unictype/property-diacritic-tests (Files): Likewise.
41031         * modules/unictype/property-extender-tests (Files): Likewise.
41032         * modules/unictype/property-format-control-tests (Files): Likewise.
41033         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
41034         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
41035         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
41036         * modules/unictype/property-hex-digit-tests (Files): Likewise.
41037         * modules/unictype/property-hyphen-tests (Files): Likewise.
41038         * modules/unictype/property-id-continue-tests (Files): Likewise.
41039         * modules/unictype/property-id-start-tests (Files): Likewise.
41040         * modules/unictype/property-ideographic-tests (Files): Likewise.
41041         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
41042         * modules/unictype/property-ids-trinary-operator-tests (Files):
41043         Likewise.
41044         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
41045         * modules/unictype/property-iso-control-tests (Files): Likewise.
41046         * modules/unictype/property-join-control-tests (Files): Likewise.
41047         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
41048         * modules/unictype/property-line-separator-tests (Files): Likewise.
41049         * modules/unictype/property-logical-order-exception-tests (Files):
41050         Likewise.
41051         * modules/unictype/property-lowercase-tests (Files): Likewise.
41052         * modules/unictype/property-math-tests (Files): Likewise.
41053         * modules/unictype/property-non-break-tests (Files): Likewise.
41054         * modules/unictype/property-not-a-character-tests (Files): Likewise.
41055         * modules/unictype/property-numeric-tests (Files): Likewise.
41056         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
41057         * modules/unictype/property-other-default-ignorable-code-point-tests
41058         (Files): Likewise.
41059         * modules/unictype/property-other-grapheme-extend-tests (Files):
41060         Likewise.
41061         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
41062         * modules/unictype/property-other-id-start-tests (Files): Likewise.
41063         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
41064         * modules/unictype/property-other-math-tests (Files): Likewise.
41065         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
41066         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
41067         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
41068         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
41069         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
41070         * modules/unictype/property-private-use-tests (Files): Likewise.
41071         * modules/unictype/property-punctuation-tests (Files): Likewise.
41072         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
41073         * modules/unictype/property-radical-tests (Files): Likewise.
41074         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
41075         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
41076         * modules/unictype/property-space-tests (Files): Likewise.
41077         * modules/unictype/property-terminal-punctuation-tests (Files):
41078         Likewise.
41079         * modules/unictype/property-test-tests (Files): Likewise.
41080         * modules/unictype/property-titlecase-tests (Files): Likewise.
41081         * modules/unictype/property-unassigned-code-value-tests (Files):
41082         Likewise.
41083         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
41084         * modules/unictype/property-uppercase-tests (Files): Likewise.
41085         * modules/unictype/property-variation-selector-tests (Files): Likewise.
41086         * modules/unictype/property-white-space-tests (Files): Likewise.
41087         * modules/unictype/property-xid-continue-tests (Files): Likewise.
41088         * modules/unictype/property-xid-start-tests (Files): Likewise.
41089         * modules/unictype/property-zero-width-tests (Files): Likewise.
41090         * modules/unictype/scripts-tests (Files): Likewise.
41091         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
41092         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
41093         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
41094         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
41095         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
41096         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
41097         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
41098         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
41099         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
41100         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
41101         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
41102         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
41103         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
41104         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
41105         * modules/uninorm/composition-tests (Files): Likewise.
41106         * modules/uninorm/decomposing-form-tests (Files): Likewise.
41107         * modules/uninorm/decomposition-tests (Files): Likewise.
41108         * modules/uninorm/filter-tests (Files): Likewise.
41109         * modules/uninorm/nfc-tests (Files): Likewise.
41110         * modules/uninorm/nfd-tests (Files): Likewise.
41111         * modules/uninorm/nfkc-tests (Files): Likewise.
41112         * modules/uninorm/nfkd-tests (Files): Likewise.
41113         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
41114         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
41115         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
41116         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
41117         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
41118         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
41119         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
41120         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
41121         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
41122         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
41123         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
41124         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
41125         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
41126         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
41127         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
41128         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
41129         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
41130         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
41131         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
41132         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
41133         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
41134         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
41135         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
41136         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
41137         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
41138         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
41139         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
41140         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
41141         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
41142         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
41143         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
41144         * modules/uniwidth/u8-width-tests (Files): Likewise.
41145         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
41146         * modules/uniwidth/u16-width-tests (Files): Likewise.
41147         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
41148         * modules/uniwidth/u32-width-tests (Files): Likewise.
41149         * modules/uniwidth/width-tests (Files): Likewise.
41150         * modules/unlink-tests (Files): Likewise.
41151         * modules/unsetenv-tests (Files): Likewise.
41152         * modules/usleep-tests (Files): Likewise.
41153         * modules/utimens-tests (Files): Likewise.
41154         * modules/utimensat-tests (Files): Likewise.
41155         * modules/vasnprintf-posix-tests (Files): Likewise.
41156         * modules/vasnprintf-tests (Files): Likewise.
41157         * modules/vasprintf-posix-tests (Files): Likewise.
41158         * modules/vasprintf-tests (Files): Likewise.
41159         * modules/vdprintf-posix-tests (Files): Likewise.
41160         * modules/vfprintf-posix-tests (Files): Likewise.
41161         * modules/vprintf-posix-tests (Files): Likewise.
41162         * modules/vsnprintf-posix-tests (Files): Likewise.
41163         * modules/vsnprintf-tests (Files): Likewise.
41164         * modules/vsprintf-posix-tests (Files): Likewise.
41165         * modules/wcrtomb-tests (Files): Likewise.
41166         * modules/wcsnrtombs-tests (Files): Likewise.
41167         * modules/wcsrtombs-tests (Files): Likewise.
41168         * modules/wctype-tests (Files): Likewise.
41169         * modules/wcwidth-tests (Files): Likewise.
41170         * modules/xmemdup0-tests (Files): Likewise.
41171         * modules/xprintf-posix-tests (Files): Likewise.
41172         * modules/xvasprintf-tests (Files): Likewise.
41173
41174 2009-12-24  Eric Blake  <ebb9@byu.net>
41175
41176         test-nanosleep: fix typo
41177         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
41178         patch.
41179         Reported by Bruno Haible.
41180
41181 2009-12-24  Bruno Haible  <bruno@clisp.org>
41182
41183         Reduce namespace pollution on glibc systems.
41184         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
41185         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
41186         systems.
41187         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
41188         <getopt.h> on glibc systems.
41189         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
41190         systems.
41191         * lib/fcntl.c: Include <unistd.h> here instead.
41192
41193 2009-12-24  Bruno Haible  <bruno@clisp.org>
41194
41195         * lib/stdlib.in.h (includes): Fix typo in today's commit.
41196
41197 2009-12-24  Eric Blake  <ebb9@byu.net>
41198
41199         tests: add signature checks
41200         * tests/signature.h (SIGNATURE_CHECK): New file.
41201         * modules/atexit-tests (Files): Use it.
41202         * modules/btowc-tests (Files): Likewise.
41203         * modules/canonicalize-lgpl-tests (Files): Likewise.
41204         * modules/ceilf-tests (Files): Likewise.
41205         * modules/ceill-tests (Files): Likewise.
41206         * modules/chown-tests (Files): Likewise.
41207         * modules/dprintf-posix-tests (Files): Likewise.
41208         * modules/dup2-tests (Files): Likewise.
41209         * modules/dup3-tests (Files): Likewise.
41210         * modules/duplocale-tests (Files): Likewise.
41211         * modules/fchdir-tests (Files): Likewise.
41212         * modules/fcntl-tests (Files): Likewise.
41213         * modules/fdopendir-tests (Files): Likewise.
41214         * modules/fflush-tests (Files): Likewise.
41215         * modules/flock-tests (Files): Likewise.
41216         * modules/floorf-tests (Files): Likewise.
41217         * modules/floorl-tests (Files): Likewise.
41218         * modules/fnmatch-tests (Files): Likewise.
41219         * modules/fopen-tests (Files): Likewise.
41220         * modules/fprintf-posix-tests (Files): Likewise.
41221         * modules/freopen-tests (Files): Likewise.
41222         * modules/frexp-nolibm-tests (Files): Likewise.
41223         * modules/frexp-tests (Files): Likewise.
41224         * modules/frexpl-nolibm-tests (Files): Likewise.
41225         * modules/frexpl-tests (Files): Likewise.
41226         * modules/fseek-tests (Files): Likewise.
41227         * modules/fseeko-tests (Files): Likewise.
41228         * modules/fsync-tests (Files): Likewise.
41229         * modules/ftell-tests (Files): Likewise.
41230         * modules/ftello-tests (Files): Likewise.
41231         * modules/futimens-tests (Files): Likewise.
41232         * modules/getaddrinfo-tests (Files): Likewise.
41233         * modules/getcwd-tests (Files): Likewise.
41234         * modules/getdelim-tests (Files): Likewise.
41235         * modules/getdtablesize-tests (Files): Likewise.
41236         * modules/getgroups-tests (Files): Likewise.
41237         * modules/gethostname-tests (Files): Likewise.
41238         * modules/getline-tests (Files): Likewise.
41239         * modules/getopt-posix-tests (Files): Likewise.
41240         * modules/gettimeofday-tests (Files): Likewise.
41241         * modules/glob-tests (Files): Likewise.
41242         * modules/iconv-tests (Files): Likewise.
41243         * modules/inet_ntop-tests (Files): Likewise.
41244         * modules/inet_pton-tests (Files): Likewise.
41245         * modules/isblank-tests (Files): Likewise.
41246         * modules/lchown-tests (Files): Likewise.
41247         * modules/ldexpl-tests (Files): Likewise.
41248         * modules/link-tests (Files): Likewise.
41249         * modules/linkat-tests (Files): Likewise.
41250         * modules/lseek-tests (Files): Likewise.
41251         * modules/lstat-tests (Files): Likewise.
41252         * modules/mbrtowc-tests (Files): Likewise.
41253         * modules/mbsinit-tests (Files): Likewise.
41254         * modules/mbsnrtowcs-tests (Files): Likewise.
41255         * modules/mbsrtowcs-tests (Files): Likewise.
41256         * modules/memchr-tests (Files): Likewise.
41257         * modules/memcmp-tests (Files): Likewise.
41258         * modules/memmem-tests (Files): Likewise.
41259         * modules/memrchr-tests (Files): Likewise.
41260         * modules/mkdir-tests (Files): Likewise.
41261         * modules/mkfifo-tests (Files): Likewise.
41262         * modules/mkfifoat-tests (Files): Likewise.
41263         * modules/mknod-tests (Files): Likewise.
41264         * modules/nanosleep-tests (Files): Likewise.
41265         * modules/nl_langinfo-tests (Files): Likewise.
41266         * modules/obstack-printf-tests (Files): Likewise.
41267         * modules/open-tests (Files): Likewise.
41268         * modules/openat-tests (Files): Likewise.
41269         * modules/perror-tests (Files): Likewise.
41270         * modules/pipe2-tests (Files): Likewise.
41271         * modules/poll-tests (Files): Likewise.
41272         * modules/popen-tests (Files): Likewise.
41273         * modules/posix_spawn-tests (Files): Likewise.
41274         * modules/posix_spawnp-tests (Files): Likewise.
41275         * modules/pread-tests (Files): Likewise.
41276         * modules/printf-posix-tests (Files): Likewise.
41277         * modules/pty-tests (Files): Likewise.
41278         * modules/random_r-tests (Files): Likewise.
41279         * modules/rawmemchr-tests (Files): Likewise.
41280         * modules/readlink-tests (Files): Likewise.
41281         * modules/remove-tests (Files): Likewise.
41282         * modules/rename-tests (Files): Likewise.
41283         * modules/renameat-tests (Files): Likewise.
41284         * modules/rmdir-tests (Files): Likewise.
41285         * modules/round-tests (Files): Likewise.
41286         * modules/roundf-tests (Files): Likewise.
41287         * modules/roundl-tests (Files): Likewise.
41288         * modules/select-tests (Files): Likewise.
41289         * modules/setenv-tests (Files): Likewise.
41290         * modules/sigaction-tests (Files): Likewise.
41291         * modules/sleep-tests (Files): Likewise.
41292         * modules/snprintf-posix-tests (Files): Likewise.
41293         * modules/snprintf-tests (Files): Likewise.
41294         * modules/sprintf-posix-tests (Files): Likewise.
41295         * modules/stat-tests (Files): Likewise.
41296         * modules/strcasestr-tests (Files): Likewise.
41297         * modules/strchrnul-tests (Files): Likewise.
41298         * modules/strerror-tests (Files): Likewise.
41299         * modules/strsignal-tests (Files): Likewise.
41300         * modules/strstr-tests (Files): Likewise.
41301         * modules/strtod-tests (Files): Likewise.
41302         * modules/strverscmp-tests (Files): Likewise.
41303         * modules/symlink-tests (Files): Likewise.
41304         * modules/symlinkat-tests (Files): Likewise.
41305         * modules/times-tests (Files): Likewise.
41306         * modules/trunc-tests (Files): Likewise.
41307         * modules/truncf-tests (Files): Likewise.
41308         * modules/truncl-tests (Files): Likewise.
41309         * modules/tsearch-tests (Files): Likewise.
41310         * modules/uname-tests (Files): Likewise.
41311         * modules/unlink-tests (Files): Likewise.
41312         * modules/unsetenv-tests (Files): Likewise.
41313         * modules/usleep-tests (Files): Likewise.
41314         * modules/utimensat-tests (Files): Likewise.
41315         * modules/vasprintf-tests (Files): Likewise.
41316         * modules/vdprintf-posix-tests (Files): Likewise.
41317         * modules/vfprintf-posix-tests (Files): Likewise.
41318         * modules/vprintf-posix-tests (Files): Likewise.
41319         * modules/vsnprintf-posix-tests (Files): Likewise.
41320         * modules/vsnprintf-tests (Files): Likewise.
41321         * modules/vsprintf-posix-tests (Files): Likewise.
41322         * modules/wcrtomb-tests (Files): Likewise.
41323         * modules/wcsnrtombs-tests (Files): Likewise.
41324         * modules/wcsrtombs-tests (Files): Likewise.
41325         * modules/wcwidth-tests (Files): Likewise.
41326         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
41327         * tests/test-isinf.c (isinf): Likewise.
41328         * tests/test-isnan.c (isnan): Likewise.
41329         * tests/test-signbit.c (signbit): Likewise.
41330         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
41331         declaration, either as macro or with correct signature.
41332         (select): Ensure function under test is declared with correct
41333         signature in correct header.
41334         * tests/test-atexit.c (atexit): Likewise.
41335         * tests/test-btowc.c (btowc): Likewise.
41336         * tests/test-canonicalize-lgpl.c (realpath)
41337         (canonicalize_file_name): Likewise.
41338         * tests/test-ceilf1.c (ceilf): Likewise.
41339         * tests/test-ceill.c (ceill): Likewise.
41340         * tests/test-chown.c (chown): Likewise.
41341         * tests/test-dprintf-posix.c (dprintf): Likewise.
41342         * tests/test-dup2.c (dup2): Likewise.
41343         * tests/test-dup3.c (dup3): Likewise.
41344         * tests/test-duplocale.c (duplocale): Likewise.
41345         * tests/test-fchdir.c (fchdir): Likewise.
41346         * tests/test-fchownat.c (fchownat): Likewise.
41347         * tests/test-fcntl.c (fcntl): Likewise.
41348         * tests/test-fdopendir.c (fdopendir): Likewise.
41349         * tests/test-fflush.c (fflush): Likewise.
41350         * tests/test-flock.c (flock): Likewise.
41351         * tests/test-floorf1.c (floorf): Likewise.
41352         * tests/test-floorl.c (floorl): Likewise.
41353         * tests/test-fnmatch.c (fnmatch): Likewise.
41354         * tests/test-fopen.c (fopen): Likewise.
41355         * tests/test-fprintf-posix.c (fprintf): Likewise.
41356         * tests/test-freopen.c (freopen): Likewise.
41357         * tests/test-frexp.c (frexp): Likewise.
41358         * tests/test-frexpl.c (frexpl): Likewise.
41359         * tests/test-fseek.c (fseek): Likewise.
41360         * tests/test-fseeko.c (fseeko): Likewise.
41361         * tests/test-fstatat.c (fstatat): Likewise.
41362         * tests/test-fsync.c (fsync): Likewise.
41363         * tests/test-ftell.c (ftell): Likewise.
41364         * tests/test-ftello.c (ftello): Likewise.
41365         * tests/test-futimens.c (futimens): Likewise.
41366         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
41367         (gai_strerror): Likewise.
41368         * tests/test-getcwd.c (getcwd): Likewise.
41369         * tests/test-getdelim.c (getdelim): Likewise.
41370         * tests/test-getdtablesize.c (getdtablesize): Likewise.
41371         * tests/test-getgroups.c (getgroups): Likewise.
41372         * tests/test-gethostname.c (gethostname): Likewise.
41373         * tests/test-getline.c (getline): Likewise.
41374         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
41375         Likewise.
41376         * tests/test-gettimeofday.c (gettimeofday): Likewise.
41377         * tests/test-glob.c (glob, globfree): Likewise.
41378         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
41379         * tests/test-inet_ntop.c (inet_ntop): Likewise.
41380         * tests/test-inet_pton.c (inet_pton): Likewise.
41381         * tests/test-isblank.c (isblank): Likewise.
41382         * tests/test-lchown.c (lchown): Likewise.
41383         * tests/test-ldexpl.c (ldexpl): Likewise.
41384         * tests/test-link.c (link): Likewise.
41385         * tests/test-linkat.c (linkat): Likewise.
41386         * tests/test-lseek.c (lseek): Likewise.
41387         * tests/test-lstat.c (lstat): Likewise.
41388         * tests/test-mbrtowc.c (mbrtowc): Likewise.
41389         * tests/test-mbsinit.c (mbsinit): Likewise.
41390         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
41391         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
41392         * tests/test-memchr.c (memchr): Likewise.
41393         * tests/test-memcmp.c (memcmp): Likewise.
41394         * tests/test-memmem.c (memmem): Likewise.
41395         * tests/test-memrchr.c (memrchr): Likewise.
41396         * tests/test-mkdir.c (mkdir): Likewise.
41397         * tests/test-mkdirat.c (mkdirat): Likewise.
41398         * tests/test-mkfifo.c (mkfifo): Likewise.
41399         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
41400         * tests/test-mknod.c (mknod): Likewise.
41401         * tests/test-nanosleep.c (nanosleep): Likewise.
41402         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
41403         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
41404         Likewise.
41405         * tests/test-open.c (open): Likewise.
41406         * tests/test-openat.c (openat): Likewise.
41407         * tests/test-perror.c (perror): Likewise.
41408         * tests/test-pipe2.c (pipe2): Likewise.
41409         * tests/test-poll.c (poll): Likewise.
41410         * tests/test-popen.c (popen, pclose): Likewise.
41411         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
41412         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
41413         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
41414         (posix_spawn_file_actions_destroy)
41415         (posix_spawn_file_actions_addclose)
41416         (posix_spawn_file_actions_addopen)
41417         (posix_spawn_file_actions_adddup2): Likewise.
41418         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
41419         * tests/test-pread.c (pread): Likewise.
41420         * tests/test-printf-posix.c (printf): Likewise.
41421         * tests/test-pty.c (openpty, forkpty): Likewise.
41422         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
41423         (random_r): Likewise.
41424         * tests/test-rawmemchr.c (rawmemchr): Likewise.
41425         * tests/test-readlink.c (readlink): Likewise.
41426         * tests/test-remove.c (remove): Likewise.
41427         * tests/test-rename.c (rename): Likewise.
41428         * tests/test-renameat.c (renameat): Likewise.
41429         * tests/test-rmdir.c (rmdir): Likewise.
41430         * tests/test-round1.c (round): Likewise.
41431         * tests/test-roundf1.c (roundf): Likewise.
41432         * tests/test-roundl.c (roundl): Likewise.
41433         * tests/test-setenv.c (setenv): Likewise.
41434         * tests/test-sigaction.c (sigaction): Likewise.
41435         * tests/test-sleep.c (sleep): Likewise.
41436         * tests/test-snprintf.c (snprintf): Likewise.
41437         * tests/test-sprintf-posix.c (sprintf): Likewise.
41438         * tests/test-stat.c (stat): Likewise.
41439         * tests/test-stpncpy.c (stpncpy): Likewise.
41440         * tests/test-strcasestr.c (strcasestr): Likewise.
41441         * tests/test-strchrnul.c (strchrnul): Likewise.
41442         * tests/test-strerror.c (strerror): Likewise.
41443         * tests/test-strsignal.c (strsignal): Likewise.
41444         * tests/test-strstr.c (strstr): Likewise.
41445         * tests/test-strtod.c (strtod): Likewise.
41446         * tests/test-strverscmp.c (strverscmp): Likewise.
41447         * tests/test-symlink.c (symlink): Likewise.
41448         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
41449         * tests/test-times.c (times): Likewise.
41450         * tests/test-trunc1.c (trunc): Likewise.
41451         * tests/test-truncf1.c (truncf): Likewise.
41452         * tests/test-truncl.c (truncl): Likewise.
41453         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
41454         Likewise.
41455         * tests/test-uname.c (uname): Likewise.
41456         * tests/test-unlink.c (unlink): Likewise.
41457         * tests/test-unlinkat.c (unlinkat): Likewise.
41458         * tests/test-unsetenv.c (unsetenv): Likewise.
41459         * tests/test-usleep.c (usleep): Likewise.
41460         * tests/test-utimensat.c (utimensat): Likewise.
41461         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
41462         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
41463         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
41464         * tests/test-vprintf-posix.c (vprintf): Likewise.
41465         * tests/test-vsnprintf.c (vsnprintf): Likewise.
41466         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
41467         * tests/test-wcrtomb.c (wcrtomb): Likewise.
41468         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
41469         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
41470         * tests/test-wcwidth.c (wcwidth): Likewise.
41471
41472         build: pull in conditional headers during GNULIB_POSIXCHECK
41473         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
41474         definitions from any conditionally-included headers.
41475         * lib/stdlib.in.h (includes): Likewise.
41476         * lib/unistd.in.h (includes): Likewise.
41477
41478 2009-12-24  Bruno Haible  <bruno@clisp.org>
41479
41480         * tests/test-argv-iter.c: Include header file being tested immediately
41481         after config.h.
41482         * tests/test-base64.c: Likewise.
41483         * tests/test-flock.c: Likewise.
41484         * tests/test-fsync.c: Likewise.
41485         * tests/test-getdate.c: Likewise.
41486         * tests/test-getndelim2.c: Likewise.
41487         * tests/test-isfinite.c: Likewise.
41488         * tests/test-isinf.c: Likewise.
41489         * tests/test-strerror.c: Likewise.
41490         * tests/test-strsignal.c: Likewise.
41491
41492 2009-12-23  Eric Blake  <ebb9@byu.net>
41493
41494         unistd: work around cygwin bug
41495         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
41496         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
41497         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
41498
41499 2009-12-23  Bruno Haible  <bruno@clisp.org>
41500
41501         localename: More tests.
41502         * tests/test-localename.c (SIZEOF): New macro.
41503         (categories): New variable.
41504         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
41505         test_locale_name_default): Add test w.r.t. thread locale.
41506         (test_locale_name_thread): New function.
41507         (main): Invoke it.
41508
41509         localename: Make aware of thread locale.
41510         * lib/localename.h (gl_locale_name_thread): New declaration.
41511         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
41512         behaviour with respect to thread locale.
41513         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
41514         <langinfo.h>, glthread/lock.h.
41515         (SIZE_BITS): New macro.
41516         (string_hash): New function.
41517         (struct hash_node): New type.
41518         (HASH_TABLE_SIZE): New macro.
41519         (struniq_hash_table, struniq_lock): New variables.
41520         (struniq): New function.
41521         (gl_locale_name_thread): New function.
41522         (gl_locale_name): Invoke it.
41523         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
41524         * modules/localename (Depends-on): Add lock.
41525         Reported by Mike Gran <spk121@yahoo.com>.
41526
41527 2009-12-23  Eric Blake  <ebb9@byu.net>
41528
41529         va-args: new module
41530         * modules/va-args: New file.
41531         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
41532         * MODULES.html.sh (Core language properties): Mention it.
41533
41534         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
41535         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
41536         named alias for __attribute__((__unused__)).
41537         * lib/chown.c: Update client.
41538         * lib/fchmodat.c: Likewise.
41539         * lib/fts.c: Likewise.
41540         * lib/getdate.y: Likewise.
41541         * lib/getgroups.c: Likewise.
41542         * lib/getopt.c: Likewise.
41543         * lib/getugroups.c: Likewise.
41544         * lib/mkdir.c: Likewise.
41545         * lib/mkfifo.c: Likewise.
41546         * lib/mkfifoat.c: Likewise.
41547         * lib/mknod.c: Likewise.
41548         * lib/mknodat.c: Likewise.
41549         * lib/readlink.c: Likewise.
41550         * lib/se-context.in.h: Likewise.
41551         * lib/se-selinux.in.h: Likewise.
41552         * lib/sockets.c: Likewise.
41553         * lib/symlink.c: Likewise.
41554         * lib/symlinkat.c: Likewise.
41555         * lib/unicodeio.c: Likewise.
41556         * lib/unistr.h: Likewise.
41557         * tests/test-areadlink.c: Likewise.
41558         * tests/test-areadlinkat.c: Likewise.
41559         * tests/test-filenamecat.c: Likewise.
41560         * tests/test-fseeko.c: Likewise.
41561         * tests/test-ftello.c: Likewise.
41562         * tests/test-getdate.c: Likewise.
41563         * tests/test-getgroups.c: Likewise.
41564         * tests/test-gethostname.c: Likewise.
41565         * tests/test-quotearg.c: Likewise.
41566         * tests/test-version-etc.c: Likewise.
41567         * tests/test-xalloc-die.c: Likewise.
41568         * tests/test-xfprintf-posix.c: Likewise.
41569         * tests/test-xprintf-posix.c: Likewise.
41570         * tests/test-xvasprintf.c: Likewise.
41571
41572         tests: avoid compiler warnings
41573         * tests/test-fcntl.c (main): Delete unused parameters.
41574         * tests/test-freopen-safer.c (main): Likewise.
41575         * tests/test-xalloc-die.c (main): Mark unused parameters.
41576         * tests/test-fseeko.c (main): Likewise.
41577         * tests/test-ftello.c (main): Likewise.
41578         * tests/test-nanosleep.c (main): Avoid declaration warning.
41579         * tests/test-sleep.c (main): Likewise.
41580         * tests/test-unsetenv.c (main): Silence warning about string
41581         literal.
41582         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
41583
41584 2009-12-23  Bruno Haible  <bruno@clisp.org>
41585
41586         * tests/test-localename.c (test_locale_name): New function, extracted
41587         from main. Also test mixed situations.
41588         (test_locale_name_posix, test_locale_name_environ,
41589         test_locale_name_default): New functions.
41590         (main): Invoke them all.
41591         * modules/localename-tests (configure.ac): Test for newlocale.
41592
41593 2009-12-23  Bruno Haible  <bruno@clisp.org>
41594
41595         unistd: Ensure getcwd gets declared before being overridden.
41596         * lib/unistd.in.h: Conditionally include <io.h>.
41597
41598 2009-12-22  Bruno Haible  <bruno@clisp.org>
41599
41600         wchar: Diagnose broken combination of glibc and gcc versions and flags.
41601         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
41602         (gl_WCHAR_H): Invoke it.
41603         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
41604         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
41605         Reported by Karl Berry <karl@freefriends.org>.
41606
41607 2009-12-22  Eric Blake  <ebb9@byu.net>
41608
41609         math, unistd: avoid redundant includes
41610         * lib/math.in.h (isnan): No need to re-include <math.h>.
41611         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
41612
41613         getsubopt: work around cygwin bug
41614         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
41615         avoid conflicting with system getsubopt.
41616         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
41617         bug.
41618
41619         getopt: synchronize from glibc
41620         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
41621         parameter order.  Adjust all callers.
41622         (_getopt_internal_r, main): Adjust quoting in error messages.
41623         Drop considerations for outdated POSIX 1003.2 error message.
41624         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
41625         callers.
41626         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
41627
41628         test-getopt: test stderr behavior
41629         * modules/getopt-posix-tests (Depends-on): Add dup2.
41630         * tests/test-getopt.c (ASSERT): Avoid stderr.
41631         (main): Move stderr to a temporary file.
41632         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
41633         Instead, add parameter to inform caller if output occurred.
41634         (test_getopt): Adjust all existing tests to expect silence, and
41635         add new tests of leading ":".
41636         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41637         glibc shortcomings with leading "-:" or "+:" in optstring.
41638         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41639         Likewise.
41640         * doc/posix-functions/getopt.texi (getopt): Likewise.
41641
41642         test-getopt: enhance test
41643         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
41644         supports optind=0.
41645         * tests/test-getopt.c (OPTIND_MIN): Move...
41646         * tests/test-getopt.h (OPTIND_MIN): ...here.
41647         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
41648         Require that optind=0 works, since modern BSD supports it in
41649         addition to optreset, and since coreutils expects it.
41650         (test_getopt_long_only): New test.
41651         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41652         glibc shortcomings with 'W;', and enforcement of optind=0.
41653         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41654         Likewise.
41655
41656 2009-12-21  Bruno Haible  <bruno@clisp.org>
41657
41658         localename: Improvements for MacOS X and Cygwin.
41659         * lib/localename.h (gl_locale_name_environ): New declaration.
41660         * lib/localename.c (gl_locale_name_environ): New function, extracted from
41661         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
41662         (gl_locale_name_posix): Invoke it.
41663         (gl_locale_name_default): Add comments. Use Windows native API also on
41664         Cygwin.
41665
41666 2009-12-21  Bruno Haible  <bruno@clisp.org>
41667
41668         Update list of Win32 locale ids.
41669         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
41670         (LANG_SAMI): Renamed from LANG_SAAMI.
41671         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
41672         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
41673         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
41674         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
41675         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
41676         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
41677         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
41678         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
41679         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
41680         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
41681         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
41682         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
41683         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
41684         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
41685         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
41686         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
41687         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
41688         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
41689         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
41690         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
41691         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
41692         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
41693         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
41694         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
41695         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
41696         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
41697         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
41698         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
41699         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
41700         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
41701         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
41702         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
41703         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
41704         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
41705         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
41706         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
41707         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
41708         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
41709         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
41710         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
41711         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
41712         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
41713         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
41714         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
41715         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
41716         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
41717         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
41718         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
41719         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
41720         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
41721         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
41722         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
41723         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
41724         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
41725         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
41726         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
41727         Add more languages and countries for Sami, Sorbian. Add more countries
41728         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
41729         for Pashto. Change country for Syriac, Tswana.
41730
41731 2009-12-21  Eric Blake  <ebb9@byu.net>
41732
41733         test-utimens: avoid spurious failure
41734         * tests/test-chown.h (nap): Factor...
41735         * tests/nap.h: ...into new file.
41736         * tests/test-lchown.h (nap): Avoid duplication.
41737         * tests/test-utimens-common.h (nap): Use shared implementation,
41738         necessary on file systems with 1-second resolution.
41739         * modules/chown-tests (Files): Include new file.
41740         * modules/fdutimensat-tests (Files): Likewise.
41741         * modules/futimens-tests (Files): Likewise.
41742         * modules/lchown-tests (Files): Likewise.
41743         * modules/openat-tests (Files): Likewise.
41744         * modules/utimens-tests (Files): Likewise.
41745         * modules/utimensat-tests (Files): Likewise.
41746
41747 2009-12-19  Eric Blake  <ebb9@byu.net>
41748
41749         futimens, utimensat: work around Linux bug
41750         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
41751         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
41752         * lib/utimensat.c (rpl_utimensat): Work around it.
41753         * lib/futimens.c (rpl_futimens): Adjust comment.
41754
41755         utimens: work around Linux ctime bug
41756         * lib/utimens.c (detect_ctime_bug): New helper function.
41757         (update_timespec): Differentiate between workaround needed for
41758         this bug vs. what is needed for systems that lack utimensat.
41759         (fdutimens, lutimens): Work around bug.
41760
41761         utimens: check for ctime update
41762         * tests/test-utimens-common.h (check_ctime): Define.
41763         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
41764         * tests/test-futimens.h (test_futimens): Likewise.
41765         * tests/test-lutimens.h (test_lutimens): Likewise.
41766         * doc/posix-functions/futimens.texi (futimens): Document the bug.
41767         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41768
41769 2009-12-19  Bruno Haible  <bruno@clisp.org>
41770
41771         dprintf-posix: Check against memory leak fixed on 2009-12-15.
41772         * tests/test-dprintf-posix2.sh: New file.
41773         * tests/test-dprintf-posix2.c: New file.
41774         * modules/dprintf-posix-tests (Files): Add them.
41775         (configure.ac): Check for getrlimit and setrlimit.
41776         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41777
41778 2009-12-19  Bruno Haible  <bruno@clisp.org>
41779
41780         fprintf-posix: Check against memory leak fixed on 2009-12-15.
41781         * tests/test-fprintf-posix3.sh: New file.
41782         * tests/test-fprintf-posix3.c: New file.
41783         * modules/fprintf-posix-tests (Files): Add them.
41784         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41785
41786 2009-12-19  Eric Blake  <ebb9@byu.net>
41787
41788         dirfd: fix prototype
41789         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
41790         * lib/dirfd.c (dirfd): Likewise.
41791
41792         canonicalize: reduce memory usage
41793         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
41794         allocation to size.
41795         Reported by Solar Designer <solar@openwall.com>.
41796
41797 2009-12-19  Bruno Haible  <bruno@clisp.org>
41798
41799         New module attribute 'Applicability'.
41800         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
41801         * gnulib-tool: New option --extract-applicability.
41802         (func_usage): Document it.
41803         (sed_extract_prog): Recognize it.
41804         (func_get_applicability): New function.
41805         (func_import): Generalize handling of 'link-warning' module.
41806         * modules/link-warning (Applicability): New section.
41807         * modules/arg-nonnull (Applicability): New section.
41808         Repoted by Simon Josefsson <simon@josefsson.org>.
41809
41810 2009-12-19  Bruno Haible  <bruno@clisp.org>
41811
41812         fflush: tweak
41813         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
41814         * lib/fseeko.c (rpl_fseeko): Likewise.
41815
41816 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
41817
41818         * lib/gl_list.h: Fix typo in comment.
41819
41820 2009-12-16  Eric Blake  <ebb9@byu.net>
41821
41822         fcntl: use to simplify other modules
41823         * modules/cloexec (Depends-on): Add fcntl.
41824         * modules/fchdir (Depends-on): Likewise.
41825         * modules/fd-safer-flag (Depends-on): Likewise.
41826         * modules/unistd-safer (Depends-on): Likewise.
41827         * modules/dup3 (configure.ac): Set module indicator.
41828         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
41829         missing.
41830         * lib/fchdir.c (_gl_register_dup): Fix comment.
41831         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
41832         * lib/dup-safer.c (dup_safer): Likewise.
41833         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
41834         * lib/dup3.c (dup3): Likewise.
41835         * tests/test-fchdir.c (main): Enhance test.
41836         Fixes a dup_cloexec bug reported by Ondřej Vašík.
41837
41838         fcntl: port portions of fcntl to mingw
41839         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
41840         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
41841         replacement for mingw.
41842         * modules/fcntl (Description): Update.
41843         (Depends-on): Add dup2.
41844         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
41845         * modules/fcntl-h (Makefile.am): Substitute it.
41846         * lib/fcntl.in.h (fcntl): Update declaration.
41847         (F_DUPFD, F_GETFD): New macros, when needed.
41848         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
41849         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
41850         * tests/test-fcntl.c (check_flags, main): Enhance test for items
41851         we now guarantee.
41852
41853         fcntl: work around cygwin bug in F_DUPFD
41854         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
41855         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
41856         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
41857         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
41858         * doc/posix-functions/fcntl.texi (fcntl): Document it.
41859
41860         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
41861         * modules/fcntl (Files): List new files.
41862         (configure.ac): Run a test.
41863         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
41864         * lib/fcntl.c (rpl_fcntl): Likewise.
41865         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
41866         (gl_FCNTL_H): Always replace fcntl.h.
41867         * modules/fcntl-h (Makefile.am): Substitute witnesses.
41868         * lib/fcntl.in.h (fcntl): Declare replacement.
41869         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
41870         needed, plus a witness.
41871         * doc/posix-functions/fcntl.texi (fcntl): Document this.
41872         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
41873         * tests/test-fcntl.c: New file.
41874         * modules/fcntl-tests: Likewise.
41875
41876         binary-io: avoid potential compilation warning
41877         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
41878         directives.
41879
41880         fflush: avoid compilation error on NetBSD
41881         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
41882         between off_t and fpos_t, since the latter is sometimes a struct.
41883         * lib/fseeko.c (rpl_fseeko): Likewise.
41884         Reported by Alexander Nasonov <alnsn@yandex.ru>.
41885
41886 2009-12-15  Eric Blake  <ebb9@byu.net>
41887
41888         fcntl-h, stdio, sys_ioctl: fix declarations
41889         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
41890         function must not take arguments.
41891         * lib/sys_ioctl.in.h (ioctl): Likewise.
41892         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
41893         (open): Add a link warning.
41894
41895 2009-12-15  Jim Meyering  <meyering@redhat.com>
41896
41897         areadlink, areadlink-with-size: relax license to LGPLv2+
41898         * modules/areadlink (License): Relax to LGPLv2+.
41899         * modules/areadlink-with-size (License): Likewise.
41900
41901 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
41902             Bruno Haible  <bruno@clisp.org>
41903
41904         *printf: Fix memory leak.
41905         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
41906         * lib/vfprintf.c (vfprintf): Likewise.
41907         * lib/dprintf.c (dprintf): Likewise.
41908         * lib/vdprintf.c (vdprintf): Likewise.
41909
41910 2009-12-14  Eric Blake  <ebb9@byu.net>
41911
41912         accept4: adjust module dependencies
41913         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
41914
41915         utimens: one more try at avoiding compiler warning
41916         * lib/utimens.c (lutimens): Lower scope of result.
41917
41918 2009-12-13  Bruno Haible  <bruno@clisp.org>
41919
41920         Move the malloc checking from module 'list' to new module 'xlist'.
41921         * modules/xlist: New file.
41922         * lib/gl_xlist.h: New file.
41923         * lib/gl_xlist.c: New file.
41924         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
41925         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
41926         gl_list_add_last, gl_list_add_before, gl_list_add_after,
41927         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
41928         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
41929         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
41930         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
41931         gl_sortedlist_nx_add): New declarations.
41932         (struct gl_list_implementation): Rename and change methods accordingly.
41933         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
41934         (gl_list_nx_create): Renamed from gl_list_create.
41935         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41936         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41937         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41938         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41939         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41940         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41941         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41942         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41943         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
41944         gl_list_create_empty.
41945         (gl_list_nx_create): Renamed from gl_list_create.
41946         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41947         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41948         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41949         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41950         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41951         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41952         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41953         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41954         * lib/gl_array_list.c: Don't include xalloc.h.
41955         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
41956         NULL upon out-of-memory.
41957         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
41958         out-of-memory.
41959         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
41960         Change return type to 'int'.
41961         (gl_array_nx_set_at): Renamed from gl_array_set_at.
41962         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41963         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
41964         upon out-of-memory.
41965         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
41966         upon out-of-memory.
41967         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
41968         upon out-of-memory.
41969         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
41970         upon out-of-memory.
41971         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
41972         out-of-memory.
41973         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
41974         Update.
41975         (gl_array_list_implementation): Update.
41976         * lib/gl_carray_list.c: Don't include xalloc.h.
41977         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
41978         Return NULL upon out-of-memory.
41979         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
41980         out-of-memory.
41981         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
41982         Change return type to 'int'.
41983         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
41984         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41985         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
41986         upon out-of-memory.
41987         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
41988         upon out-of-memory.
41989         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
41990         out-of-memory.
41991         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
41992         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
41993         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
41994         Update.
41995         (gl_carray_list_implementation): Update.
41996         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
41997         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
41998         gl_linked_create_empty. Return NULL upon out-of-memory.
41999         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
42000         out-of-memory.
42001         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
42002         Change return type to 'int'. Return -1 upon out-of-memory.
42003         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
42004         out-of-memory.
42005         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
42006         upon out-of-memory.
42007         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
42008         upon out-of-memory.
42009         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
42010         NULL upon out-of-memory.
42011         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
42012         upon out-of-memory.
42013         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
42014         out-of-memory.
42015         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
42016         Update.
42017         * lib/gl_linked_list.c: Don't include xalloc.h.
42018         (gl_linked_list_implementation): Update.
42019         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
42020         (add_to_bucket): Change return type to 'int'.
42021         (gl_linkedhash_list_implementation): Update.
42022         * lib/gl_anytree_list1.h (free_subtree): New function.
42023         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
42024         gl_tree_create_empty. Return NULL upon out-of-memory.
42025         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
42026         Change return type to 'int'. Return -1 upon out-of-memory.
42027         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
42028         out-of-memory.
42029         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
42030         (gl_tree_remove_node): New function, moved here from
42031         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
42032         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
42033         Update.
42034         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
42035         malloc, not xmalloc. Return NULL upon out-of-memory.
42036         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
42037         out-of-memory.
42038         (gl_tree_remove_node_from_tree): New function, extracted from
42039         gl_tree_remove_node.
42040         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
42041         upon out-of-memory.
42042         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
42043         out-of-memory.
42044         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
42045         upon out-of-memory.
42046         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
42047         upon out-of-memory.
42048         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
42049         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
42050         not xmalloc. Return NULL upon out-of-memory.
42051         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
42052         out-of-memory.
42053         (gl_tree_remove_node_from_tree): New function, extracted from
42054         gl_tree_remove_node.
42055         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
42056         upon out-of-memory.
42057         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
42058         out-of-memory.
42059         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
42060         upon out-of-memory.
42061         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
42062         upon out-of-memory.
42063         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
42064         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
42065         gl_anytree_list1.h before gl_anyavltree_list2.h.
42066         (gl_avltree_list_implementation): Update.
42067         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
42068         gl_anytree_list1.h before gl_anyavltree_list2.h.
42069         (gl_rbtree_list_implementation): Update.
42070         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
42071         Change return type to 'int'. Return -1 upon out-of-memory. Use
42072         __builtin_expect.
42073         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
42074         (gl_avltreehash_list_implementation): Update.
42075         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
42076         (gl_rbtreehash_list_implementation): Update.
42077         * modules/array-list (Depends-on): Remove xalloc.
42078         * modules/carray-list (Depends-on): Likewise.
42079         * modules/linked-list (Depends-on): Likewise.
42080         * modules/linkedhash-list (Depends-on): Likewise.
42081         * modules/avltree-list (Depends-on): Likewise.
42082         * modules/rbtree-list (Depends-on): Likewise.
42083         * modules/avltreehash-list (Depends-on): Likewise.
42084         * modules/rbtreehash-list (Depends-on): Likewise.
42085
42086         * modules/xsublist: New file.
42087         * lib/gl_xsublist.h: New file.
42088         * lib/gl_xsublist.c: New file.
42089         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
42090         (gl_sublist_nx_create): New declaration.
42091         * lib/gl_sublist.c: Don't include xalloc.h.
42092         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
42093         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
42094         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
42095         Change return type to 'int'. Return -1 upon out-of-memory.
42096         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
42097         upon out-of-memory.
42098         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
42099         NULL upon out-of-memory.
42100         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
42101         upon out-of-memory.
42102         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
42103         NULL upon out-of-memory.
42104         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
42105         NULL upon out-of-memory.
42106         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
42107         upon out-of-memory.
42108         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
42109         (gl_sublist_list_implementation): Update.
42110         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
42111         upon out-of-memory.
42112         * modules/sublist (Depends-on): Remove xalloc.
42113
42114         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
42115         * tests/test-carray_list.c: Likewise.
42116         * tests/test-linked_list.c: Likewise.
42117         * tests/test-linkedhash_list.c: Likewise.
42118         * tests/test-avltree_list.c: Likewise.
42119         * tests/test-rbtree_list.c: Likewise.
42120         * tests/test-avltreehash_list.c: Likewise.
42121         * tests/test-rbtreehash_list.c: Likewise.
42122         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
42123         * modules/carray-list-tests (Makefile.am): Likewise.
42124         * modules/linked-list-tests (Makefile.am): Likewise.
42125         * modules/linkedhash-list-tests (Makefile.am): Likewise.
42126         * modules/avltree-list-tests (Makefile.am): Likewise.
42127         * modules/rbtree-list-tests (Makefile.am): Likewise.
42128         * modules/avltreehash-list-tests (Makefile.am): Likewise.
42129         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
42130
42131         * NEWS: Mention the changes.
42132
42133         * lib/clean-temp.c: Include gl_xlist.h.
42134         * modules/clean-temp (Depends-on): Add xlist.
42135
42136         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
42137         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
42138
42139         * tests/test-array_oset.c: Include gl_xlist.h.
42140         * modules/array-oset-tests (Depends-on): Add xlist.
42141
42142         Reported by José E. Marchesi <jemarch@gnu.org>.
42143
42144 2009-12-13  Bruno Haible  <bruno@clisp.org>
42145
42146         Move the malloc checking from module 'oset' to new module 'xoset'.
42147         * modules/xoset: New file.
42148         * lib/gl_xoset.h: New file.
42149         * lib/gl_xoset.c: New file.
42150         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
42151         declarations.
42152         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
42153         (struct gl_oset_implementation): Rename and change methods accordingly.
42154         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
42155         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
42156         'int'. Mark as __warn_unused_result__.
42157         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
42158         gl_oset_create_empty.
42159         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
42160         'int'.
42161         * lib/gl_array_oset.c: Don't include xalloc.h.
42162         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
42163         malloc, not xmalloc.
42164         (grow): Change return type to 'int'. Don't call xalloc_die.
42165         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
42166         to 'int'.
42167         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
42168         'int'.
42169         (gl_array_oset_implementation): Update.
42170         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
42171         gl_tree_create_empty.
42172         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
42173         'int'.
42174         * lib/gl_avltree_oset.c: Don't include xalloc.h.
42175         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
42176         xmalloc.
42177         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
42178         not xmalloc.
42179         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
42180         xmalloc.
42181         (gl_avltree_oset_implementation): Update.
42182         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
42183         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
42184         xmalloc.
42185         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
42186         not xmalloc.
42187         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
42188         xmalloc.
42189         (gl_rbtree_oset_implementation): Update.
42190         * modules/array-oset (Depends-on): Remove xalloc.
42191         * modules/avltree-oset (Depends-on): Likewise.
42192         * modules/rbtree-oset (Depends-on): Likewise.
42193         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
42194         * tests/test-avltree_oset.c: Likewise.
42195         * tests/test-rbtree_oset.c: Likewise.
42196         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
42197         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
42198         * modules/rbtree-oset-tests (Makefile.am): Likewise.
42199         * NEWS: Mention the change.
42200
42201 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
42202
42203         maint.mk: allow a project to override release-prep commands
42204         * top/maint.mk (alpha, beta, stable): Move release-preparatory
42205         commands into a new rule.
42206         (release-prep): New rule.
42207         (release-prep-hook): New overridable variable.
42208
42209 2009-12-13  Bruno Haible  <bruno@clisp.org>
42210
42211         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
42212
42213 2009-12-13  Jim Meyering  <meyering@redhat.com>
42214
42215         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
42216         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
42217
42218 2009-12-12  Bruno Haible  <bruno@clisp.org>
42219
42220         duplocale: Tweak.
42221         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
42222
42223 2009-12-12  Karl Berry  <karl@gnu.org>
42224
42225         * config/srclist.txt (strtoll.c): tab changes, no more sync.
42226
42227 2009-12-12  Bruno Haible  <bruno@clisp.org>
42228
42229         * m4/po.m4: Undo incorrect untabification.
42230
42231 2009-12-12  Bruno Haible  <bruno@clisp.org>
42232
42233         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
42234         * modules/c-strtod (Depends-on): Add locale.
42235         * modules/c-strtold (Depends-on): Likewise.
42236
42237 2009-12-12  Bruno Haible  <bruno@clisp.org>
42238
42239         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
42240
42241 2009-12-11  Eric Blake  <ebb9@byu.net>
42242
42243         setenv: relax requirement in light of POSIX ruling
42244         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
42245         not NULL.
42246         * tests/test-setenv.c (main): Relax test.
42247         * tests/test-unsetenv.c (main): Likewise.
42248         * doc/posix-functions/setenv.texi (setenv): Document this.
42249         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
42250
42251 2009-12-11  Bruno Haible  <bruno@clisp.org>
42252
42253         New module 'fd-safer-flag'.
42254         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
42255         * lib/dup-safer.c (dup_safer_flag): Remove function.
42256         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
42257         * lib/fd-safer.c (fd_safer_flag): Remove function.
42258         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
42259         * modules/cloexec (configure.ac): Drop indicator macro.
42260         * modules/fd-safer-flag: New file.
42261         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
42262         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
42263         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
42264
42265 2009-12-11  Bruno Haible  <bruno@clisp.org>
42266
42267         Tests for module 'nl_langinfo'.
42268         * modules/nl_langinfo-tests: New file.
42269         * tests/test-nl_langinfo.sh: New file.
42270         * tests/test-nl_langinfo.c: New file.
42271
42272         New module 'nl_langinfo'.
42273         * lib/nl_langinfo.c: New file.
42274         * m4/nl_langinfo.m4: New file.
42275         * modules/nl_langinfo: New file.
42276         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
42277
42278 2009-12-11  Bruno Haible  <bruno@clisp.org>
42279
42280         Tests for module 'langinfo'.
42281         * modules/langinfo-tests: New file.
42282         * tests/test-langinfo.c: New file.
42283
42284         New module 'langinfo'.
42285         * lib/langinfo.in.h: New file.
42286         * m4/langinfo_h.m4: New file.
42287         * modules/langinfo: New file.
42288         * doc/posix-headers/langinfo.texi: Mention the new module.
42289
42290 2009-12-11  Bruno Haible  <bruno@clisp.org>
42291
42292         * lib/config.charset: Untabify.
42293
42294 2009-12-11  Bruno Haible  <bruno@clisp.org>
42295
42296         * modules/unistd-safer (configure.ac): Drop indicator macro.
42297
42298 2009-12-11  Bruno Haible  <bruno@clisp.org>
42299
42300         Move pipe2-safer code to its own file.
42301         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
42302         * lib/pipe-safer.c (pipe2_safer): Remove function.
42303         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
42304         (Makefile.am): Add it to lib_SOURCES.
42305
42306 2009-12-10  Bruno Haible  <bruno@clisp.org>
42307
42308         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
42309
42310 2009-12-10  Bruno Haible  <bruno@clisp.org>
42311
42312         Declare which arguments expect non-NULL values, for GCC and clang.
42313         * build-aux/arg-nonnull.h: New file.
42314         * modules/arg-nonnull: New file.
42315         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
42316         (inet_ntop, inet_pton): Use it.
42317         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
42318         (closedir, dirfd, opendir, scandir, alphasort): Use it.
42319         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
42320         (open, openat): Use it.
42321         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
42322         (fnmatch): Use it.
42323         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
42324         (getopt, getopt_long, getopt_long_only): Use it.
42325         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
42326         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
42327         Use it.
42328         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
42329         (iconv_open): Use it.
42330         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
42331         (strtoimax, strtoumax): Use it.
42332         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
42333         (duplocale): Use it.
42334         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
42335         (frexp, frexpl): Use it.
42336         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
42337         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
42338         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
42339         (tsearch, tfind, tdelete, twalk): Use it.
42340         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
42341         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
42342         sigpending): Use it.
42343         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
42344         (posix_spawn, posix_spawnp, posix_spawnattr_init,
42345         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
42346         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
42347         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
42348         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
42349         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
42350         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
42351         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
42352         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
42353         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
42354         Use it.
42355         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
42356         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
42357         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
42358         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
42359         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
42360         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
42361         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
42362         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
42363         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
42364         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
42365         strtoull, unsetenv): Use it.
42366         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
42367         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
42368         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
42369         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
42370         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
42371         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
42372         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
42373         (strcasecmp, strncasecmp): Use it.
42374         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
42375         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
42376         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
42377         rpl_setsockopt): Use it.
42378         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
42379         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
42380         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
42381         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
42382         (gettimeofday): Use it.
42383         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
42384         (times): Use it.
42385         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
42386         (uname): Use it.
42387         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
42388         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
42389         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
42390         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
42391         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
42392         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
42393         unlinkat, write): Use it.
42394         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
42395         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
42396         * lib/argv-iter.h: Include arg-nonnull.h.
42397         (_ATTRIBUTE_NONNULL_): Remove macro.
42398         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
42399         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
42400         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
42401         optimization.
42402         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
42403         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
42404         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
42405         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
42406         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
42407         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
42408         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
42409         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
42410         * modules/arpa_inet (Depends-on): Add arg-nonnull.
42411         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
42412         * modules/dirent (Depends-on): Add arg-nonnull.
42413         (Makefile.am): Insert arg-nonnull.h into dirent.h.
42414         * modules/fcntl-h (Depends-on): Add arg-nonnull.
42415         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
42416         * modules/fnmatch (Depends-on): Add arg-nonnull.
42417         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
42418         * modules/getopt-posix (Depends-on): Add arg-nonnull.
42419         (Makefile.am): Insert arg-nonnull.h into getopt.h.
42420         * modules/glob (Depends-on): Add arg-nonnull.
42421         (Makefile.am): Insert arg-nonnull.h into glob.h.
42422         * modules/iconv_open (Depends-on): Add arg-nonnull.
42423         (Makefile.am): Insert arg-nonnull.h into iconv.h.
42424         * modules/inttypes (Depends-on): Add arg-nonnull.
42425         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
42426         * modules/locale (Depends-on): Add arg-nonnull.
42427         (Makefile.am): Insert arg-nonnull.h into locale.h.
42428         * modules/math (Depends-on): Add arg-nonnull.
42429         (Makefile.am): Insert arg-nonnull.h into math.h.
42430         * modules/netdb (Depends-on): Add arg-nonnull.
42431         (Makefile.am): Insert arg-nonnull.h into netdb.h.
42432         * modules/search (Depends-on): Add arg-nonnull.
42433         (Makefile.am): Insert arg-nonnull.h into search.h.
42434         * modules/signal (Depends-on): Add arg-nonnull.
42435         (Makefile.am): Insert arg-nonnull.h into signal.h.
42436         * modules/spawn (Depends-on): Add arg-nonnull.
42437         (Makefile.am): Insert arg-nonnull.h into spawn.h.
42438         * modules/stdio (Depends-on): Add arg-nonnull.
42439         (Makefile.am): Insert arg-nonnull.h into stdio.h.
42440         * modules/stdlib (Depends-on): Add arg-nonnull.
42441         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
42442         * modules/string (Depends-on): Add arg-nonnull.
42443         (Makefile.am): Insert arg-nonnull.h into string.h.
42444         * modules/strings (Depends-on): Add arg-nonnull.
42445         (Makefile.am): Insert arg-nonnull.h into strings.h.
42446         * modules/sys_socket (Depends-on): Add arg-nonnull.
42447         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
42448         * modules/sys_stat (Depends-on): Add arg-nonnull.
42449         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
42450         * modules/sys_time (Depends-on): Add arg-nonnull.
42451         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
42452         * modules/sys_times (Depends-on): Add arg-nonnull.
42453         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
42454         * modules/sys_utsname (Depends-on): Add arg-nonnull.
42455         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
42456         * modules/time (Depends-on): Add arg-nonnull.
42457         (Makefile.am): Insert arg-nonnull.h into time.h.
42458         * modules/unistd (Depends-on): Add arg-nonnull.
42459         (Makefile.am): Insert arg-nonnull.h into unistd.h.
42460         * modules/wchar (Depends-on): Add arg-nonnull.
42461         (Makefile.am): Insert arg-nonnull.h into wchar.h.
42462         * modules/argv-iter (Depends-on): Add arg-nonnull.
42463         * tests/test-canonicalize.c (null_ptr): New function.
42464         (main): Use it.
42465         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
42466         (main): Use it.
42467         * tests/test-memmem.c (null_ptr): New function.
42468         (main): Use it.
42469         Reported by Jim Meyering.
42470
42471 2009-12-10  Bruno Haible  <bruno@clisp.org>
42472
42473         Use spaces for indentation, not tabs.
42474         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
42475         * m4/*.m4: Untabify.
42476         * build-aux/*.h: Untabify.
42477         * tests/**/*.[hc]: Untabify.
42478         * README: New section "Indent with spaces, not TABs", based on
42479         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
42480         * NEWS: Mention the change.
42481
42482 2009-12-10  Bruno Haible  <bruno@clisp.org>
42483
42484         pty test: Fix link error.
42485         * modules/pty-tests (Makefile.am): Add the default LDADD value to
42486         test_pty_LDADD.
42487
42488 2009-12-07  Simon Josefsson  <simon@josefsson.org>
42489
42490         * modules/pty: New file.
42491         * modules/pty-tests: New file.
42492         * m4/pty.m4: New file.
42493         * tests/test-pty.c: New file.
42494         * doc/glibc-headers/pty.texi: Modified.
42495         * doc/glibc-functions/forkpty.texi: Modified.
42496         * doc/glibc-functions/openpty.texi: Modified.
42497
42498 2009-12-10  Bruno Haible  <bruno@clisp.org>
42499
42500         Avoid syntax error in C++ mode.
42501         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
42502
42503 2009-12-10  Bruno Haible  <bruno@clisp.org>
42504
42505         Use sed with option -e.
42506         * gnulib-tool (func_version, func_emit_copyright_notice,
42507         func_emit_initmacro_end, func_import, func_create_testdir): Pass
42508         option -e to sed.
42509         * modules/link-warning (Makefile.am): Likewise.
42510
42511 2009-12-10  Jim Meyering  <meyering@redhat.com>
42512
42513         mgetgroups: do not write bytes beyond end of malloc'd buffer
42514         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
42515         username, we call getgroups with a one-element-shorter buffer,
42516         but still told it the length was original, max_n_groups.
42517
42518 2009-12-09  Eric Blake  <ebb9@byu.net>
42519
42520         cloexec: relax license
42521         * modules/cloexec (Maintainer): Add myself.
42522         (License): Use LGPL, not GPL.
42523
42524         link-warning: optimize generation
42525         * modules/link-warning (Makefile.am): Reduce process usage.
42526
42527 2009-12-09  Bruno Haible  <bruno@clisp.org>
42528
42529         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
42530         workaround was added on 2009-11-17.
42531
42532 2009-12-09  Jim Meyering  <meyering@redhat.com>
42533             Bruno Haible  <bruno@clisp.org>
42534
42535         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
42536         * modules/link-warning (Makefile.am): Make the comment-removing sed
42537         command more robust in the face of bootstrap-prepended comment lines.
42538
42539 2009-12-09  Bruno Haible  <bruno@clisp.org>
42540
42541         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
42542         most one group.
42543
42544 2009-12-09  Simon Josefsson <simon@josefsson.org>
42545             Bruno Haible  <bruno@clisp.org>
42546
42547         * build-aux/link-warning.h: Add copyright notice.
42548         * modules/link-warning (Makefile.am): Generate link-warning.h from
42549         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
42550         * NEWS: Mention change in link-warning module.
42551         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
42552         * modules/dirent (Makefile.am): Add dependency to dirent.h.
42553         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
42554         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
42555         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
42556         * modules/math (Makefile.am): Add dependency to math.h.
42557         * modules/search (Makefile.am): Add dependency to search.h.
42558         * modules/signal (Makefile.am): Add dependency to signal.h.
42559         * modules/spawn (Makefile.am): Add dependency to spawn.h.
42560         * modules/stdio (Makefile.am): Add dependency to stdio.h.
42561         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
42562         * modules/string (Makefile.am): Add dependency to string.h.
42563         * modules/strings (Makefile.am): Add dependency to strings.h.
42564         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
42565         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
42566         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
42567         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
42568         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
42569         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
42570         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
42571         * modules/unistd (Makefile.am): Add dependency to unistd.h.
42572         * modules/wchar (Makefile.am): Add dependency to wchar.h.
42573
42574 2009-12-09  Bruno Haible  <bruno@clisp.org>
42575
42576         fchdir: Optimize away rpl_fstat when possible.
42577         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
42578         REPLACE_OPEN_DIRECTORY.
42579         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
42580
42581 2009-12-09  Bruno Haible  <bruno@clisp.org>
42582
42583         * lib/fchdir.c: Update comment.
42584
42585 2009-12-09  Bruno Haible  <bruno@clisp.org>
42586
42587         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
42588
42589 2009-12-08  Eric Blake  <ebb9@byu.net>
42590
42591         fchdir: avoid memory leak on re-registration.
42592         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
42593
42594 2009-12-08  Jim Meyering  <meyering@redhat.com>
42595
42596         init.sh: avoid Solaris 10 /bin/sh portability problem
42597         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
42598         sourced script:
42599           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
42600           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
42601           bar
42602         tests/init.sh relied on that, accepting a --set-path=DIR argument,
42603         and two tests used that idiom.
42604         * tests/init.sh: Update suggested usage comments.
42605         (path_prepend_): New function, to be used in place
42606         of the --src-path=DIR option.
42607         (setup_): Move PATH-prepending code into path_prepend_.
42608         * tests/test-pread.sh: Adapt to new usage.
42609         * tests/test-xalloc-die.sh: Likewise.
42610
42611 2009-12-08  Simon Josefsson  <simon@josefsson.org>
42612
42613         * doc/gnulib.texi (Glibc pty.h): Add.
42614         * doc/glibc-functions/forkpty.texi: Add.
42615         * doc/glibc-functions/openpty.texi: Add.
42616         Suggested by Bruno Haible.
42617
42618 2009-12-08  Eric Blake  <ebb9@byu.net>
42619
42620         fchdir: fix logic bugs
42621         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
42622         * tests/test-fchdir.c (main): Enhance test.
42623         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
42624         is in use.
42625
42626         dup2: fix logic bugs
42627         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
42628         REPLACE_DUP2 to decide when rpl_dup2 is needed.
42629         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
42630         exists.
42631         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
42632
42633 2009-12-07  Eric Blake  <ebb9@byu.net>
42634
42635         unlink: fix m4 detection
42636         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
42637
42638         unistd-safer: add unit test
42639         * modules/unistd-safer-tests: New file.
42640         * tests/test-dup-safer.c: Likewise.
42641         * tests/test-cloexec.c (setmode): Avoid compiler warning.
42642         * tests/test-dup2.c (setmode): Likewise.
42643         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
42644
42645         cloexec: preserve text vs. binary across dup_cloexec
42646         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
42647         mode.
42648         * modules/dup2-tests (Depends-on): Add binary-io.
42649         * modules/cloexec-tests (Depends-on): Likewise.
42650         * tests/test-dup2.c (setmode, is_mode): New helpers.
42651         (main): Add tests that translation mode is preserved.
42652         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
42653         Reported by Bruno Haible.
42654
42655         mgetgroups: reduce duplicate listings
42656         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
42657         resulting array.
42658         * tests/test-chown.h (test_chown): Simplify client.
42659         * tests/test-lchown.h (test_lchown): Likewise.
42660
42661 2009-12-06  Bruno Haible  <bruno@clisp.org>
42662
42663         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
42664         value.
42665
42666 2009-12-06  Bruno Haible  <bruno@clisp.org>
42667
42668         * lib/progname.c: Include stdio.h, stdlib.h.
42669         (set_program_name): Reject a NULL argument.
42670
42671 2009-12-05  Eric Blake  <ebb9@byu.net>
42672
42673         pipe2-safer: new module
42674         * modules/pipe2-safer: New file.
42675         * lib/unistd-safer.h (pipe2_safer): New prototype.
42676         * lib/unistd--.h (pipe2): New wrapper.
42677         * lib/pipe-safer.c (pipe2_safer): New function.
42678         * modules/pipe (Depends-on): Add pipe2-safer.
42679         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
42680
42681         stdlib-safer: preserve cloexec flag for mkostemp[s]
42682         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
42683         fd_safer_flag.
42684
42685         unistd-safer: allow preservation of cloexec status via flag
42686         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
42687         prototypes.
42688         * lib/dup-safer.c (dup_safer_flag): New function.
42689         * lib/fd-safer.c (fd_safer_flag): Likewise.
42690         * modules/cloexec (configure.ac): Set witness.
42691
42692         test-dup2: enhance test
42693         * modules/dup2-tests (Depends-on): Add cloexec.
42694         * tests/test-dup2.c (main): Enhance test.
42695
42696         cloexec: add dup_cloexec
42697         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
42698         header and comments.
42699         * lib/cloexec.c (set_cloexec_flag): Add comments.
42700         (dup_cloexec): New function, with mingw implementation borrowed
42701         from...
42702         * lib/w32spawn.h (dup_noinherit): ...here.
42703         * modules/execute (Depends-on): Add cloexec.
42704         * modules/pipe (Depends-on): Likewise.
42705         * modules/cloexec (Depends-on): Add dup2.
42706         * modules/cloexec-tests (Files): New file.
42707         * tests/test-cloexec.c: Likewise.
42708
42709         test-xalloc-die: fix test for mingw
42710         * modules/xalloc-die-tests (Files): Add tests/init.sh.
42711         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
42712         directory and .exe suffix off argv[0] output.
42713
42714         test-fseeko: fix test for mingw
42715         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
42716         than undefining fseek, so test will pass on mingw.
42717
42718 2009-12-05  Bruno Haible  <bruno@clisp.org>
42719
42720         * lib/progname.h (set_program_name): Clarify specification.
42721         * lib/progname.c (set_program_name): Likewise.
42722         Reported by Jim Meyering.
42723
42724 2009-12-05  Jim Meyering  <meyering@redhat.com>
42725
42726         maint.mk: backslash-escape parens in default regexp
42727         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
42728         backslash-escape the literal parentheses.
42729
42730         maint.mk: news-date-check: use grep -E
42731         * top/maint.mk (today): Define a Make variable, not a...
42732         (news-date-check): ...shell variable.
42733         (news-date-regexp): Use the Make variable.
42734         Use grep's -E option.  Change the failing diagnostic to mention
42735         the variable, $(news-date-regexp).
42736
42737 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
42738
42739         maintainer-makefile: allow customization of NEWS entry format
42740         * top/maint.mk (news-date-regexp): New overridable variable.
42741         (news-date-check): Use it.
42742
42743 2009-12-04  Eric Blake  <ebb9@byu.net>
42744
42745         mgetgroups: add xgetgroups, and avoid ENOSYS failures
42746         * lib/mgetgroups.h (xgetgroups): New prototype.
42747         * lib/mgetgroups.c (xgetgroups): New wrapper.
42748         (mgetgroups): Handle ENOSYS.
42749         * modules/mgetgroups (Depends-on): Add realloc.
42750         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
42751
42752         mgetgroups: avoid argument promotion issues with -1
42753         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
42754         for invalid gid_t.
42755         * tests/test-chown.h (getegid, test_chown): Likewise.
42756         * tests/test-lchown.h (getegid, test_lchown): Likewise.
42757
42758 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
42759
42760         exclude: Fix header file problems.
42761         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
42762
42763 2009-12-01  Jim Meyering  <meyering@redhat.com>
42764
42765         fts: fts_open: do not let an empty string cause immediate failure
42766         This is required in support of GNU rm, for which the command
42767         "rm A '' B" must process and remove both A and B, in spite of
42768         the empty string argument.
42769         * lib/fts.c (fts_open): Do not let the presence of an empty string
42770         cause fts_open to fail immediately.  Most fts-using tools must be
42771         able to process all arguments, in order, and can be expected to
42772         diagnose such arguments themselves.
42773
42774 2009-11-30  Eric Blake  <ebb9@byu.net>
42775
42776         utimens: fix compilation error
42777         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
42778         Declare variable at right scope.
42779
42780 2009-11-29  Jim Meyering  <meyering@redhat.com>
42781
42782         bootstrap: handle perl-5.11's changed --version output
42783         * build-aux/bootstrap (get_version): Handle perl separately,
42784         since perl-5.11's --version output is different.
42785
42786 2009-11-28  Jim Meyering  <meyering@redhat.com>
42787
42788         userspec: depend on the inttostr module, too
42789         * modules/userspec (Depends-on): Add inttostr.
42790
42791         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
42792         * lib/userspec.c (parse_with_separator): Do not accept a user ID
42793         number of MAXUID when it evaluates to (uid_t) -1.
42794         Likewise for group ID.  Reported by Matt McCutchen in
42795         <http://savannah.gnu.org/bugs/?28113>
42796
42797         userspec: reformat to use spaces, not TABs
42798         * lib/userspec.c: Expand TABs to spaces.
42799         Add Emacs' "indent-tabs-mode: nil" hint.
42800
42801 2009-11-27  Eric Blake  <ebb9@byu.net>
42802
42803         getopt-gnu: flush out another BSD bug
42804         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
42805         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
42806         flush out BSD bug.
42807         * tests/test-getopt.h (test_getopt): End lists with NULL.
42808         * tests/test-getopt_long.h (test_getopt_long): Likewise.
42809         (test_getopt_long_posix): Enhance test.
42810         * modules/getopt-posix-tests (Depends-on): Add stdbool.
42811         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
42812         getopt-gnu.
42813         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
42814         Likewise.
42815
42816 2009-11-27  Simon Josefsson  <simon@josefsson.org>
42817
42818         * modules/idpriv-droptemp-tests (Notice): Fix text.
42819
42820 2009-11-27  Jim Meyering  <meyering@redhat.com>
42821
42822         test-xalloc-die: avoid spurious failure due to libtool argv difference
42823         In a libtool-enabled project, this test would fail due to a difference
42824         in the emitted program name, e.g.,
42825         -test-xalloc-die: memory exhausted
42826         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
42827         Use program to avoid that.
42828         * modules/xalloc-die-tests (Depends-on): Add progname.
42829         * tests/test-xalloc-die.c: Include progname.h".
42830         (program_name): Remove decl.
42831         (main): Call set_program_name.
42832         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
42833
42834 2009-11-26  Richard Jones  <rjones@redhat.com>
42835
42836         w32sock: leave win32 error in place.
42837         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
42838
42839 2009-11-26  Eric Blake  <ebb9@byu.net>
42840
42841         init.sh: suggest to use skip_ and fail_ functions in comments
42842         * tests/init.sh: Add a sentence.
42843
42844 2009-11-25  Bruno Haible  <bruno@clisp.org>
42845
42846         init.sh: add documentation in comments
42847         * tests/init.sh: Add some developer and user documentation.
42848
42849 2009-11-26  Jim Meyering  <meyering@redhat.com>
42850
42851         init.sh: accommodate even those who specify bogus srcdir manually
42852         * tests/init.sh: Normally, srcdir is guaranteed by automake and
42853         configure-time tests to be sanitized, so that there is no need to
42854         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
42855         (with no double quotes) suffices.  However, since tests may be
42856         invoked manually, and since you may explicitly set srcdir to the
42857         name of a directory containing spaces, do quote its uses here.
42858         * tests/test-pread.sh: Likewise.
42859         Suggested by Bruno Haible.
42860
42861         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
42862         * tests/test-pread.sh: Write no data into the pipe, because
42863         test-pread actually reads none.  This avoids a diagnostic,
42864         "bash: echo: write error: Broken pipe", that arises in the unusual
42865         event something is ignoring SIGPIPE, and might be interpreted
42866         as some sort of failure.  Reported by Bruno Haible.
42867
42868 2009-11-25  Jim Meyering  <meyering@redhat.com>
42869
42870         test-pread: cover failure with ESPIPE and EINVAL
42871         * tests/test-pread.c (main): Test for failure, too.
42872         * tests/test-pread.sh: Invoke with stdin on a pipe.
42873         Suggested by Eric Blake.
42874
42875         pread: improvement and fix
42876         * modules/pread (Depends-on): Depend on lseek, for portability to
42877         e.g., mingw.  Suggested by Eric Blake.
42878         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
42879
42880         unistd.in.h: correct declaration of pread
42881         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
42882         Reported by Richard W.M. Jones.
42883
42884         test-pread.sh: distribute the test script
42885         * modules/pread-tests (Files): Include test-pread.sh.
42886
42887         test-pread.sh: clean up
42888         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
42889         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
42890         That is unnecessary, since it's always ".".
42891         Suggestion from Eric Blake.
42892
42893         test-pread.sh: make executable
42894         * tests/test-pread.sh: Set executable bit.
42895         Reported by Eric Blake.
42896
42897         correct typo in test-pread.sh
42898         * tests/test-pread.sh: Add #! line.
42899
42900         test pread
42901         * tests/test-pread.c: New file.
42902         * tests/test-pread.sh: Likewise.
42903         * modules/pread-tests: Likewise.
42904
42905         pread: new module
42906         * modules/pread: New file.
42907         * lib/unistd.in.h (pread): Define/declare.
42908         * lib/pread.c (pread): New file.
42909         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
42910         * modules/unistd (Makefile.am): Substitute witnesses.
42911         * doc/posix-functions/pread.texi (pread): Update.
42912         * MODULES.html.sh: Add pread.
42913
42914 2009-11-25  Jim Meyering  <meyering@redhat.com>
42915
42916         tests/init.sh: new file to be used via most *.sh tests
42917         * tests/init.sh: New file.
42918
42919 2009-11-25  Eric Blake  <ebb9@byu.net>
42920
42921         utimens: work around older Linux failure with symlinks
42922         * lib/utimens.c (lutimensat_works_really): New variable.
42923         (fdutimens, lutimens): Use it to manage kernels that support
42924         nanosecond times on files, but not on symlinks.
42925         Reported by Ondřej Vašík.
42926
42927         utimes: fix configure grammar
42928         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
42929
42930 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
42931
42932         regex: Fix fastmap for multibyte character ranges.
42933         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
42934         characters when a multibyte character range is included.
42935
42936 2009-11-22  Andy Wingo  <wingo@pobox.com>
42937
42938         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
42939         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
42940
42941 2009-11-24  Bruno Haible  <bruno@clisp.org>
42942
42943         doc: Most *_l functions exist in MacOS X 10.5.
42944         * doc/posix-functions/duplocale.texi: Update platforms list.
42945         * doc/posix-functions/freelocale.texi: Likewise.
42946         * doc/posix-functions/newlocale.texi: Likewise.
42947         * doc/posix-functions/uselocale.texi: Likewise.
42948         * doc/posix-functions/isalnum_l.texi: Likewise.
42949         * doc/posix-functions/isalpha_l.texi: Likewise.
42950         * doc/posix-functions/isblank_l.texi: Likewise.
42951         * doc/posix-functions/iscntrl_l.texi: Likewise.
42952         * doc/posix-functions/isdigit_l.texi: Likewise.
42953         * doc/posix-functions/isgraph_l.texi: Likewise.
42954         * doc/posix-functions/islower_l.texi: Likewise.
42955         * doc/posix-functions/isprint_l.texi: Likewise.
42956         * doc/posix-functions/ispunct_l.texi: Likewise.
42957         * doc/posix-functions/isspace_l.texi: Likewise.
42958         * doc/posix-functions/isupper_l.texi: Likewise.
42959         * doc/posix-functions/iswalnum_l.texi: Likewise.
42960         * doc/posix-functions/iswalpha_l.texi: Likewise.
42961         * doc/posix-functions/iswblank_l.texi: Likewise.
42962         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42963         * doc/posix-functions/iswctype_l.texi: Likewise.
42964         * doc/posix-functions/iswdigit_l.texi: Likewise.
42965         * doc/posix-functions/iswgraph_l.texi: Likewise.
42966         * doc/posix-functions/iswlower_l.texi: Likewise.
42967         * doc/posix-functions/iswprint_l.texi: Likewise.
42968         * doc/posix-functions/iswpunct_l.texi: Likewise.
42969         * doc/posix-functions/iswspace_l.texi: Likewise.
42970         * doc/posix-functions/iswupper_l.texi: Likewise.
42971         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42972         * doc/posix-functions/isxdigit_l.texi: Likewise.
42973         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
42974         * doc/posix-functions/strcasecmp_l.texi: Likewise.
42975         * doc/posix-functions/strcoll_l.texi: Likewise.
42976         * doc/posix-functions/strfmon_l.texi: Likewise.
42977         * doc/posix-functions/strftime_l.texi: Likewise.
42978         * doc/posix-functions/strncasecmp_l.texi: Likewise.
42979         * doc/posix-functions/strxfrm_l.texi: Likewise.
42980         * doc/posix-functions/tolower_l.texi: Likewise.
42981         * doc/posix-functions/toupper_l.texi: Likewise.
42982         * doc/posix-functions/towctrans_l.texi: Likewise.
42983         * doc/posix-functions/towlower_l.texi: Likewise.
42984         * doc/posix-functions/towupper_l.texi: Likewise.
42985         * doc/posix-functions/wcscoll_l.texi: Likewise.
42986         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42987         * doc/posix-functions/wctrans_l.texi: Likewise.
42988         * doc/posix-functions/wctype_l.texi: Likewise.
42989         * doc/glibc-functions/strptime_l.texi: Likewise.
42990         * doc/glibc-functions/strtod_l.texi: Likewise.
42991         * doc/glibc-functions/strtof_l.texi: Likewise.
42992         * doc/glibc-functions/strtol_l.texi: Likewise.
42993         * doc/glibc-functions/strtold_l.texi: Likewise.
42994         * doc/glibc-functions/strtoll_l.texi: Likewise.
42995         * doc/glibc-functions/strtoul_l.texi: Likewise.
42996         * doc/glibc-functions/strtoull_l.texi: Likewise.
42997         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42998         * doc/glibc-functions/wcstod_l.texi: Likewise.
42999         * doc/glibc-functions/wcstof_l.texi: Likewise.
43000         * doc/glibc-functions/wcstol_l.texi: Likewise.
43001         * doc/glibc-functions/wcstold_l.texi: Likewise.
43002         * doc/glibc-functions/wcstoll_l.texi: Likewise.
43003         * doc/glibc-functions/wcstoul_l.texi: Likewise.
43004         * doc/glibc-functions/wcstoull_l.texi: Likewise.
43005
43006 2009-11-24  Bruno Haible  <bruno@clisp.org>
43007
43008         duplocale: Fix logic bug.
43009         * lib/duplocale.c: Don't include <langinfo.h>.
43010         (_NL_LOCALE_NAME): Remove macro.
43011         (rpl_duplocale): Use setlocale instead of nl_langinfo.
43012         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
43013
43014 2009-11-23  Jim Meyering  <meyering@redhat.com>
43015
43016         test-update-copyright: don't hard-code /usr/bin/perl
43017         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
43018         perl to print the current year.  Gilles Espinasse reported that
43019         the replaced use of perl was hard-coded as /usr/bin/perl.
43020
43021 2009-11-23  Bruno Haible  <bruno@clisp.org>
43022
43023         duplocale: Add support for glibc 2.3.x.
43024         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
43025
43026 2009-11-22  Bruno Haible  <bruno@clisp.org>
43027
43028         vasnprintf: Tiny optimization.
43029         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
43030         MacOS X.
43031
43032 2009-11-22  Bruno Haible  <bruno@clisp.org>
43033
43034         Tests for module 'duplocale'.
43035         * modules/duplocale-tests: New file.
43036         * tests/test-duplocale.c: New file.
43037
43038         New module 'duplocale'.
43039         * m4/duplocale.m4: New file.
43040         * lib/locale.in.h (duplocale): New declaration.
43041         * lib/duplocale.c: New file.
43042         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
43043         gl_LOCALE_H_DEFAULTS): New macros.
43044         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
43045         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
43046         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
43047         REPLACE_DUPLOCALE.
43048         * modules/duplocale: New file.
43049         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
43050
43051 2009-11-22  Bruno Haible  <bruno@clisp.org>
43052
43053         * modules/locale-tests (configure.ac): Test for newlocale function.
43054         * tests/test-locale.c: When the system has extended locale functions,
43055         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
43056
43057         locale: Make locale_t available when possible.
43058         * lib/locale.in.h: Include <xlocale.h> when it exists.
43059         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
43060         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
43061         * modules/locale (Depends-on): Add extensions.
43062         (Makefile.am): Also substitute HAVE_XLOCALE_H.
43063         * doc/posix-headers/locale.texi: Document the problem with locale_t.
43064
43065 2009-11-22  Bruno Haible  <bruno@clisp.org>
43066
43067         Add comments.
43068         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
43069         invocation.
43070         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
43071         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
43072         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
43073
43074 2009-11-22  Bruno Haible  <bruno@clisp.org>
43075
43076         error: account for the possibility of freopen (stdout).
43077         * lib/error.c: Include <unistd.h>.
43078         (flush_stdout): New function, extracted from error and error_at_line.
43079         Determine stdout's fd dynamically.
43080         (error, error_at_line): Invoke flush_stdout.
43081         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
43082         * modules/error (Depends-on): Add unistd.
43083
43084 2009-11-22  Bruno Haible  <bruno@clisp.org>
43085
43086         diffseq: Add comment.
43087         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
43088
43089 2009-11-22  Jim Meyering  <meyering@redhat.com>
43090
43091         c-stack: avoid defining an unused static function
43092         * lib/c-stack.c (find_stack_direction): Do not define this function
43093         when it will not be used.
43094
43095         diffseq: avoid spurious gcc warnings
43096         * lib/diffseq.h (IF_LINT2): Define.
43097         (compareseq): Use it to initialize two members of "part".
43098         This avoids two used-uninitialized warnings.
43099
43100 2009-11-21  Jim Meyering  <meyering@redhat.com>
43101
43102         c-stack: avoid "ignoring return value of `write'" warning
43103         * lib/c-stack.c: Include "ignore-value.h".
43104         (die): Explicitly ignore each write return value.
43105         * modules/c-stack (Depends-on): Add ignore-value.
43106
43107 2009-11-21  Bruno Haible  <bruno@clisp.org>
43108
43109         diffseq: reduce scope of variable 'best'.
43110         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
43111         variable, earlier used for two different purposes.
43112
43113 2009-11-21  Jim Meyering  <meyering@redhat.com>
43114
43115         diffseq: remove useless assignment to "best"
43116         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
43117         assignment.  At that point "best" is already guaranteed to be zero.
43118
43119 2009-11-20  Eric Blake  <ebb9@byu.net>
43120
43121         build: mention ftp redirector in release announcements
43122         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
43123         values that used to come from cfg.mk; mention FTP redirect URL.
43124         * build-aux/announce-gen: Mention the mirror list.
43125         Suggested by Karl Berry.
43126
43127         nanosleep: improve port to mingw
43128         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
43129         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
43130         LIB_NANOSLEEP, but only when needed.
43131         * modules/select (Link): Document LIBSOCKET.
43132         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
43133         enough.
43134
43135         nanosleep: work around cygwin bug
43136         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
43137         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
43138         bug.
43139         (getnow): Delete, not needed.
43140         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
43141         LIB_CLOCK_GETTIME.
43142         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
43143         clock-time, gettime.
43144         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
43145         bug.
43146         * modules/nanosleep-tests: New test.
43147         * tests/test-nanosleep.c: New file.
43148
43149         sleep: work around cygwin bug
43150         * lib/sleep.c (rpl_sleep): Work around the bug.
43151         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
43152         (gl_PREREQ_SLEEP): Delete unused macro.
43153         * modules/sleep (Depends-on): Add verify.
43154         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
43155         * modules/unistd (Makefile.am): Substitute witness.
43156         * lib/unistd.in.h (sleep): Update prototype.
43157         * doc/posix-functions/sleep.texi (sleep): Document the bug.
43158         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
43159         * modules/sleep-tests (Depends-on): Check for alarm.
43160
43161 2009-11-20  Jim Meyering  <meyering@redhat.com>
43162
43163         maint.mk: improve sc_prohibit_magic_number_exit
43164         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
43165         so it does not match uses like System.exit(1).
43166         Add comments showing how to correct all offenders.
43167
43168 2009-11-19  Eric Blake  <ebb9@byu.net>
43169
43170         xalloc-die-tests: add missing library
43171         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
43172
43173         test-xvasprintf: silence compiler warnings
43174         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
43175         empty string from gcc.
43176
43177 2009-11-19  Jim Meyering  <meyering@redhat.com>
43178
43179         xfreopen: new module, from coreutils
43180         * modules/xfreopen: New module.
43181         * lib/xfreopen.c: New file.
43182         * lib/xfreopen.h: New file.
43183         * MODULES.html.sh (File stream based Input/Output"): Add it.
43184
43185 2009-11-19  Eric Blake  <ebb9@byu.net>
43186
43187         manywarnings: depend on warnings
43188         * modules/manywarnings (Depends-on): Add warnings.
43189
43190         build: avoid compiler warnings
43191         * lib/select.c (rpl_select): Delete unused variable.
43192         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
43193
43194 2009-11-18  Eric Blake  <ebb9@byu.net>
43195
43196         tests: avoid false negative with --with-packager
43197         * tests/test-version-etc.sh: Discard packager information.
43198         * tests/test-argp-version-etc-1.sh: Likewise.
43199         Reported by Mike Frysinger.
43200
43201         utimens: fix regression on Solaris
43202         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
43203         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
43204         can only change fd timestamps via futimesat.  Instead, use an
43205         additional witness macro to avoid BSD bug.
43206         Reported by Jim Meyering.
43207
43208 2009-11-17  Eric Blake  <ebb9@byu.net>
43209
43210         usleep: use it to simplify tests
43211         * modules/stat-time-tests (Depends-on): Add usleep.
43212         (configure.ac): Drop usleep check.
43213         * modules/chown-tests (Depends-on, configure.ac): Likewise.
43214         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
43215         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
43216         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
43217         * modules/openat-tests (Depends-on, configure.ac): Likewise.
43218         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
43219         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
43220         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
43221         Likewise.
43222         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
43223         * tests/test-lchown.h (nap): Likewise.
43224         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
43225         * tests/test-stat-time.c (nap): Likewise.
43226         * tests/test-utimens-common.h (nap): Update comments.
43227
43228         usleep: new module
43229         * modules/usleep: New file.
43230         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
43231         * lib/usleep.c (usleep): Likewise.
43232         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
43233         * modules/unistd (Makefile.am): Substitute witnesses.
43234         * lib/unistd.in.h (usleep): Add declaration.
43235         * doc/pastposix-functions/usleep.texi (usleep): Document this.
43236         * MODULES.html.sh (Date and time): Likewise.
43237         * modules/usleep-tests (Depends-on): New test.
43238         * tests/test-usleep.c: New file.
43239
43240         chown: work around OpenBSD bug
43241         * lib/chown.c (rpl_chown): Work around the bug.
43242         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
43243         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
43244         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
43245         * modules/chown (Depends-on): Add stdbool.
43246         * modules/lchown (Depends-on): Likewise.
43247         * doc/posix-functions/chown.texi (chown): Document the bug.
43248         * doc/posix-functions/lchown.texi (lchown): Likewise.
43249         * tests/test-lchown.h (test_chown): Relax test.
43250
43251         mkstemp: avoid conflict with C++ keyword template
43252         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
43253         * lib/mkostemp.c (mkostemp): Likewise.
43254         * lib/mkostemps.c (mkostemps): Likewise.
43255         * lib/mkstemp.c (mkstemp): Likewise.
43256         * lib/mkstemps.c (mkstemps): Likewise.
43257
43258         xalloc-die-tests: optimize
43259         * tests/test-xalloc-die.sh: Reduce number of processes.
43260
43261 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43262
43263         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
43264         patch from ludo@gnu.org (Ludovic Courtès).
43265
43266 2009-11-17  Jim Meyering  <meyering@redhat.com>
43267
43268         version-etc: use proper license string
43269         * modules/version-etc (License): Use LGPL, not LGPLv3+.
43270         * modules/version-etc-fsf: Likewise.
43271
43272 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43273
43274         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
43275         printed to stdout.  Deal with EOL differences.
43276
43277 2009-11-17  Eric Blake  <ebb9@byu.net>
43278
43279         unsetenv: work around Solaris bug
43280         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
43281         * lib/unsetenv.c (rpl_unsetenv): Work around it.
43282         Reported by Jim Meyering.
43283
43284         vasnprintf: avoid compiler warnings
43285         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
43286         variables.
43287         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
43288
43289 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43290
43291         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
43292         settings since xalloc-die is no longer the self test,
43293         xalloc-die.sh is.
43294
43295 2009-11-17  Jim Meyering  <meyering@redhat.com>
43296
43297         test-xalloc-die.sh: make the code agree with the commit log
43298         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
43299         at the end, just in case you happen to have a test-xalloc-die
43300         program in some other PATH directory.
43301
43302         test-xalloc-die.sh: fix a portability bug
43303         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
43304         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
43305         Otherwise, argv[0] (as often seen in diagnostics) would be too
43306         system-dependent, sometimes with, and sometimes without the leading "./".
43307
43308         version-etc-fsf: relax license to LGPLv3+
43309         * modules/version-etc-fsf (License): Relax license.
43310
43311 2009-11-16  Eric Blake  <ebb9@byu.net>
43312
43313         xalloc-die-tests: avoid printing null pointer
43314         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
43315         shell script.
43316         * tests/test-xalloc-die.c (program_name): Declare.
43317         * tests/test-xalloc-die.sh (tmpfiles): New file.
43318
43319         setenv, unsetenv: work around various bugs
43320         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
43321         (setenv) [HAVE_SETENV]: Work around bugs.
43322         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
43323         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
43324         for bugs.
43325         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
43326         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
43327         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
43328         * modules/stdlib (Makefile.am): Update substitutions.
43329         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
43330         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
43331         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
43332         * modules/setenv-tests: New test.
43333         * modules/unsetenv-tests: Likewise.
43334         * tests/test-setenv.c: New file.
43335         * tests/test-unsetenv.c: Likewise.
43336
43337 2009-11-16  Jim Meyering  <meyering@redhat.com>
43338
43339         version-etc: relax license to LGPLv3+
43340         * modules/version-etc (License): Relax license.
43341
43342         better AC_REQUIRE expanded-before-required-warning avoidance
43343         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
43344         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
43345         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
43346         which is no longer needed.
43347
43348 2009-11-16  Eric Blake  <ebb9@byu.net>
43349
43350         test-freading: clean up temporary file
43351         * tests/test-freading.c (main): Remove file on success, and use
43352         ASSERT more liberally.
43353         Reported by Jim Meyering.
43354
43355 2009-11-16  Jim Meyering  <meyering@redhat.com>
43356
43357         avoid new AC_REQUIRE expanded-before-required warnings
43358         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
43359         merely using it.
43360         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
43361         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
43362
43363 2009-11-15  Simon Josefsson  <simon@josefsson.org>
43364
43365         * tests/test-xalloc-die.c: New file.
43366         * modules/xalloc-die-tests: New file.
43367         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
43368         XFAIL_TESTS so it can be appended by modules.
43369
43370 2009-11-15  Simon Josefsson  <simon@josefsson.org>
43371
43372         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
43373         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
43374
43375 2009-11-14  Eric Blake  <ebb9@byu.net>
43376
43377         fnmatch: avoid compiler warning
43378         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
43379         to silence compiler warning about mismatch signedness in ?:.
43380         Reported by Robert Millan.
43381
43382         intprops: add double-inclusion guard
43383         * lib/intprops.h: Allow idempotent includes.
43384         Suggested by Bruce Korb.
43385
43386         openat: detect Solaris fchownat bug
43387         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
43388         penalizing glibc chownat when only lchownat is broken.
43389         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
43390         trailing slash bugs.
43391         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
43392         * modules/openat-tests (Files): Include more files.
43393         (Depends-on): Add mgetgroups, sleep, stat-time.
43394         (configure.ac): Add additional checks.
43395         (Makefile.am): Build new test.
43396         * tests/test-fchownat.c: New file.
43397
43398         lchown: detect Solaris and FreeBSD bug
43399         * lib/lchown.c (rpl_lchown): Work around bug.
43400         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
43401         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43402         * modules/unistd (Makefile.am): Populate it.
43403         * lib/unistd.in.h (lchown): Update declaration.
43404         * doc/posix-functions/lchown.texi (lchown): Document the bug.
43405         * modules/lchown-tests: New file.
43406         * tests/test-lchown.h (test_lchown): Likewise.
43407         * tests/test-lchown.c (main): Likewise.
43408
43409         chown: detect Solaris and FreeBSD bug
43410         * lib/chown.c (rpl_chown): Work around bug.
43411         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
43412         (gl_PREREQ_CHOWN): Delete.
43413         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43414         * modules/unistd (Makefile.am): Populate it.
43415         * lib/unistd.in.h (chown): Update declaration.
43416         * lib/lchown.c (chown): Update client.
43417         * modules/lchown (Depends-on): Add lstat.
43418         * doc/posix-functions/chown.texi (chown): Document the bug.
43419         * doc/posix-functions/getgroups.texi (getgroups): Document
43420         getgroups pitfall.
43421         * modules/chown-tests: New file.
43422         * tests/test-chown.h (test_chown): Likewise.
43423         * tests/test-chown.c (main): Likewise.
43424
43425 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
43426
43427         gnulib-tool: correctly detect absence of m4 directories
43428         * gnulib-tool: Avoid extra newline on data passed to wc -l.
43429
43430 2009-11-14  Jim Meyering  <meyering@redhat.com>
43431
43432         maint.mk: Prohibit inclusion of "xalloc.h" without use.
43433         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
43434
43435 2009-11-14  John W. Eaton  <jwe@gnu.org>
43436
43437         strftime.h: wrap function declaration in extern "C" block
43438         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
43439
43440 2009-11-13  Eric Blake  <ebb9@byu.net>
43441
43442         getgroups: avoid compiler warning
43443         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
43444
43445         getgroups: work around FreeBSD bug
43446         * lib/getgroups.c (rpl_getgroups): Work around the bug.
43447         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
43448         * doc/posix-functions/getgroups.texi (getgroups): Document it.
43449         * tests/test-getgroups.c (main): Fix buffer overrun.
43450
43451         getgroups: avoid compilation failure
43452         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
43453         * modules/getgroups (Depends-on): Add stdint.
43454
43455 2009-11-13  Jim Meyering  <meyering@redhat.com>
43456
43457         test-getgroups: avoid compilation failure
43458         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
43459
43460 2009-11-13  Eric Blake  <ebb9@byu.net>
43461
43462         mgetgroups: new module, taken from coreutils
43463         * modules/mgetgroups: New file.
43464         * lib/mgetgroups.h: Likewise.
43465         * lib/mgetgroups.c (mgetgroups): Likewise.
43466         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
43467         * MODULES.html.sh (Users and groups): Mention it.
43468
43469         getgroups: don't expose GETGROUPS_T to user
43470         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
43471         an element at a time if GETGROUPS_T is wrong size.
43472         * lib/getugroups.h (getugroups): Change signature.
43473         * lib/unistd.in.h (getgroups): Likewise.
43474         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
43475         signature needs fixing.
43476         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
43477         AC_TYPE_GETGROUPS.
43478         * modules/group-member (Depends-on): Add getgroups.
43479         * lib/group-member.c (group_info, get_group_info): Use gid_t.
43480         (group_member): Rely on getgroups replacement.
43481         * lib/getugroups.c (getugroups): Use gid_t.
43482         * tests/test-getgroups.c (main): Likewise.
43483         * NEWS: Mention the signature change.
43484         * doc/posix-functions/getgroups.texi (getgroups): Mention the
43485         problem with signature.
43486         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
43487         GETGROUPS_T is still useful for setgroups.
43488
43489         getgroups, getugroups: provide stubs for mingw
43490         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
43491         * lib/getugroups.c (getugroups): Likewise.
43492         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
43493         function.  Modernize replacement scheme.
43494         (gl_PREREQ_GETGROUPS): Delete.
43495         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
43496         * modules/getgroups (configure.ac): Declare witness.
43497         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
43498         * modules/unistd (Depends-on): Substitute witness.
43499         * lib/unistd.in.h (getgroups): Declare replacement.
43500
43501         getgroups: avoid calling exit
43502         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
43503         drop xalloc.
43504         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
43505         dependencies.
43506         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
43507         exiting, in the rare case of malloc failure.
43508
43509         getgroups: fix logic error
43510         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
43511         has more than 20 groups.
43512         * modules/getgroups-tests: New test.
43513         * tests/test-getgroups.c: New file.
43514
43515 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43516
43517         * tests/test-base64.c: Improve.
43518
43519 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43520
43521         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
43522         Blake <ebb9@byu.net>.
43523
43524 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43525
43526         * tests/test-xvasprintf.c: Add %s%s related checks.
43527
43528 2009-11-12  Eric Blake  <ebb9@byu.net>
43529
43530         version-etc: match standards.texi style
43531         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
43532         and use <> only for URLs.
43533
43534 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
43535
43536         fts: do not fail on a submount during traversal
43537         * lib/fts.c (fts_build): Read the stat info again after opening
43538         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
43539         Original report at http://bugzilla.redhat.com/501848.
43540
43541 2009-11-12  Jim Meyering  <meyering@redhat.com>
43542
43543         bootstrap: sync from coreutils
43544         * build-aux/bootstrap (bootstrap_epilogue): New function.
43545         Use git_modules_config in one more place.  This make bootstrap's
43546         --gnulib-srcdir option more useful for testing.
43547
43548         bootstrap: generalize autoheader check
43549         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
43550         AC_CONFIG_HEADERS.
43551
43552 2009-11-11  Eric Blake  <ebb9@byu.net>
43553
43554         mkfifoat: use new modules for Solaris and BSD bugs
43555         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
43556         * lib/mkfifoat.c (mknodat): Split...
43557         * lib/mknodat.c (mknodat): ...into new file.
43558         * modules/mkfifoat (Files): Ship new file.
43559         (Depends-on): Add mkfifo, mknod.
43560         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
43561         (Depends-on): Add symlink.
43562         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
43563         redundant with test_mkfifo.h.
43564         (do_mkfifoat, do_mknodat): New helpers.
43565
43566         mknod: new module
43567         * modules/mknod: New file.
43568         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
43569         * lib/mknod.c (mknod): Likewise.
43570         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43571         defaults.
43572         * modules/sys_stat (Makefile.am): Substitute them.
43573         * lib/sys_stat.in.h (mknod): Declare replacement.
43574         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43575         Document it.
43576         * doc/posix-functions/mknod.texi (mknod): Likewise.
43577         * modules/mknod-tests: New test.
43578         * tests/test-mknod.c: Likewise.
43579
43580         mkfifo: new module
43581         * modules/mkfifo: New file.
43582         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
43583         * lib/mkfifo.c (mkfifo): Likewise.
43584         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43585         defaults.
43586         * modules/sys_stat (Makefile.am): Substitute them.
43587         * lib/sys_stat.in.h (mkfifo): Declare replacement.
43588         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43589         Document it.
43590         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
43591         * modules/mkfifo-tests: New test.
43592         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
43593         from test-mkfifoat.c.
43594         * tests/test-mkfifo.c: New file.
43595
43596         readlink: detect FreeBSD bug
43597         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
43598         slash on symlink.
43599         * doc/posix-functions/readlink.texi (readlink): Document the bug.
43600         * tests/test-readlink.h (test_readlink): Enhance test.
43601
43602         symlink: detect FreeBSD bug
43603         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
43604         slash on symlink.
43605         * doc/posix-functions/symlink.texi (symlink): Document the bug.
43606         * tests/test-symlink.h (test_symlink): Enhance test.
43607
43608 2009-11-10  Eric Blake  <ebb9@byu.net>
43609
43610         link: detect FreeBSD bug
43611         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
43612         symlink.
43613         * doc/posix-functions/link.texi (link): Document the bug.
43614         * tests/test-link.h (test_link): Enhance test.
43615         * tests/test-linkat.c (main): Update caller.
43616
43617         unlink, remove: detect FreeBSD bug
43618         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
43619         slash on symlink.
43620         * doc/posix-functions/unlink.texi (unlink): Document the bug.
43621         * doc/posix-functions/remove.texi (remove): Likewise.
43622         * tests/test-unlink.h (test_unlink): Enhance test.
43623         * tests/test-remove.c (main): Likewise.
43624
43625 2009-11-09  Eric Blake  <ebb9@byu.net>
43626
43627         rename: detect FreeBSD bug
43628         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
43629         slash on symlink.
43630         * modules/renameat-tests (Depends-on): Add filenamecat.
43631         * tests/test-rename.h (test_rename): Allow one more errno.
43632         * tests/test-renameat.c (main): Likewise.
43633         * doc/posix-functions/rename.texi (rename): Document the bug.
43634
43635         open: detect FreeBSD bug
43636         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
43637         symlink.
43638         * doc/posix-functions/open.texi (open): Document the bug.
43639         * doc/posix-functions/utimes.texi (utimes): Likewise.
43640         * tests/test-open.h (test_open): Add parameters, and test symlink
43641         handling.
43642         * tests/test-open.c (main): Adjust caller.
43643         * tests/test-fcntl-safer.c (main): Likewise.
43644         * modules/open-tests (Depends-on): Add stdbool, symlink.
43645         * modules/fcntl-safer-tests (Depends-on): Likewise.
43646         * tests/test-openat.c (main): Add test-open tests.
43647
43648         stat: detect FreeBSD bug
43649         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
43650         symlink.
43651         * doc/posix-functions/stat.texi (stat): Document the bug.
43652         * tests/test-stat.h (test_stat_func): Add argument.
43653         * tests/test-stat.c (main): Adjust caller.
43654         * tests/test-fstatat.c (main): Likewise.
43655         * modules/stat-tests (Depends-on): Add stdbool, symlink.
43656         Reported by Jim Meyering.
43657
43658 2009-11-09  James Youngman  <jay@gnu.org>
43659
43660         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
43661         * lib/strftime.c: Correct placement of #include "ignore-value.h".
43662
43663 2009-11-08  Jim Meyering  <meyering@redhat.com>
43664
43665         utimens: remove invalid futimesat call
43666         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
43667         It used the file descriptor of the target file as the DIR_FD
43668         parameter and NULL as the file name.  That caused failure with
43669         errno == EFAULT on FreeBSD-8.0-rc2
43670
43671 2009-11-07  Eric Blake  <ebb9@byu.net>
43672
43673         fflush, freadseek: use fseeko, not fseek
43674         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
43675         (clear_ungetc_buffer): Avoid potential problems on large files.
43676         * lib/freadseek.c (freadseek): Likewise.
43677         * modules/freadseek (Depends-on): Add fseeko.
43678         * modules/fseek (configure.ac): Set a witness.
43679         * tests/test-fflush.c (main): Use fseeko.
43680         * tests/test-fpurge.c (fseek): Disable link warning.
43681         * tests/test-freadable.c (fseek): Likewise.
43682         * tests/test-freading.c (fseek): Likewise.
43683         * tests/test-fseeko.c (fseek): Likewise.
43684         * tests/test-ftell.c (fseek): Likewise.
43685         * tests/test-ftello.c (fseek): Likewise.
43686         * tests/test-fwritable.c (fseek): Likewise.
43687         * tests/test-fwriting.c (fseek): Likewise.
43688
43689 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43690
43691         * modules/memchr (Depends-on): Drop getpagesize dependency.
43692
43693 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43694
43695         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
43696         Reported by Ludovic Courtès.
43697         * build-aux/pmccabe2html: Improve example usage.
43698         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
43699
43700 2009-11-06  Jim Meyering  <meyering@redhat.com>
43701
43702         do-release-commit-and-tag: New module.
43703         Automate the release-commit and tag process.
43704         * build-aux/do-release-commit-and-tag: New script, from coreutils.
43705         * modules/do-release-commit-and-tag: New file.
43706         * MODULES.html.sh (Support for maintaining and releasing): Add it.
43707
43708 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43709
43710         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
43711         because test-select.c uses inet_pton.
43712
43713 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43714
43715         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
43716         GETADDRINFO_LIB.  Bump serial number.
43717         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
43718         Suggested by Eric Blake <ebb9@byu.net>.
43719
43720 2009-11-05  Eric Blake  <ebb9@byu.net>
43721
43722         strtod: detect darwin bug
43723         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
43724         Reported by Leo Davis.
43725
43726         freopen-safer: new module
43727         * modules/freopen-safer: New module.
43728         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
43729         * lib/freopen-safer.c (freopen_safer): New file.
43730         * lib/stdio-safer.h (freopen_safer): New declaration.
43731         * lib/stdio--.h (freopen): New override.
43732         * MODULES.html.sh (File stream based Input/Output): Mention it.
43733         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
43734         freopen-safer module.
43735         * doc/posix-functions/stderr.texi (stderr): Likewise.
43736         * doc/posix-functions/stdin.texi (stdin): Likewise.
43737         * doc/posix-functions/stdout.texi (stdout): Likewise.
43738         * modules/freopen-safer-tests: New test.
43739         * tests/test-reopen-safer.c: New file.
43740
43741 2009-11-05  Jim Meyering  <meyering@redhat.com>
43742
43743         maint.mk: Prohibit inclusion of "close-stream.h" without use.
43744         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
43745
43746 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43747
43748         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
43749
43750 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43751
43752         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
43753
43754 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43755
43756         Fix link error.
43757         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43758         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43759
43760 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43761
43762         * tests/test-func.c: Also test value of __func__.
43763
43764 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43765
43766         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
43767         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
43768
43769 2009-11-05  Bruno Haible  <bruno@clisp.org>
43770
43771         Fix link error.
43772         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43773         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43774         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
43775
43776 2009-11-05  Bruno Haible  <bruno@clisp.org>
43777
43778         Tests for module 'inet_pton'.
43779         * modules/inet_pton-tests: New file.
43780         * tests/test-inet_pton.c: New file.
43781
43782 2009-11-05  Bruno Haible  <bruno@clisp.org>
43783
43784         Tests for module 'inet_ntop'.
43785         * modules/inet_ntop-tests: New file.
43786         * tests/test-inet_ntop.c: New file.
43787
43788 2009-11-04  Eric Blake  <ebb9@byu.net>
43789
43790         stdlib-safer: wrap all mkstemp variants
43791         * modules/mkostemp (configure.ac): Set witness.
43792         * modules/mkostemps (configure.ac): Likewise.
43793         * modules/mkstemps (configure.ac): Likewise.
43794         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
43795         (mkstemps_safer): Wrap more functions.
43796         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
43797         wrapping.
43798         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
43799         (mkstemps_safer): Implement the wrappers.
43800
43801         mkstemps, mkostemps: new modules
43802         * modules/mkostemps: New module.
43803         * modules/mkstemps: Likewise.
43804         * lib/mkostemps.c (mkostemps): New file.
43805         * lib/mkstemps.c (mkstemps): Likewise.
43806         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
43807         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
43808         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
43809         * modules/stdlib (Makefile.am): Substitute them.
43810         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
43811         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
43812         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
43813         * doc/gnulib.texi (Glibc stdlib.h): Include them.
43814         * MODULES.html.sh (File system functions): Mention them.
43815
43816         tempname: resync from glibc
43817         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
43818         same values for __GT_FILE as glibc.  Abort even when assertions
43819         are disabled.
43820         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
43821         match its value otherwise.  Allow idempotent inclusion.
43822         * lib/mkdtemp.c (mkdtemp): Adjust caller.
43823         * lib/mkostemp.c (mkostemp): Likewise.
43824         * lib/mkstemp.c (mkstemp): Likewise.
43825         * lib/tmpfile.c (tmpfile): Likewise.
43826         * NEWS: Document this.
43827
43828         utimens: fix use of futimens on older Linux
43829         * lib/utimens.c (fdutimens): Use updated, rather than original,
43830         timespec to avoid bug in older Linux kernel.
43831         Reported by Simon Josefsson.
43832
43833 2009-11-04  Bruno Haible  <bruno@clisp.org>
43834
43835         Make num_processors more flexible and consistent.
43836         * lib/nproc.h (enum nproc_query): New type.
43837         (num_processors): Add a 'query' argument.
43838         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
43839         (num_processors): Add a 'query' argument. Test the value of the
43840         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
43841         mingw, count the number of CPUs available for the current process.
43842         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
43843         Check for sched_getaffinity and sched_getaffinity_np.
43844         * modules/nproc (Depends-on): Add c-ctype, extensions.
43845         * NEWS: Mention the change.
43846
43847 2009-11-03  Bruno Haible  <bruno@clisp.org>
43848
43849         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
43850
43851 2009-11-03  Jim Meyering  <meyering@redhat.com>
43852
43853         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
43854         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
43855         if it is defined.
43856
43857 2009-11-02  Eric Blake  <ebb9@byu.net>
43858
43859         mktime, timegm: share common declaration
43860         * lib/mktime-internal.h: New file.
43861         * lib/mktime.c: Use it rather than open-coding a declaration.
43862         * lib/timegm.c: Likewise.
43863         * modules/mktime (Files): Ship it.
43864         * modules/timegm (Files): Likewise.
43865         Suggested by Bruno Haible.
43866
43867         test-update-copyright: update test to match script changes
43868         * tests/test-update-copyright.sh: Avoid hard-coding perl
43869         location.  Don't update *.bak created by earlier runs.
43870
43871 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
43872             Simon Josefsson  <simon@josefsson.org>
43873             Bruno Haible  <bruno@clisp.org>
43874
43875         Fix link error on Solaris 8.
43876         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
43877         also in libnsl. Define also INET_PTON_LIB.
43878         * modules/inet_pton (Link): New section.
43879
43880 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43881             Bruno Haible  <bruno@clisp.org>
43882
43883         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
43884         * modules/inet_ntop (Link): New section.
43885         Reported by Boyan Kasarov <bkasarov@gmail.com>.
43886
43887 2009-11-02  Eric Blake  <ebb9@byu.net>
43888
43889         maint: avoid compiler warnings in m4 macros
43890         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
43891         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
43892
43893 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43894
43895         * m4/pmccabe2html.m4: Remove file.
43896         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
43897         function.  Change maintainer.
43898         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
43899         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
43900         Courtès).
43901
43902 2009-10-31  Eric Blake  <ebb9@byu.net>
43903
43904         fseeko: fix m4 regression
43905         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
43906         regression from 2009-10-27.
43907         Reported by Ralf Wildenhues.
43908
43909 2009-10-31  Jim Meyering  <meyering@redhat.com>
43910
43911         inttostr: aesthetics and improved (compile-time) safety
43912         Define inttype_is_signed rather than inttype_is_unsigned,
43913         since the sole use is via "#if inttype_is_signed".
43914         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
43915         inttype_is_unsigned.
43916         * lib/offtostr.c (inttype_is_signed): Likewise.
43917         * lib/uinttostr.c (inttype_is_signed): Likewise.
43918         * lib/umaxtostr.c (inttype_is_signed): Likewise.
43919         * lib/inttostr.c (inttostr): Use verify to cross-check the
43920         inttype_is_signed value and the signedness of the actual type.
43921         * modules/inttostr (Depends-on): Add verify.
43922
43923 2009-10-30  Eric Blake  <ebb9@byu.net>
43924
43925         build: avoid compiler warnings
43926         * lib/fchmodat.c (lchmod): Mark unused variables.
43927         * lib/getopt.c (_getopt_initialize): Likewise.
43928         * lib/mktime.c (__mktime_internal): Provide prototype.
43929         * lib/inttostr.c (inttostr): Avoid compiler warning even with
43930         older gcc that do not understand #pragma GCC diagnostic.
43931         * lib/uinttostr.c (inttype_is_unsigned): Define.
43932         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
43933
43934 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
43935
43936         stat: fix compilation on AIX
43937         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
43938         only see struct stat64.
43939
43940 2009-10-30  Eric Blake  <ebb9@byu.net>
43941
43942         exclude: make more robust
43943         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
43944         rather than masking a coding bug.
43945         Suggested by Bruno Haible.
43946
43947 2009-10-30  Jim Meyering  <meyering@redhat.com>
43948
43949         perl scripts: remove #!/usr/bin/perl in favor of more portable...
43950         Rather than putting #!/usr/bin/perl on the first line,
43951         start with a variant of what's recommended by "man perlrun" that
43952         invokes the first "perl" program from your shell's search path.
43953         * build-aux/gitlog-to-changelog: Replace #!... as above.
43954         Add a "Local Variables" perl mode setting.
43955         Prompted by a patch from Ludovic Courtès.
43956         Improved by Eric Blake.
43957         * build-aux/useless-if-before-free: Likewise.
43958         * build-aux/announce-gen: Likewise.
43959         * build-aux/update-copyright: Likewise.
43960
43961 2009-10-29  Eric Blake  <ebb9@byu.net>
43962
43963         filenamecat-lgpl: adjust clients
43964         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
43965         filenamecat.
43966         * modules/renameat (Depends-on): Likewise.
43967
43968         filenamecat: split into filenamecat-lgpl
43969         * modules/filenamecat-lgpl: New module.
43970         * modules/filenamecat (Files): Move library-safe files into
43971         filenamecat-lgpl.
43972         (Depends-on): Add filenamecat-lgpl.
43973         (configure.ac): Declare witness.
43974         * lib/filenamecat.h (file_name_concat): Only declare when using
43975         GPL module.
43976         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
43977         Move...
43978         * lib/filenamecat-lgpl.c: ...into new file.
43979         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
43980         (gl_FILE_NAME_CONCAT): Use it.
43981         * MODULES.html.sh (File system functions): Mention new module.
43982
43983         argp: avoid memory leak
43984         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
43985         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
43986         base_name, since the latter malloc()s and can call exit().
43987         Leak introduced 2006-07-03.
43988
43989         dirname-lgpl: adjust clients that don't need full dirname
43990         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
43991         * modules/filenamecat (Depends-on): Likewise.
43992         * modules/linkat (Depends-on): Likewise.
43993         * modules/mkancesdirs (Depends-on): Likewise.
43994         * modules/mkdir (Depends-on): Likewise.
43995         * modules/openat (Depends-on): Likewise.
43996         * modules/savewd (Depends-on): Likewise.
43997         * modules/rename (Depends-on): Likewise.
43998         (License): Relax license.
43999         * modules/mkdir-tests (Depends-on): Drop progname.
44000         (Makefile.am): Delete unneeded LDADD.
44001         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
44002
44003         dirname: split into dirname-lgpl
44004         * modules/dirname-lgpl: New module.
44005         * modules/dirname (Files): Move library-safe files into
44006         dirname-lgpl.
44007         (Depends-on): Add dirname-lgpl.
44008         (configure.ac): Declare witness.
44009         * modules/double-slash-root (License): Relax license.
44010         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
44011         module.
44012         * lib/dirname.c (dir_len, mdir_name): Move...
44013         * lib/dirname-lgpl.c: ...into new file.
44014         * lib/basename.c (last_component, base_len): Move...
44015         * lib/basename-lgpl.c: ...into new file.
44016         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
44017         (gl_DIRNAME): Use it.
44018         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
44019         Mention new module.
44020         * modules/dirname-tests (Depends-on): Add progname.
44021         * tests/test-dirname.c (program_name): Delete.
44022
44023         mkdir: make safe for libraries
44024         * modules/mkdir (Depends-on): Drop xalloc.
44025         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
44026         exit.
44027
44028         tests: avoid some compiler warnings
44029         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
44030         literals.
44031         * tests/test-memchr.c (main): Avoid type mismatch.
44032         * tests/test-arpa_inet.c (main): Avoid unused parameters.
44033         * tests/test-base64.c (main): Likewise.
44034         * tests/test-getdelim.c (main): Likewise.
44035         * tests/test-gethostname.c (main): Likewise.
44036         * tests/test-getline.c (main): Likewise.
44037         * tests/test-netinet_in.c (main): Likewise.
44038         * tests/test-select.c (open_server_socket, main): Likewise.
44039         * tests/test-select-stdin.c (main): Likewise.
44040         * tests/test-sockets.c (main): Likewise.
44041         * tests/test-strsignal.c (main): Likewise.
44042         * tests/test-sys_select.c (main): Likewise.
44043         * tests/test-sys_socket.c (main): Likewise.
44044         * tests/test-u64.c (main): Likewise.
44045         * tests/test-xfprintf-posix.c (main): Likewise.
44046         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
44047
44048         sockets: avoid compiler warning
44049         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
44050
44051         maint: detect usage(1) and other suspicious exits
44052         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
44053
44054 2009-10-29  Jim Meyering  <meyering@redhat.com>
44055
44056         timespec: long-to-int truncation could make timespec_cmp malfunction
44057         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
44058         a multiple of 2^32 nanoseconds as no difference.
44059
44060 2009-10-28  Jim Meyering  <meyering@redhat.com>
44061
44062         fprintftime: wrap macro code argument in "do {...} while(0)"
44063         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
44064         cpy macro must be a statement that can be followed by a semicolon.
44065         Now that the else clause contains a comment and is hence longer
44066         than one line, I require curly braces.  That in turn requires
44067         that we wrap this code block in the standard do...while(0).
44068
44069         fprintftime: remove stray semicolon from previous change
44070         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
44071
44072         fprintftime: avoid a warning about ignored fwrite return value
44073         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
44074         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
44075         that is unsafe.
44076         * modules/fprintftime (Depends-on): Add ignore-value.
44077
44078         exclude: avoid an unwarranted warning
44079         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
44080
44081 2009-10-27  Eric Blake  <ebb9@byu.net>
44082
44083         fseek: avoid compilation failure when fflush is replaced
44084         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
44085         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
44086         module is in use.
44087         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
44088         module is not in use; since REPLACE_FSEEK worked otherwise.
44089         (GNULIB_FTELLO): Likewise for ftell.
44090         Reported by Ian Beckwith and others.
44091
44092 2009-10-27  Bruno Haible  <bruno@clisp.org>
44093
44094         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
44095         Reported by Jim Meyering.
44096
44097 2009-10-27  Jim Meyering  <jim@meyering.net>
44098             Bruno Haible  <bruno@clisp.org>
44099
44100         Avoid warning despite dropping the return value of fwrite.
44101         * lib/unicodeio.c: Include ignore-value.h.
44102         (fwrite_success_callback): Explicitly ignore fwrite's return value.
44103         * modules/unicodeio (Depends-on): Add ignore-value.
44104
44105 2009-10-26  Eric Blake  <ebb9@byu.net>
44106
44107         areadlinkat: fix fallback path
44108         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
44109         pointer and zero.
44110
44111 2009-10-22  Pádraig Brady  <P@draigBrady.com>
44112
44113         Use a better IO block size for modern systems
44114         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
44115         * lib/md2.c: Likewise.
44116         * lib/md4.c: Likewise.
44117         * lib/md5.c: Likewise.
44118         * lib/sha1.c: Likewise.
44119         * lib/sha256.c: Likewise.
44120         * lib/sha512.c: Likewise.
44121
44122 2009-10-22  Eric Blake  <ebb9@byu.net>
44123
44124         tests: avoid several compiler warnings
44125         * tests/test-getcwd.c (main): Avoid buffer underflow.
44126         * tests/test-getdate.c (main): String literals are not safe with
44127         putenv, so use setenv.  Declare unused argument.
44128         * modules/getdate-tests (Depends-on): Add setenv.
44129         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
44130         problems with string literals in char *.
44131         * tests/test-hash.c (main): Avoid shadowing declaration.
44132         (insert_new): Treat string literals as char const *.
44133         * tests/test-getopt.h (test_getopt): Likewise.
44134         (getopt_loop): Alter types to minimize casting elsewhere.
44135         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
44136         (test_getopt_long_posix): Likewise.
44137         (do_getopt_long): Add wrapper to minimize casting.
44138         * tests/test-atexit.c (clear_temp_file): Use void.
44139         * tests/test-areadlink-with-size.c (main): Declare unused
44140         arguments.
44141         * tests/test-areadlink.c (main): Likewise.
44142         * tests/test-areadlinkat-with-size.c (main): Likewise.
44143         * tests/test-areadlinkat.c (main): Likewise.
44144         * tests/test-canonicalize-lgpl.c (main): Likewise.
44145         * tests/test-canonicalize.c (main): Likewise.
44146         * tests/test-dirent-safer.c (main): Likewise.
44147         * tests/test-dirname.c (main): Likewise.
44148         * tests/test-dup2.c (main): Likewise.
44149         * tests/test-fchdir.c (main): Likewise.
44150         * tests/test-fcntl-h.c (main): Likewise.
44151         * tests/test-fcntl-safer.c (main): Likewise.
44152         * tests/test-fdopendir.c (main): Likewise.
44153         * tests/test-fdutimensat.c (main): Likewise.
44154         * tests/test-fflush.c (main): Likewise.
44155         * tests/test-filenamecat.c (main): Likewise.
44156         * tests/test-filevercmp.c (main): Likewise.
44157         * tests/test-fopen-safer.c (main): Likewise.
44158         * tests/test-fopen.c (main): Likewise.
44159         * tests/test-fpending.c (main): Likewise.
44160         * tests/test-fpurge.c (main): Likewise.
44161         * tests/test-freading.c (main): Likewise.
44162         * tests/test-fstatat.c (main): Likewise.
44163         * tests/test-fsync.c (main): Likewise.
44164         * tests/test-futimens.c (main): Likewise.
44165         * tests/test-getndelim2.c (main): Likewise.
44166         * tests/test-gettimeofday.c (main): Likewise.
44167         * tests/test-getopt.c (main): Likewise.
44168         * tests/test-i-ring.c (main): Likewise.
44169         * tests/test-inttypes.c (main): Likewise.
44170         * tests/test-link.c (main): Likewise.
44171         * tests/test-lstat.c (main): Likewise.
44172         * tests/test-math.c (main): Likewise.
44173         * tests/test-md5.c (main): Likewise.
44174         * tests/test-memchr2.c (main): Likewise.
44175         * tests/test-memrchr.c (main): Likewise.
44176         * tests/test-mkdir.c (main): Likewise.
44177         * tests/test-mkdirat.c (main): Likewise.
44178         * tests/test-mkfifoat.c (main): Likewise.
44179         * tests/test-open.c (main): Likewise.
44180         * tests/test-openat-safer.c (main): Likewise.
44181         * tests/test-openat.c (main): Likewise.
44182         * tests/test-quotearg.c (main): Likewise.
44183         * tests/test-rawmemchr.c (main): Likewise.
44184         * tests/test-readlink.c (main): Likewise.
44185         * tests/test-remove.c (main): Likewise.
44186         * tests/test-rename.c (main): Likewise.
44187         * tests/test-renameat.c (main): Likewise.
44188         * tests/test-rmdir.c (main): Likewise.
44189         * tests/test-sha1.c (main): Likewise.
44190         * tests/test-signal.c (main): Likewise.
44191         * tests/test-sigaction.c (main): Likewise.
44192         * tests/test-stat.c (main): Likewise.
44193         * tests/test-stat-time.c (main): Likewise.
44194         * tests/test-stddef.c (main): Likewise.
44195         * tests/test-stdint.c (main): Likewise.
44196         * tests/test-stdio.c (main): Likewise.
44197         * tests/test-stdlib.c (main): Likewise.
44198         * tests/test-strchrnul.c (main): Likewise.
44199         * tests/test-strerror.c (main): Likewise.
44200         * tests/test-string.c (main): Likewise.
44201         * tests/test-strtod.c (main): Likewise.
44202         * tests/test-strverscmp.c (main): Likewise.
44203         * tests/test-symlink.c (main): Likewise.
44204         * tests/test-symlinkat.c (main): Likewise.
44205         * tests/test-sys_stat.c (main): Likewise.
44206         * tests/test-sys_time.c (main): Likewise.
44207         * tests/test-time.c (main): Likewise.
44208         * tests/test-unistd.c (main): Likewise.
44209         * tests/test-unlink.c (main): Likewise.
44210         * tests/test-unlinkat.c (main): Likewise.
44211         * tests/test-utimens.c (main): Likewise.
44212         * tests/test-utimensat.c (main): Likewise.
44213         * tests/test-version-etc.c (main): Likewise.
44214         * tests/test-wchar.c (main): Likewise.
44215         * tests/test-wctype.c (main): Likewise.
44216         * tests/test-xprintf-posix.c (main): Likewise.
44217         * tests/test-posixtm.c (main): Likewise.
44218         (STREQ): Delete unused macro.
44219         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
44220         shadowed variables.
44221         * tests/test-memchr.c (main): Likewise.
44222
44223 2009-10-21  Eric Blake  <ebb9@byu.net>
44224
44225         areadlinkat: avoid failure on older glibc
44226         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
44227         rather than mis-comparing 0 against FUNC_RESULT of char*.
44228
44229 2009-10-21  Bruno Haible  <bruno@clisp.org>
44230
44231         * modules/stpncpy (License): Relicense under LGPLv2+.
44232         Reported by David Lutterkort <lutter@redhat.com>.
44233
44234 2009-10-20  Eric Blake  <ebb9@byu.net>
44235
44236         utimensat: work around Solaris 9 bug
44237         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
44238         has trailing slash bugs.
44239         * tests/test-lutimens.h (test_lutimens): Enhance test.
44240         * tests/test-utimens.h (test_utimens): Likewise.
44241         * doc/posix-functions/utime.texi (utime): Enhance documentation.
44242         * doc/posix-functions/utimes.texi (utimes): Likewise.
44243         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44244         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
44245         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
44246         * doc/posix-functions/futimens.texi (futimens): Likewise.
44247
44248         fdutimensat: new module
44249         * modules/fdutimensat: New file.
44250         * lib/fdutimensat.c (fdutimensat): Likewise.
44251         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
44252         * MODULES.html.sh (File system functions): Mention module.
44253         * modules/fdutimensat-tests: New test.
44254         * tests/test-fdutimensat.c: Likewise.
44255
44256         doc: regenerate INSTALL
44257         * doc/INSTALL: Reflect recent autoconf update.
44258         * doc/INSTALL.ISO: Likewise.
44259         * doc/INSTALL.UTF-8: Likewise.
44260
44261 2009-10-20  Pádraig Brady  <P@draigBrady.com>
44262
44263         acl: warn if ACL support is not detected
44264         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
44265
44266 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
44267
44268         * lib/nproc.h: Add extern "C" block for C++.
44269
44270 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
44271             Bruno Haible  <bruno@clisp.org>
44272
44273         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
44274         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
44275         * doc/posix-functions/isalpha.texi: Likewise.
44276         * doc/posix-functions/isblank.texi: Likewise.
44277         * doc/posix-functions/iscntrl.texi: Likewise.
44278         * doc/posix-functions/isdigit.texi: Likewise.
44279         * doc/posix-functions/isgraph.texi: Likewise.
44280         * doc/posix-functions/islower.texi: Likewise.
44281         * doc/posix-functions/isprint.texi: Likewise.
44282         * doc/posix-functions/ispunct.texi: Likewise.
44283         * doc/posix-functions/isspace.texi: Likewise.
44284         * doc/posix-functions/isupper.texi: Likewise.
44285         * doc/posix-functions/isxdigit.texi: Likewise.
44286
44287 2009-10-18  Bruno Haible  <bruno@clisp.org>
44288
44289         Tests for module 'isblank'.
44290         * modules/isblank-tests: New file.
44291         * tests/test-isblank.c: New file.
44292
44293         New module 'isblank'.
44294         * lib/isblank.c: New file.
44295         * m4/isblank.m4: New file.
44296         * modules/isblank: New file.
44297         * doc/posix-functions/isblank.texi: Mention the new module.
44298
44299 2009-10-18  Bruno Haible  <bruno@clisp.org>
44300
44301         New module 'ctype'.
44302         * lib/ctype.in.h: New file.
44303         * m4/ctype.m4: New file.
44304         * modules/ctype: New file.
44305         * doc/posix-headers/ctype.texi: Mention the new module.
44306
44307 2009-10-18  Jim Meyering  <meyering@redhat.com>
44308
44309         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
44310         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
44311         right after its initialization, rather than farther down.
44312         Keeping these in close proximity makes it easier to ensure
44313         that each such variable is initialized.  E.g.,
44314
44315             LIB_CLOCK_GETTIME=
44316             AC_SUBST([LIB_CLOCK_GETTIME])
44317
44318         This change also increments these serial numbers.
44319         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
44320         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
44321         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44322
44323 2009-10-18  Bruno Haible  <bruno@clisp.org>
44324
44325         Don't let environment variables perturb build.
44326         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
44327         (gl_PREREQ_GETHRXTIME): ... not here.
44328
44329 2009-10-18  Bruno Haible  <bruno@clisp.org>
44330
44331         Avoid symlink attack in localcharset module.
44332         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
44333         (O_NOFOLLOW): Define fallback.
44334         (get_charset_aliases): Don't open the file if it is a symbolic link.
44335         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
44336         gl_FCNTL_H.
44337         (gl_FCNTL_H): Require it.
44338         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
44339         * modules/localcharset (Files): Add m4/fcntl_h.m4.
44340         Reported by Fergal Glynn <fglynn@veracode.com>.
44341
44342 2009-10-18  Bruno Haible  <bruno@clisp.org>
44343
44344         Implement nproc for mingw.
44345         * lib/nproc.c: Include <windows.h>
44346         (num_processors): On native Windows platforms, try GetSystemInfo.
44347
44348 2009-10-18  Bruno Haible  <bruno@clisp.org>
44349
44350         Implement nproc for IRIX.
44351         * lib/nproc.c: Include <sys/sysmp.h>.
44352         (num_processors): On IRIX systems, try sysmp.
44353         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
44354
44355 2009-10-18  Bruno Haible  <bruno@clisp.org>
44356
44357         Implement nproc for HP-UX.
44358         * lib/nproc.c: Include <sys/pstat.h>
44359         (num_processors): On HP-UX systems, try pstat_getdynamic.
44360         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
44361         pstat_getdynamic.
44362
44363 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
44364             Bruno Haible  <bruno@clisp.org>
44365
44366         Implement nproc for NetBSD, OpenBSD.
44367         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
44368         (ARRAY_SIZE): New macro.
44369         (num_processors): On BSD systems, try sysctl of HW_NCPU.
44370         * m4/nproc.m4: New file.
44371         * modules/nproc (Files): Add m4/nproc.m4.
44372         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
44373         (Makefile.am): Instead, augment lib_SOURCES.
44374
44375 2009-10-18  Bruno Haible  <bruno@clisp.org>
44376
44377         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
44378         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
44379         sys/param.h.
44380
44381 2009-10-16  Eric Blake  <ebb9@byu.net>
44382
44383         utimensat: new module
44384         * modules/utimensat: New file.
44385         * lib/utimensat.c (utimensat): Likewise.
44386         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
44387         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
44388         so we can work around Linux bugs.
44389         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44390         * modules/sys_stat (Makefile.am): Substitute them.
44391         * lib/sys_stat.in.h (utimensat): Declare it.
44392         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44393         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44394         * modules/utimensat-tests: New test.
44395         * tests/test-utimensat.c: Likewise.
44396
44397         utimens: let lutimens work on non-symlinks
44398         * lib/utimens.c (lutimens): Fall back to utimens rather than
44399         failing with ENOSYS, when file is not a symlink.
44400         (utimens): Reduce redirection.
44401         * tests/test-lutimens.h (test_lutimens): Update test to cover
44402         non-symlinks.
44403         * tests/test-utimens.h (test_utimens): Update test to cover
44404         symlinks.
44405         * tests/test-utimens.c (main): Update caller.
44406
44407         utimens: cache whether utimensat syscall works
44408         * lib/utimens.c (utimensat_works_really): New cache variable.
44409         (fdutimens, lutimens): Use it to avoid failing syscall.
44410
44411         test-stat-time, test-utimens: improve portability
44412         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
44413         ext4 on alpha, and for cygwin.
44414         * tests/test-utimens-common.h: New file.
44415         (nap): Factor delays into single function.
44416         * tests/test-lutimens.h (test_lutimens): Use new header.
44417         * tests/test-futimens.h (test_futimens): Likewise.
44418         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
44419         timestamps to occur from same machine, as was done previously for
44420         test_utimens.
44421         * modules/utimens-tests (Files): Ship new file.
44422         * modules/futimens-tests (Files): Likewise.
44423         Reported in part by Jim Meyering.
44424
44425         sys_stat: sort replacement declarations
44426         * lib/sys_stat.in.h: Sort declarations.
44427         * lib/futimens.c (futimens): Fix typo.
44428
44429 2009-10-15  Jim Meyering  <meyering@redhat.com>
44430
44431         don't let environment settings perturb build
44432         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
44433         could cause a configure-time and/or build-time malfunction.
44434         Typically, a configure-time function-in-library test is performed
44435         via code like this:
44436
44437           LIB_VAR=
44438           AC_SUBST([LIB_VAR])
44439           prefix_saved_LIBS=$LIBS
44440             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
44441                        [test "$ac_cv_search_FUNC" = "none required" ||
44442                         LIB_VAR=$ac_cv_search_FUNC])
44443           LIBS=$prefix_saved_LIBS
44444
44445         However, in each of the files affected by this change, the LIB_VAR=
44446         initialization was omitted.  Thus, when set in the environment, its
44447         value would propagate into generated Makefiles when FUNC is not found
44448         in LIB_NAME.
44449         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
44450         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
44451         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44452
44453 2009-10-14  Eric Blake  <ebb9@byu.net>
44454
44455         fchdir: avoid infinite recursion in mingw
44456         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
44457         recursing.
44458
44459         test-stat-time: port to mingw
44460         * tests/test-stat-time.c (force_unlink): Return a value.
44461         (test_ctime) [W32]: Fix compilation error.
44462         (nap): Don't call usleep with too large an argument.  Use
44463         force_unlink.
44464         * doc/pastposix-functions/usleep.texi (usleep): Document the
44465         portability issue.
44466
44467 2009-10-13  Jim Meyering  <meyering@redhat.com>
44468
44469         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
44470         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
44471         * modules/pipe-filter-ii: Likewise.
44472         * modules/sys_socket-tests: Likewise.
44473         * modules/tsearch-tests: Likewise.
44474         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
44475         (check): Depend on it.
44476
44477 2009-10-12  Eric Blake  <ebb9@byu.net>
44478
44479         utimens-tests: port to NFS file systems
44480         * tests/test-utimens.h (test_utimens): Refactor utimecmp
44481         comparisons to avoid spurious failures from timestamp drift
44482         between NFS machines.
44483
44484 2009-10-12  Eric Blake  <ebb9@byu.net>
44485
44486         stat-time-tests: minor cleanups
44487         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
44488         * tests/test-stat-time.c (nap): Separate assignment from call.
44489         Suggested by Paolo Bonzini and Bruno Haible.
44490
44491         sys_stat: guarantee struct timespec
44492         * lib/sys_stat.in.h (includes): Always include <time.h>
44493         * modules/sys_stat (Depends-on): Add time.
44494         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
44495         mode_t permission values.
44496         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
44497         get at subsecond timestamps.
44498
44499 2009-10-10  Eric Blake  <ebb9@byu.net>
44500
44501         futimens: new module
44502         * modules/futimens: New file.
44503         * lib/futimens.c (futimens): Likewise.
44504         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
44505         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
44506         we can work around Linux bugs.
44507         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44508         * modules/sys_stat (Makefile.am): Substitute them.
44509         * lib/sys_stat.in.h (futimens): Declare it.
44510         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44511         * doc/posix-functions/futimens.texi (futimens): Likewise.
44512         * modules/futimens-tests: New test.
44513         * tests/test-futimens.c: Likewise.
44514
44515         utimens: introduce fdutimens
44516         * lib/utimens.h (fdutimens): New prototype.
44517         * lib/utimens.c (gl_futimens): Move guts...
44518         (fdutimens): ...to new interface.
44519         * tests/test-utimens.c (do_fdutimens): Use it.
44520
44521         utimens: add UTIME_NOW and UTIME_OMIT support
44522         * lib/utimens.c (validate_timespec, update_timespec): New helper
44523         functions.
44524         (gl_futimens, lutimens): Use them.
44525         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
44526         stdbool, sys_stat.
44527         (Link): Mention resulting library dependency.
44528         * modules/utimecmp (Link): Likewise.
44529         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
44530         (Makefile.am): Pick up library dependency.
44531         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
44532         definition.
44533         * tests/test-sys_stat.c: Test the definitions.
44534         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
44535         * NEWS: Document library dependency.
44536
44537         utimecmp: support symlink timestamps
44538         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
44539         hashing when possible.  Use pathconf when available.
44540         (SYSCALL_RESOLUTION): Recognize tighter resolution.
44541         * modules/utimecmp (Depends-on): Add lstat.
44542
44543         utimens: add lutimens interface
44544         * lib/utimens.c (lutimens): New function.
44545         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
44546         * lib/utimens.h (lutimens): Declare new interface.
44547         * tests/test-utimens.c (main): Enhance test.
44548         * tests/test-lutimens.h (test_lutimens): New file.
44549         * modules/utimens-tests (Files): Distribute it.
44550         (Depends-on): Add symlink.
44551         (configure.ac): Check for usleep.
44552
44553         utimens: validate futimens usage
44554         * lib/utimens.c (gl_futimens): Require valid fd up front, using
44555         fewer syscalls on failure later on.  Avoid compiler warning on
44556         mingw.
44557         * modules/utimens (Depends-on): Add dup2.
44558
44559         utimens: add test
44560         * modules/utimens-tests: New test.
44561         * tests/test-utimens.h: New file.
44562         * tests/test-futimens.h: Likewise.
44563         * tests/test-utimens.c: Likewise.
44564
44565         doc: mention timestamp portability issues
44566         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
44567         instead.
44568         * doc/posix-functions/utime.texi (utime): Likewise.
44569         * doc/posix-functions/utimes.texi (utimes): Likewise.
44570         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
44571         instead.
44572         * doc/posix-functions/futimens.texi (futimens): Mention utimens
44573         module.
44574         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44575         Mention weakness with symlink timestamps.
44576         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
44577         to utimensat/futimens instead.
44578         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
44579
44580         test-dup2: enhance test
44581         * tests/test-dup2.c (main): Also check AT_FDCWD.
44582
44583         test-stat-time: avoid more spurious failures
44584         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
44585         xfs; and avoid race if the two timestamps cross quantization edge.
44586
44587         relocatable: prefer 'file system' over 'filesystem'
44588         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
44589         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
44590         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
44591         * doc/relocatable.texi (Enabling Relocatability): Likewise.
44592         * lib/relocatable.c (compute_curr_prefix): Likewise.
44593
44594 2009-10-10  Jim Meyering  <meyering@redhat.com>
44595
44596         stat-time-tests: check for the usleep function
44597         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
44598
44599 2009-10-10  Bruno Haible  <bruno@clisp.org>
44600
44601         * modules/xnanosleep: Put the Link section after the Include section.
44602
44603 2009-10-09  Eric Blake  <ebb9@byu.net>
44604
44605         dup2: work around FreeBSD 6.1 bug
44606         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
44607         * doc/posix-functions/dup2.texi (dup2): Document it.
44608         Reported by Nelson H. F. Beebe and Jim Meyering.
44609
44610         test-stat-time: port to buggy NFS clients
44611         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
44612         (test_ctime): Also skip test if mtime and ctime are skewed.
44613
44614         maint: prefer 'file system' over 'filesystem'
44615         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44616         * doc/posix-functions/lstat.texi (lstat): Likewise.
44617         * lib/file-has-acl.c (file_has_acl): Likewise.
44618         * lib/fwriteerror.c [TEST]: Likewise.
44619         * tests/test-areadlink.h (test_areadlink): Likewise.
44620         * tests/test-areadlinkat-with-size.c (main): Likewise.
44621         * tests/test-areadlinkat.c (main): Likewise.
44622         * tests/test-canonicalize-lgpl.c (main): Likewise.
44623         * tests/test-canonicalize.c (main): Likewise.
44624         * tests/test-fstatat.c (main): Likewise.
44625         * tests/test-linkat.c (main): Likewise.
44626         * tests/test-lstat.h (test_lstat_func): Likewise.
44627         * tests/test-mkdir.h (test_mkdir): Likewise.
44628         * tests/test-readlink.h (test_readlink): Likewise.
44629         * tests/test-remove.c (main): Likewise.
44630         * tests/test-rename.h (test_rename): Likewise.
44631         * tests/test-renameat.c (main): Likewise.
44632         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44633         * tests/test-symlink.h (test_symlink): Likewise.
44634         * tests/test-symlinkat.c (main): Likewise.
44635         * tests/test-unlink.h (test_unlink_func): Likewise.
44636         * tests/test-unlinkat.c (main): Likewise.
44637
44638         maint: make realtime library usage explicit
44639         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
44640         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
44641         * modules/settime (Link): Likewise.
44642         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
44643
44644         test-stat-time: speed up execution
44645         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
44646         warning on mingw.
44647         (nap): New helper function.
44648         (prepare_test): Use it to reduce sleep time.
44649         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
44650         execution.
44651         * modules/stat-time-tests (configure.ac): Check for usleep.
44652
44653 2009-10-09  Jim Meyering  <meyering@redhat.com>
44654
44655         selinux-h: always use getfilecon wrappers
44656         * lib/getfilecon.c: New file.
44657         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
44658         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
44659         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
44660         (fgetfilecon): Provide a stub.
44661         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
44662         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
44663         file unconditionally.
44664         When <selinux/selinux.h> is found, arrange to use wrappers.
44665         * modules/selinux-h (Files): Add getfilecon.c.
44666         (Makefile.am): Substitute include-next-related bits
44667         into the now-always-generated selinux/selinux.h file.
44668         * doc/glibc-functions/lgetfilecon.texi: New file.
44669         * doc/glibc-functions/fgetfilecon.texi: New file.
44670         * doc/glibc-functions/getfilecon.texi: New file.
44671         * doc/glibc-functions/getfilecon-desc.texi: New file.
44672         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
44673         which to pull in the new files.
44674         * MODULES.html.sh (Misc): Add selinux-h.
44675
44676 2009-10-08  Jim Meyering  <meyering@redhat.com>
44677
44678         unistd: fix comment typo
44679         * lib/unistd.in.h (euidaccess): Fix a comment typo.
44680
44681 2009-10-08  Eric Blake  <ebb9@byu.net>
44682
44683         areadlink: use SIZE_MAX consistently
44684         * modules/areadlink (Depends-on): Add stdint.
44685         * modules/areadlink-with-size (Depends-on): Likewise.
44686         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
44687         gives NULL; drop sys/types, since unistd gives size_t; and add
44688         stdint for SIZE_MAX.
44689         (SIZE_MAX): Rely on headers.
44690         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
44691         and add stdint.
44692         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
44693         (SIZE_MAX): Likewise.
44694         (INITIAL_BUF_SIZE): Turn into enum.
44695         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
44696
44697 2009-10-08  Jim Meyering  <meyering@redhat.com>
44698
44699         areadlinkat: avoid compilation failure
44700         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
44701         Fix typo in comment.
44702
44703 2009-10-07  Eric Blake  <ebb9@byu.net>
44704
44705         areadlinkat-with-size: new module
44706         * modules/areadlinkat-with-size: New module.
44707         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
44708         * lib/areadlink.h (areadlinkat): Declare it.
44709         * MODULES.html.sh (File system functions): Mention it.
44710         * modules/areadlinkat-with-size-tests: New test.
44711         * tests/test-areadlinkat-with-size.c: New file.
44712
44713         xreadlinkat: new module
44714         * modules/xreadlinkat: New module.
44715         * lib/xreadlinkat.c (xreadlinkat): New file.
44716         * lib/xreadlink.h (xreadlinkat): Declare it.
44717         * MODULES.html.sh (File system functions): Mention it.
44718
44719         areadlinkat: new module
44720         * lib/at-func.c (FUNC_FAIL): New define.
44721         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
44722         * modules/areadlinkat: New module.
44723         * lib/linkat.c (areadlinkat): Move...
44724         * lib/areadlinkat.c (areadlinkat): ...to new file.
44725         * lib/areadlink.h (areadlinkat): Declare it.
44726         * modules/linkat (Depends-on): Add areadlinkat.
44727         * MODULES.html.sh (File system functions): Mention it.
44728         * modules/areadlinkat-tests: New test.
44729         * tests/test-areadlinkat.c: New file.
44730
44731         areadlink, areadlink-with-size: add tests
44732         * modules/areadlink-tests: New test.
44733         * modules/areadlink-with-size-tests: Likewise.
44734         * tests/test-areadlink.h: New file.
44735         * tests/test-areadlink.c: Likewise.
44736         * tests/test-areadlink-with-size.c: Likewise.
44737
44738         maint: minor cleanups
44739         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
44740         _UNUSED_PARAMETER_ instead.
44741         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
44742         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
44743         * modules/linkat-tests (Files): Distribute test-link.h.
44744
44745         openat, utimens: whitespace cleanup
44746         * lib/openat.c: Prefer space throughout, rather than mix of 8
44747         spaces vs. tabs.
44748         * lib/at-func.c: Likewise.
44749         * lib/utimens.c: Likewise.
44750
44751         openat: avoid using wrong fd
44752         * lib/openat.c (openat_permissive): Reject user's fd if saving the
44753         working directory chooses same fd.
44754         * lib/at-func.c (AT_FUNC_NAME): Likewise.
44755
44756         mkdir, mkdirat: fix cygwin 1.5.x bug
44757         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
44758         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
44759         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
44760         bug.
44761         (gl_PREREQ_MKDIR): Delete unused macro.
44762         * modules/mkdir (Files): Track file rename.
44763         (configure.ac): Update macro name.
44764         * modules/openat (Depends-on): Add mkdir.
44765         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
44766
44767         mkdir, mkdirat: add tests
44768         * modules/mkdir-tests: New test.
44769         * tests/test-mkdir.h: New file.
44770         * tests/test-mkdir.c: Likewise.
44771         * tests/test-mkdirat.c: Likewise.
44772         * modules/openat-tests (Files): Add new files.
44773         (Makefile.am): Run new test.
44774
44775 2009-10-06  Eric Blake  <ebb9@byu.net>
44776
44777         doc: tweak *at function documentation
44778         * doc/posix-functions/faccessat.texi (faccessat): Mention
44779         known issue with replacement.
44780         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
44781         * doc/posix-functions/linkat.texi (linkat): Likewise.
44782         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
44783         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
44784         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44785         * doc/posix-functions/renameat.texi (renameat): Likewise.
44786         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
44787
44788         openat: fix GNU/Hurd bug in unlinkat
44789         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
44790         broken.
44791         * doc/posix-functions/unlink.texi (unlink): Document this.
44792         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
44793
44794         fdopendir: fix GNU/Hurd bug
44795         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
44796         allowing non-directory fds.
44797         * lib/fdopendir.c (rpl_fdopendir): Work around it.
44798         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
44799         * modules/dirent (Makefile.am): Substitute it.
44800         * lib/dirent.in.h (fdopendir): Declare replacement.
44801         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
44802         * tests/test-fdopendir.c (main): Test something other than
44803         /dev/null, since on Hurd that behaves like a directory.
44804
44805         test-symlink: port to GNU/Hurd
44806         * tests/test-symlink.h (test_symlink): Relax expected errno.
44807
44808         doc: tweak more cygwin information
44809         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
44810         now compatible with glibc.
44811         * doc/posix-functions/getopt.texi (getopt): Likewise.
44812
44813         getopt-gnu: add another test
44814         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
44815         guarantee behavior relied on by m4.
44816         * tests/test-getopt.c (main): Use it.
44817         * modules/getopt-posix-tests (Depends-on): Add setenv.
44818         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
44819
44820         getopt: fix compilation on darwin
44821         * lib/getopt.in.h (includes): Leave breadcrumbs during system
44822         include.
44823         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
44824         Reported by Ludovic Courtès.
44825
44826 2009-10-06  Bruno Haible  <bruno@clisp.org>
44827
44828         * modules/size_max (Description): Discourage its use.
44829         Reported by Simon Josefsson.
44830
44831 2009-10-06  Jim Meyering  <meyering@redhat.com>
44832
44833         linkat: avoid compilation failure
44834         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
44835
44836 2009-10-05  Eric Blake  <ebb9@byu.net>
44837
44838         linkat: support Linux 2.6.17
44839         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
44840         linkat on Linux, but allow cache variable override.
44841         * lib/linkat.c (rpl_linkat): Define override.
44842         * modules/linkat (Depends-on): Add symlinkat.
44843         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
44844         * modules/unistd (Makefile.am): Substitute it.
44845         * lib/unistd.in.h (linkat): Declare replacement.
44846         Reported by Pádraig Brady.
44847
44848         quotearg: port test to systems with C.UTF-8 locale
44849         * tests/test-quotearg.c (struct result_strings): Add another
44850         member, differentiating between C.ASCII and C.UTF-8 handling.
44851         (compare_strings): Add parameter.
44852         (main): Adjust all callers.
44853
44854         getopt: avoid clash with FreeBSD _getopt_internal
44855         * lib/getopt.in.h (_getopt_internal): Override the name.
44856         * lib/getopt_int.h (includes): Pick up any overrides.
44857         Reported by Reuben Thomas.
44858
44859         hash: allow C89 compilation
44860         * lib/hash.c (check_tuning): Move declaration before statement.
44861         Reported by Reuben Thomas.
44862
44863 2009-10-05  Karl Berry  <karl@gnu.org>
44864
44865         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
44866
44867 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
44868             Bruno Haible  <bruno@clisp.org>
44869
44870         * lib/uname.c (uname): Use a table-driven algorithm to compute
44871         Windows NT versions.
44872
44873 2009-10-04  Bruno Haible  <bruno@clisp.org>
44874
44875         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
44876         program_invocation_short_name.
44877         * modules/progname (configure.ac): Test for presence of
44878         program_invocation_short_name.
44879         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
44880
44881 2009-10-04  Bruno Haible  <bruno@clisp.org>
44882
44883         * lib/progname.c (set_program_name): Fix comment.
44884         Reported by Jim Meyering.
44885
44886 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44887             Bruno Haible  <bruno@clisp.org>
44888
44889         * lib/uname.c: Include <string.h>.
44890         (uname): Do only one call to GetVersionEx in the common case.
44891
44892 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44893             Bruno Haible  <bruno@clisp.org>
44894
44895         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
44896         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
44897         (uname): Add support for Windows CE and various non-x86 CPU types.
44898
44899 2009-10-03  Bruno Haible  <bruno@clisp.org>
44900
44901         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
44902         invocation to tests/configure.ac.
44903         Reported by Ian Beckwith <ianb@erislabs.net>.
44904
44905 2009-10-02  Eric Blake  <ebb9@byu.net>
44906
44907         fchdir: avoid compiler warning
44908         * lib/fchdir.c (canonicalize_file_name)
44909         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
44910
44911         test-open: support mingw errno values
44912         * tests/test-open.h (test_open): Relax test.
44913         * tests/test-fopen.h (test_fopen): Likewise.
44914         * tests/test-openat-safer.c (main): Likewise.
44915
44916         open: fix opening directory on mingw
44917         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
44918
44919         test-open: on GNU/Hurd, /dev/null is a directory
44920         * tests/test-fopen.h (main): Rename...
44921         (test_fopen): ...to this.  Use a guaranteed non-directory when
44922         confirming open behavior on trailing slash.
44923         * tests/test-openat-safer.c (main): Likewise.
44924         * tests/test-open.h (main): Likewise....
44925         (test_open): ...to this.
44926         * tests/test-fopen.c (main): Adjust caller.
44927         * tests/test-fopen-safer.c (main): Likewise.
44928         * tests/test-open.c (main): Likewise.
44929         * tests/test-fcntl-safer.c (main): Likewise.
44930         Reported by Samuel Thibault.
44931
44932         rename, fchdir: don't ignore chdir failure
44933         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
44934         * lib/rename.c (rpl_rename) [W32]: Likewise.
44935         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
44936         an empty destination directory if source cannot be renamed,
44937         although there is still possibility for failure.
44938         * doc/posix-functions/rename.texi (rename): Document the race.
44939         Reported by Jim Meyering.
44940
44941         maint: cleanup whitespace in recent commits
44942         * lib/rename.c (rpl_rename): Remove tabs.
44943         * tests/test-link.h (test_link): Likewise.
44944         * lib/fchdir.c (get_name): Likewise.
44945         Reported by Jim Meyering.
44946
44947 2009-10-02  Ben Pfaff  <blp@gnu.org>
44948
44949         relocatable-prog-wrapper: Add missing dependency on
44950         double-slash-root.
44951         * modules/relocatable-prog-wrapper: Add dependency.
44952         Reported by Ian Beckwith <ianb@erislabs.net>.
44953
44954 2009-10-02  Eric Blake  <ebb9@byu.net>
44955
44956         renameat: fix Solaris bugs
44957         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
44958         needed fixing.
44959         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
44960         * modules/stdio (Makefile.am): Substitute it.
44961         * lib/stdio.in.h (renameat): Declare replacement.
44962         * lib/renameat.c (rpl_renameat): Implement fix.
44963
44964         renameat: new module
44965         * modules/renameat: New file.
44966         * lib/renameat.c (renameat): Likewise.
44967         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
44968         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44969         * modules/stdio (Makefile.am): Substitute them.
44970         * lib/stdio.in.h (renameat): Declare it.
44971         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44972         * doc/posix-functions/renameat.texi (renameat): Likewise.
44973         * modules/renameat-tests: New test.
44974         * tests/test-renameat.c: Likewise.
44975
44976         rename: fix mingw bugs
44977         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
44978         directory overwrite bugs.
44979
44980         rename: fix another cygwin 1.5 bug
44981         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
44982         checks.
44983         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
44984         unnecessary cygwin workarounds.  Also work around bug with moving
44985         full directory onto an empty one.
44986         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
44987
44988         rename-dest-slash: merge into rename module
44989         * modules/rename-dest-slash (Status): Mark obsolete.
44990         (Depends-on): Add rename.
44991         (Files): Let rename do it all.
44992         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
44993         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
44994         * m4/rename-dest-slash.m4: ...so this file can be deleted.
44995         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
44996         * lib/rename.c (rpl_rename): Update comments.
44997
44998         rename: fix cygwin 1.5.x bugs
44999         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
45000         * lib/rename.c (rpl_rename): Work around them.
45001         * modules/rename (Depends-on): Add same-inode.
45002
45003         rename: fix Solaris 10 bug
45004         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
45005         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
45006         was the only bug.
45007
45008         rename: fix Solaris 9 bug
45009         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
45010         on non-directory.  Avoid calling exit.
45011         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
45012         strdup.
45013         * modules/rename-tests (Depends-on): Drop lstat.
45014         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
45015         (gl_PREREQ_RENAME): Delete unused macro.
45016
45017         rename-dest-slash: fix NetBSD bug
45018         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
45019         links.
45020         * modules/rename-dest-slash (Depends-on): Add same-inode.
45021
45022         rename-tests: new test, exposes several platform bugs
45023         * modules/rename-tests: New file.
45024         * tests/test-rename.h: Likewise.
45025         * tests/test-rename.c: Likewise.
45026         * doc/posix-functions/rename.texi (rename): Improve documentation,
45027         including bugs that will eventually be fixed in gnulib.
45028
45029 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
45030
45031         * lib/uname.c: Include <stdlib.h>
45032         (uname): Assume version info is available.
45033
45034 2009-10-02  Jim Meyering  <meyering@redhat.com>
45035
45036         gnu-web-doc-update: correct --help output
45037         * build-aux/gnu-web-doc-update: Make --help output relevant.
45038
45039         gnu-web-doc-update: add standard options
45040         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
45041
45042         gnu-web-doc-update: New module.
45043         Use this script to automatically update the on-line web documentation
45044         for your GNU project at http://www.gnu.org/software/$pkg/manual/
45045         * modules/gnu-web-doc-update: New file, from coreutils.
45046         * build-aux/gnu-web-doc-update: New script.
45047
45048 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
45049
45050         link: LoadLibrary is not needed.
45051         * lib/link.c: Use GetModuleHandle.
45052
45053 2009-10-01  Eric Blake  <ebb9@byu.net>
45054
45055         getopt: bump serial number
45056         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
45057         change.
45058
45059         tests: tighten link, rmdir, and remove tests
45060         * tests/test-link.h (includes): No need to use <config.h> here.
45061         Clean up if directory hard link was created, otherwise test for
45062         trailing '.'.
45063         * tests/test-linkat.c (main): Simplify.
45064         * tests/test-remove.c (main): Enhance test for trailing '.'.
45065         * tests/test-rmdir.h (test_rmdir_func): Likewise.
45066
45067 2009-10-01  Jim Meyering  <meyering@redhat.com>
45068
45069         maint.mk: requiring "make major" was annoying, for a "minor" release.
45070         What is intended is "stable", to contrast with alpha and beta,
45071         so require "make stable", not "make major".
45072         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
45073         (get_tool_versions): Likewise.
45074         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
45075
45076 2009-09-30  Ben Pfaff  <blp@gnu.org>
45077
45078         Fix broken build of replacement for Windows tmpfile().
45079         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
45080         flags argument added along with the 'mkostemp' module.
45081
45082 2009-09-28  Bruno Haible  <bruno@clisp.org>
45083
45084         Avoid identifier clash with POSIX function 'remove' defined as a macro.
45085         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
45086         to 'remove_elt'.
45087         (gl_list_remove): Update.
45088         * lib/gl_list.c (gl_list_remove): Update.
45089         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
45090         to 'remove_elt'.
45091         (gl_oset_remove): Update.
45092         * lib/gl_list.c (gl_oset_remove): Update.
45093         Reported by Eric Blake.
45094
45095 2009-09-28  Eric Blake  <ebb9@byu.net>
45096
45097         doc: mention yet more cygwin 1.7 status
45098         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
45099         cygwin.
45100         * doc/glibc-functions/execvpe.texi (execvpe): New file.
45101         * doc/gnulib.texi (Glibc unistd.h): Mention it.
45102
45103         argp: fix test failure
45104         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
45105         that are not upper-case.  Pass correct range to tolower.
45106
45107 2009-09-27  Jim Meyering  <meyering@redhat.com>
45108
45109         test-yesno: work around sparc-dash here-document infelicity
45110         Without this change, the literal \177 byte in a here document
45111         would make dash 0.5.5.1-3 access uninitialized memory.
45112         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
45113         Instead, use a marker, "@", and filter through tr to create the desired
45114         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
45115
45116 2009-09-27  Bruno Haible  <bruno@clisp.org>
45117
45118         Disable untested support for new flavours of ACLs on AIX.
45119         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
45120         progress.
45121         * lib/set-mode-acl.c (qset_acl): Likewise.
45122
45123 2008-12-07  Bruno Haible  <bruno@clisp.org>
45124
45125         Add support for new flavours of ACLs on AIX. (Untested.)
45126         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
45127         (file_has_acl): Add support for newer AIX.
45128         * lib/set-mode-acl.c (qset_acl): Likewise.
45129         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
45130         Rainer Tammer <tammer@tammer.net>.
45131
45132 2009-09-26  Eric Blake  <ebb9@byu.net>
45133
45134         argp: fix compilation of getopt
45135         * lib/getopt.in.h (includes): Use different guard than glibc.
45136         Reported by Sergey Poznyakoff.
45137
45138         doc: mention more cygwin 1.7 status
45139         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
45140         bug.
45141         * doc/posix-functions/execl.texi (execl): Likewise.
45142         * doc/posix-functions/execle.texi (execle): Likewise.
45143         * doc/posix-functions/execlp.texi (execlp): Likewise.
45144         * doc/posix-functions/execv.texi (execv): Likewise.
45145         * doc/posix-functions/execve.texi (execve): Likewise.
45146         * doc/posix-functions/execvp.texi (execvp): Likewise.
45147         * doc/glibc-functions/canonicalize_file_name.texi
45148         (canonicalize_file_name): Cygwin 1.7 now provides this.
45149         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
45150         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
45151         on AT_SYMLINK_NOFOLLOW.
45152
45153 2009-09-24  Eric Blake  <ebb9@byu.net>
45154
45155         test-linkat: make test more robust
45156         * tests/test-linkat.c (main): Avoid collision with EEXIST.
45157
45158         getopt: fix inclusion guards for cygwin
45159         * modules/getopt-posix (Depends-on): Add include-next.
45160         (Makefile.am): Substitute more items in replacement header.
45161         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
45162         <getopt.h>.
45163         * lib/getopt.in.h (includes): Use split inclusion guard, and
45164         prefer <getopt.h> over include <unistd.h> when one is present.
45165         (option): Also override name of 'struct option'.
45166
45167         same-inode: revert prior change; it is not yet ready
45168         * NEWS: Undo mention of this change.
45169         * lib/same-inode.h (same-inode.h): Undo tri-state change.
45170         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
45171         * lib/cycle-check.c (cycle_check): Likewise.
45172         * lib/same.c (same_name): Likewise.
45173         * lib/at-func2.c (at_func2): Likewise.
45174
45175 2009-09-23  Eric Blake  <ebb9@byu.net>
45176
45177         linkat: new module
45178         * modules/linkat: New file.
45179         * lib/at-func2.c (at_func2): Likewise.
45180         * lib/linkat.c (linkat): Likewise.
45181         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
45182         * lib/openat-priv.h (at_func2): Add declaration.
45183         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45184         * modules/unistd (Makefile.am): Substitute them.
45185         * lib/unistd.in.h (linkat): Declare it.
45186         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45187         * doc/posix-functions/linkat.texi (linkat): Likewise.
45188         * doc/posix-functions/link.texi (link): Tweak wording.
45189         * tests/test-link.c (main): Move guts...
45190         * tests/test-link.h (test_link): ...into new file.
45191         * modules/linkat-tests: New test.
45192         * tests/test-linkat.c: Likewise.
45193         * modules/link-tests (Files): Ship new file.
45194         (Depends-on): Add stdbool.
45195
45196         dirname: add library-safe mdir_name
45197         * lib/dirname.h (mdir_name): New prototype.
45198         * lib/dirname.c (dir_name): Move guts...
45199         (mdir_name): ...to new function that avoids xalloc_die.
45200
45201         fchdir: another mingw fix
45202         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
45203         * lib/fchdir.c (get_name): New helper method; skips canonicalize
45204         on mingw (where it has not yet been ported), and make it optional
45205         elsewhere.
45206         (_gl_register_fd): Use it.
45207
45208         same-inode: make SAME_INODE tri-state, to port to mingw
45209         * NEWS: Mention this change.
45210         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
45211         st_ino always being 0.
45212         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
45213         * lib/cycle-check.c (cycle_check): Likewise.
45214         * lib/same.c (same_name): Likewise.
45215
45216         lstat: avoid mingw compilation error
45217         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
45218         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
45219         lstat ourselves.
45220         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
45221         was adequate.
45222         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
45223         the checks for lstat.
45224         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
45225
45226         link: fix test failure on Solaris 9
45227         * lib/link.c (rpl_link): Don't assume link will catch bogus
45228         trailing slash on source.
45229
45230         test-symlinkat: enhance test
45231         * tests/test-readlink.c (main): Move guts...
45232         * tests/test-readlink.h (test_readlink): ...into new file.
45233         * tests/test-symlink.c (main): Move guts...
45234         * tests/test-symlink.h (test_symlink): ...into new file.
45235         * tests/test-symlinkat.c (main): Use new files for further
45236         coverage.
45237         (do_symlink, do_readlink): New helper functions.
45238         * modules/symlink-tests (Files): Ship new file.
45239         (Depends-on): Add stdbool.
45240         * modules/readlink-tests (Files): Ship new file.
45241         (Depends-on): Add stdbool.
45242         * modules/symlinkat-tests (Files): Use new files.
45243
45244 2009-09-23  Eric Blake  <ebb9@byu.net>
45245
45246         readlink: document portability issue with symlink length
45247         * doc/posix-functions/lstat.texi (lstat): Mention that some file
45248         systems have bogus st_size on symlinks, and mention the
45249         areadlink-with-size module.
45250         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
45251         * doc/posix-functions/readlink.texi (readlink): Mention the
45252         areadlink module, and ERANGE failure.
45253         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45254         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
45255
45256         readlink: fix Solaris 9 bug with trailing slash
45257         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
45258         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
45259         * doc/posix-functions/readlink.texi (readlink): Document this.
45260         * modules/readlink-tests: New test.
45261         * tests/test-readlink.c: Likewise.
45262
45263         readlink: fix cygwin 1.5.x bug with return type
45264         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
45265         * lib/unistd.in.h (readlink): Use ssize_t.
45266         * lib/readlink.c (readlink): Likewise.
45267         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45268         * modules/unistd (Makefile.am): Substitute it.
45269         * lib/unistd.in.h (readlink): Declare replacement.
45270         * doc/posix-functions/readlink.texi (readlink): Document this.
45271
45272         symlink: use throughout gnulib
45273         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
45274         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
45275         symlink is not used.
45276         * modules/symlinkat (Depends-on): Add symlink.
45277         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
45278         * modules/canonicalize-tests (Depends-on): Likewise.
45279         * modules/lstat-tests (Depends-on): Likewise.
45280         * modules/openat-tests (Depends-on): Likewise.
45281         * modules/remove-tests (Depends-on): Likewise.
45282         * modules/rmdir-tests (Depends-on): Likewise.
45283         * modules/unlink-tests (Depends-on): Likewise.
45284         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
45285         * tests/test-canonicalize.c (symlink): Likewise.
45286         * tests/test-fstatat.c (symlink): Likewise.
45287         * tests/test-lstat.c (symlink): Likewise.
45288         * tests/test-remove.c (symlink): Likewise.
45289         * tests/test-rmdir.c (symlink): Likewise.
45290         * tests/test-unlink.c (symlink): Likewise.
45291         * tests/test-unlinkat.c (symlink): Likewise.
45292
45293         symlink: new module, for Solaris 9 bug
45294         * modules/symlink: New file.
45295         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
45296         * lib/symlink.c: Likewise.
45297         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
45298         * modules/unistd (Makefile.am): Substitute them.
45299         * lib/unistd.in.h (symlink): Declare replacement.
45300         * MODULES.html.sh (File system functions): Mention it.
45301         * doc/posix-functions/symlink.texi (symlink): Likewise.
45302         * modules/symlink-tests: New test.
45303         * tests/test-symlink.c: Likewise.
45304
45305 2009-09-23  Bruno Haible  <bruno@clisp.org>
45306
45307         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
45308         when needed.
45309         Test case: gnulib-tool --import --with-tests atexit inttypes.
45310         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
45311
45312 2009-09-23  Bruno Haible  <bruno@clisp.org>
45313
45314         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
45315         subcommand, not in a subshell.
45316
45317 2009-09-22  Eric Blake  <ebb9@byu.net>
45318
45319         unistd: sort replacement declarations
45320         * lib/unistd.in.h: Sort declarations.
45321
45322         open, openat: minor optimization
45323         * lib/open.c (open): If open succeeded, len is non-zero.
45324         * lib/openat.c (rpl_openat): Likewise.
45325
45326         link-follow: ensure correct result
45327         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
45328         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
45329         distinguish between possible failures.
45330
45331 2009-09-21  Eric Blake  <ebb9@byu.net>
45332
45333         fts: avoid compiler warning
45334         * lib/fts.c (dirent_inode_sort_may_be_useful)
45335         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
45336
45337 2009-09-19  Bruno Haible  <bruno@clisp.org>
45338
45339         * lib/progreloc.c (canonicalize_file_name): New declaration.
45340
45341 2009-09-19  Eric Blake  <ebb9@byu.net>
45342
45343         link: fix quoting
45344         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
45345
45346         openat: fix openat bugs on Solaris 9
45347         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
45348         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
45349         * modules/openat (Depends-on): Add open.
45350         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
45351         * modules/fcntl-h (Makefile.am): Substitute it.
45352         * lib/fcntl.in.h (openat): Declare replacement.
45353         * doc/posix-functions/openat.texi (openat): Document this.
45354
45355         openat: move fstatat and unlinkat into correct files
45356         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
45357         compiled.
45358         * lib/openat.c (fstatat, unlinkat): Move...
45359         * lib/fstatat.c (fstatat): ...into correct files.
45360         * lib/unlinkat.c (unlinkat): Likewise.
45361
45362         openat: fix unlinkat bugs on Solaris 9
45363         * lib/unlinkat.c (unlinkat): New file.
45364         * modules/openat (Depends-on): Add unlink.
45365         (Files): Distribute it.
45366         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
45367         trailing slash behavior is broken.
45368         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45369         * modules/unistd (Makefile.am): Substitute it.
45370         * lib/unistd.in.h (unlinkat): Declare replacement.
45371         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
45372
45373         openat: fix fstatat bugs on Solaris 9
45374         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
45375         stat.
45376         * doc/posix-functions/fstatat.texi (fstatat): Document this.
45377
45378         test-unlinkat: enhance test, to expose Solaris 9 bug
45379         * tests/test-unlink.c (main): Factor guts...
45380         * tests/test-unlink.h (test_rmdir_func): ...into new file.
45381         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
45382         * tests/test-rmdir.c (main): Adjust caller.
45383         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
45384         (unlinker): New helper function.
45385         (rmdirat): Enhance check.
45386         * modules/rmdir-tests (Depends-on): Add stdbool.
45387         * modules/unlink-tests (Depends-on): Likewise.
45388         (Files): Add test-unlink.h.
45389         * modules/openat-tests (Files): Likewise.
45390         (Depends-on): Add unlinkdir.
45391
45392         test-fstatat: new test, to expose Solaris 9 bugs
45393         * tests/test-stat.c (main): Factor guts...
45394         * tests/test-stat.h (test_stat_func): ...into new file.
45395         * tests/test-lstat.c (main): Factor guts...
45396         * tests/test-lstat.h (test_lstat_func): ...into new file.
45397         * tests/test-fstatat.c: New file.
45398         * modules/stat-tests (Files): Add test-stat.h.
45399         * modules/lstat-tests (Files): Add test-lstat.h.
45400         (Depends-on): Add stdbool.
45401         * modules/openat-tests (Depends-on): Add pathmax.
45402         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
45403         (Makefile.am): Run new test.
45404
45405         remove: new module, for mingw and Solaris 9 bugs
45406         * modules/remove: New file.
45407         * lib/remove.c: Likewise.
45408         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
45409         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
45410         * modules/stdio (Makefile.am): Use them.
45411         * lib/stdio.in.h (remove): Declare replacement.
45412         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45413         * doc/posix-functions/remove.texi (remove): Likewise.
45414         * modules/remove-tests: New test.
45415         * tests/test-remove.c: Likewise.
45416
45417         unlink: new module, for Solaris 9 bug
45418         * modules/unlink: New file.
45419         * lib/unlink.c: Likewise.
45420         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
45421         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45422         * modules/unistd (Makefile.am): Use them.
45423         * lib/unistd.in.h (stat): Declare replacement.
45424         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45425         * doc/posix-functions/unlink.texi (unlink): Likewise.
45426         * modules/unlink-tests: New test.
45427         * tests/test-unlink.c: Likewise.
45428
45429         lstat: fix Solaris 9 bug
45430         * lib/lstat.c (lstat): Also check for trailing slash on
45431         non-symlink, non-directories.  Use stat module to simplify logic.
45432         * doc/posix-functions/lstat.texi (lstat): Document it.
45433         * modules/lstat-tests (Depends-on): Add errno, same-inode.
45434         (configure.ac): Check for symlink.
45435         * tests/test-lstat.c (main): Add more tests.
45436
45437         stat: add as dependency to other modules
45438         * modules/chown (Depends-on): Add stat.
45439         * modules/euidaccess (Depends-on): Likewise.
45440         * modules/fchdir (Depends-on): Likewise.
45441         * modules/isdir (Depends-on): Likewise.
45442         * modules/link (Depends-on): Likewise.
45443         * modules/lstat (Depends-on): Likewise.
45444         * modules/mkdir-p (Depends-on): Likewise.
45445         * modules/modechange (Depends-on): Likewise.
45446         * modules/open (Depends-on): Likewise.
45447         * modules/readlink (Depends-on): Likewise.
45448         * modules/same (Depends-on): Likewise.
45449
45450         stat: fix Solaris 9 bug
45451         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
45452         slash.
45453         * lib/stat.c (rpl_stat): Work around it.
45454         * doc/posix-functions/stat.texi (stat): Update documentation.
45455
45456         stat: new module, for mingw bug
45457         * modules/stat: New file.
45458         * lib/stat.c: Likewise.
45459         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
45460         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45461         * modules/sys_stat (Makefile.am): Use them.
45462         * lib/sys_stat.in.h (stat): Declare replacement.
45463         * lib/openat.c (fstatat): Deal with lstat and stat being function
45464         macros.
45465         * modules/openat (Depends-on): Add inline.
45466         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45467         * doc/posix-functions/stat.texi (stat): Likewise.
45468         * modules/stat-tests: New test.
45469         * tests/test-stat.c: Likewise.
45470
45471 2009-09-19  Jim Meyering  <meyering@redhat.com>
45472
45473         syntax-check: detect unnecessary inclusion of canonicalize.h
45474         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
45475
45476 2009-09-19  Eric Blake  <ebb9@byu.net>
45477
45478         canonicalize-lgpl: adjust clients to use correct header
45479         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
45480         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
45481         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
45482         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
45483         * lib/progreloc.c (includes): Likewise.
45484
45485 2009-09-19  Jim Meyering  <meyering@redhat.com>
45486
45487         test-posixtm.c: correct a comment
45488         * tests/test-posixtm.c: Correct first-line comment.
45489         Spotted by Eric Blake.
45490
45491 2009-09-16  Jim Meyering  <meyering@redhat.com>
45492
45493         posixtm-tests: make T const-correct; add a test case
45494         * tests/test-posixtm.c (T): Declare const.
45495         Add a test for -(2^31+1).
45496         Remove useless can-succeed-only-in-2002 test.
45497
45498         posixtm-tests: adjust the sole failing test
45499         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
45500         expected output matches what mktime now produces.  Cross-checked via
45501         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
45502
45503         posixtm: move #ifdef'd tests into a new module
45504         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
45505         * tests/test-posixtm.c: ... this new file.
45506         * modules/posixtm-tests: New module.
45507
45508 2009-09-19  Eric Blake  <ebb9@byu.net>
45509
45510         openat: simplify use of at-func.c
45511         * lib/at-func.c (includes): Include prerequisites here, to
45512         simplify requirements on client files.
45513         * lib/openat-priv.h: Add double-inclusion guard.
45514         * lib/faccessat.c (includes): Simplify.
45515         * lib/fchmodat.c (includes): Likewise.
45516         * lib/fchownat.c (includes): Likewise.
45517         * lib/mkdirat.c (includes): Likewise.
45518         * lib/mkfifoat.c (includes): Likewise.
45519         * lib/symlinkat.c (includes): Likewise.
45520
45521         openat: allow return of fd 0
45522         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
45523         * modules/save-cwd (Depends-on): Replace fcntl-safer with
45524         unistd-safer.
45525         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
45526         <fcntl.h>; this module does not leak fds.
45527         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
45528         must be allowed to return 0, leaving openat_safer to add the
45529         safety.
45530         (openat_permissive): Avoid writing to just-opened fd 2 if
45531         restoring the current directory fails.
45532         * lib/openat-die.c (openat_restore_fail): Add comment.
45533         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
45534         (save_cwd): Guarantee safe fd, but without use of open_safer.
45535         * tests/test-openat.c: New test.
45536         * modules/openat-tests (Files, Makefile.am): Distribute and build
45537         new file.
45538
45539         relocatable-prog-wrapper: fix build
45540         * modules/relocatable-prog-wrapper (Files): Update name of
45541         canonicalize m4 file, broken on 2009-09-17.
45542         Reported by emad hajjar <aleppos@hotmail.com>.
45543
45544 2009-09-19  Bruno Haible  <bruno@clisp.org>
45545
45546         * lib/safe-alloc.h: Use the standard header with GPL copyright.
45547         * lib/safe-alloc.c: Likewise.
45548         Reported by Ian Beckwith <ianb@erislabs.net>.
45549
45550 2009-09-18  Bruno Haible  <bruno@clisp.org>
45551
45552         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
45553         Reported by <erobles@sensacd.com.mx>.
45554
45555 2009-09-17  Eric Blake  <ebb9@byu.net>
45556
45557         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
45558         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
45559         slashes when checking if last component is missing.
45560         * tests/test-canonicalize.c (main): Test this.
45561
45562         canonicalize, canonicalize-lgpl: honor // if distinct from /
45563         * modules/canonicalize (Files): Add double-slash-root.m4.
45564         * modules/canonicalize-lgpl (Files): Likewise.
45565         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
45566         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
45567         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
45568         fallback definition.
45569         (canonicalize_filename_mode): Use it to protect //.
45570         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
45571         (__realpath): Likewise.
45572         * tests/test-canonicalize.c (main): Test this.
45573         * tests/test-canonicalize-lgpl.c (main): Likewise.
45574         * modules/canonicalize-tests (Depends-on): Add same-inode.
45575         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
45576
45577         canonicalize-lgpl: fix glibc bug with trailing slash
45578         * m4/canonicalize-lgpl.m4: Move contents...
45579         * m4/canonicalize.m4: ...here.
45580         (gl_CANONICALIZE_LGPL): Factor realpath check...
45581         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
45582         glibc 2.3.5 bug, fixed 2005-04-27.
45583         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
45584         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
45585         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
45586         * modules/canonicalize-lgpl (Files): Manage file rename.
45587         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45588         * modules/stdlib (Makefile.am): Substitute witness.
45589         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
45590         is needed.
45591         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
45592         replacement is required.
45593         * lib/canonicalize.c (canonicalize_file_name): Likewise.
45594         * doc/glibc-functions/canonicalize_file_name.texi
45595         (canonicalize_file_name): Document this.
45596         * doc/posix-functions/realpath.texi (realpath): Likewise.
45597
45598         canonicalize-lgpl: reject non-directory with trailing slash
45599         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
45600         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
45601         catches failures in glibc 2.3.5.
45602         * tests/test-canonicalize.c (main): Likewise.
45603
45604         canonicalize-lgpl: use native realpath if it works
45605         * lib/canonicalize-lgpl.c (realpath): Guard with
45606         FUNC_REALPATH_WORKS.
45607         * lib/stdlib.in.h (realpath): Make declaration optional based on
45608         HAVE_REALPATH.
45609         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
45610         native realpath works.
45611         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45612         * modules/stdlib (Makefile.am): Substitute witness.
45613
45614         canonicalize, canonicalize-lgpl: use <stdlib.h>
45615         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
45616         (Include): Mention <stdlib.h>.
45617         (configure.ac): Mention functions we provide.
45618         * modules/canonicalize (configure.ac): Likewise.
45619         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
45620         realpath if canonicalize_file_name is missing.
45621         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
45622         * modules/stdlib (Makefile.am): Substitute witnesses.
45623         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
45624         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
45625         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
45626         * NEWS: Document this.
45627         * doc/glibc-functions/canonicalize_file_name.texi
45628         (canonicalize_file_name): Likewise.
45629         * doc/posix-functions/realpath.texi (realpath): Likewise.
45630         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
45631
45632         test-canonicalize: consolidate into single C program
45633         * tests/test-canonicalize.sh: Delete; move setup into...
45634         * tests/test-canonicalize.c (main): ...the program, making it
45635         easier to run in debugger.  Add some tests.
45636         * modules/canonicalize-tests (Files): Remove unused file.
45637         (Depends-on): Add progname.
45638         (configure.ac, Makefile.am): Simplify.
45639
45640         test-canonicalize-lgpl: consolidate into single C program
45641         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
45642         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
45643         easier to run in debugger.  Add some tests.
45644         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
45645         (configure.ac, Makefile.am): Simplify.
45646
45647         canonicalize: avoid resolvepath
45648         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
45649         unnecessary checks.
45650         * lib/canonicalize.c (includes): Simplify.
45651         (canonicalize_file_name): Drop resolvepath implementation.
45652         * modules/canonicalize (Depends-on): Drop filenamecat.
45653
45654         canonicalize: don't lose errno
45655         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
45656         over calls to free.
45657
45658         canonicalize: simplify errno handling
45659         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
45660         assignment.
45661
45662         canonicalize, canonicalize-lgpl: update module dependencies
45663         * modules/canonicalize (Depends-on): Add extensions, lstat,
45664         pathmax, stdlib.
45665         (Files): Drop pathmax.h.
45666         (configure.ac): Adjust macro name.
45667         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
45668         lstat, stdlib, sys_stat.
45669         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
45670         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
45671         extensions.
45672         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
45673         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
45674         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
45675         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
45676         declaration, if available.
45677         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
45678         we can rely on the readlink module.
45679         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
45680         (includes): Use <unistd.h> unconditionally.
45681
45682 2009-09-17  Eric Blake  <ebb9@byu.net>
45683
45684         maint: make Include sections of modules consistent
45685         * modules/alloca: Use only header name; no need to list #include.
45686         * modules/alloca-opt: Likewise.
45687         * modules/arpa_inet: Likewise.
45688         * modules/canon-host: Likewise.
45689         * modules/configmake: Likewise.
45690         * modules/dirent: Likewise.
45691         * modules/eealloc: Likewise.
45692         * modules/environ: Likewise.
45693         * modules/fchdir: Likewise.
45694         * modules/fcntl: Likewise.
45695         * modules/fcntl-h: Likewise.
45696         * modules/gethrxtime: Likewise.
45697         * modules/gettime: Likewise.
45698         * modules/ignore-value: Likewise.
45699         * modules/inet_ntop: Likewise.
45700         * modules/inet_pton: Likewise.
45701         * modules/inttypes: Likewise.
45702         * modules/isnand-nolibm: Likewise.
45703         * modules/isnanf-nolibm: Likewise.
45704         * modules/mbchar: Likewise.
45705         * modules/mbfile: Likewise.
45706         * modules/mbiter: Likewise.
45707         * modules/mbuiter: Likewise.
45708         * modules/netdb: Likewise.
45709         * modules/netinet_in: Likewise.
45710         * modules/nproc: Likewise.
45711         * modules/pagealign_alloc: Likewise.
45712         * modules/poll: Likewise.
45713         * modules/printf-frexp: Likewise.
45714         * modules/pthread: Likewise.
45715         * modules/putenv: Likewise.
45716         * modules/random_r: Likewise.
45717         * modules/relocatable-prog: Likewise.
45718         * modules/search: Likewise.
45719         * modules/select: Likewise.
45720         * modules/selinux-h: Likewise.
45721         * modules/settime: Likewise.
45722         * modules/signal: Likewise.
45723         * modules/size_max: Likewise.
45724         * modules/socklen: Likewise.
45725         * modules/ssize_t: Likewise.
45726         * modules/stdarg: Likewise.
45727         * modules/stdbool: Likewise.
45728         * modules/stddef: Likewise.
45729         * modules/stdint: Likewise.
45730         * modules/stdio: Likewise.
45731         * modules/stdlib: Likewise.
45732         * modules/string: Likewise.
45733         * modules/strings: Likewise.
45734         * modules/sys_file: Likewise.
45735         * modules/sys_ioctl: Likewise.
45736         * modules/sys_select: Likewise.
45737         * modules/sys_socket: Likewise.
45738         * modules/sys_stat: Likewise.
45739         * modules/sys_time: Likewise.
45740         * modules/sys_times: Likewise.
45741         * modules/sys_utsname: Likewise.
45742         * modules/sys_wait: Likewise.
45743         * modules/sysexits: Likewise.
45744         * modules/time: Likewise.
45745         * modules/times: Likewise.
45746         * modules/tmpfile: Likewise.
45747         * modules/trim: Likewise.
45748         * modules/unistd: Likewise.
45749         * modules/wchar: Likewise.
45750         * modules/wctype: Likewise.
45751
45752 2009-09-17  Bruno Haible  <bruno@clisp.org>
45753
45754         Make getdate.y compile on QNX and NetBSD 5 / i386.
45755         * m4/getdate.m4 (gl_GETDATE): Conditionally define
45756         TIME_T_FITS_IN_LONG_INT.
45757         * lib/getdate.y (long_time_t): New type.
45758         (relative_time): Change type of 'seconds' field to long_time_t.
45759         (get_date): Update types of local variables. Check against overflow
45760         during conversion from long_time_t to time_t.
45761         Reported by Matt Kraai <kraai@ftbfs.org>
45762         and Hasso Tepper <hasso@netbsd.org>.
45763
45764 2009-09-17  Bruno Haible  <bruno@clisp.org>
45765
45766         * modules/COPYING: Update copyright years.
45767         * modules/README: Likeiwse.
45768         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
45769         Reported by Ian Beckwith <ianb@erislabs.net>.
45770
45771 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45772
45773         * users.txt: Update references for gnuit package.
45774
45775 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45776
45777         * m4/getdelim.m4: Fix typo in copyright line.
45778
45779 2009-09-17  Bruno Haible  <bruno@clisp.org>
45780
45781         * lib/atoll.c: Use the standard header with GPL copyright.
45782         * lib/argz.in.h: Likewise.
45783         * lib/glob.c: Likewise.
45784         * lib/glob-libc.h: Likewise.
45785         * lib/random_r.c: Likewise.
45786         * lib/siglist.h: Likewise.
45787         * lib/strsignal.c: Likewise.
45788         Reported by Ian Beckwith <ianb@erislabs.net>.
45789
45790 2009-09-17  Eric Blake  <ebb9@byu.net>
45791
45792         rmdir: ensure correct dependency order
45793         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
45794
45795 2009-09-17  Bruno Haible  <bruno@clisp.org>
45796
45797         Disable assertion that fails on NetBSD 5 / i386.
45798         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
45799         Reported by Sam Steingold <sds@gnu.org>
45800         and Hasso Tepper <hasso@netbsd.org>.
45801
45802 2009-09-16  Eric Blake  <ebb9@byu.net>
45803
45804         unlinkdir: port to mingw
45805         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
45806         on which no one can unlink a directory.
45807
45808         stdlib: sort witness names
45809         * modules/stdlib (Makefile.am): Sort replacements.
45810         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
45811         * lib/stdlib.in.h: Likewise.
45812
45813         parse-duration-tests: avoid link failure
45814         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
45815         LIBINTL.
45816         Reported by Tom G. Christensen.
45817
45818         openat-tests: ensure unlinkat behaves like rmdir
45819         * tests/test-rmdir.c (main): Factor guts...
45820         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
45821         * modules/rmdir-tests (Files): Ship new file.
45822         * modules/openat-tests: New test.
45823         * tests/test-unlinkat.c: Likewise.
45824
45825         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
45826         * modules/rmdir-errno (Status, Notice): Now obsolete.
45827
45828         rmdir: work around cygwin 1.5.x and mingw bugs
45829         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
45830         * lib/rmdir.c (rmdir): Work around it.
45831         * modules/rmdir (Status, Notice): No longer obsolete.
45832         (Files): Add dos.m4.
45833         (Depends-on): Add unistd.
45834         (configure.ac): Set witnesses.
45835         (License): Relax to LGPLv2+.
45836         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
45837         * modules/unistd (Makefile.am): Substitute witnesses.
45838         * lib/unistd.in.h (rmdir): Declare replacement.
45839         * doc/posix-functions/rmdir.texi (rmdir): Document this.
45840         * modules/rmdir-tests: New tests.
45841         * tests/test-rmdir.c: Likewise.
45842
45843 2009-09-15  Eric Blake  <ebb9@byu.net>
45844
45845         fchdir: improve use of replacement functions
45846         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
45847         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
45848         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
45849         REPLACE_CLOSEDIR.
45850         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
45851         * modules/sys_stat (Makefile.am): Substitute correct witness.
45852         * modules/dirent (Makefile.am): Likewise.
45853         * modules/unistd (Makefile.am): Likewise.
45854         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
45855         * lib/unistd.in.h (dup): Likewise.
45856         * lib/sys_stat.in.h (fstat): Likewise.
45857
45858         maint: ignore gnulib-tool temp files
45859         * .gitignore: Ignore files created during gnulib-tool --test.
45860
45861 2009-09-13  Jim Meyering  <meyering@redhat.com>
45862
45863         posixtm: don't reject a time that specify "60" as the number of seconds
45864         * lib/posixtm.c (posixtime): The code to reject invalid dates
45865         would also reject a time specified with the .60 suffix.
45866         But POSIX allows that, in order to accommodate leap seconds.
45867         So don't reject it.
45868         (main): Adjust tests accordingly.
45869         * modules/posixtm (Depends-on): Add stpcpy.
45870
45871 2009-09-11  Jim Meyering  <meyering@redhat.com>
45872
45873         announce-gen: include [$release_type] in emitted Subject:
45874         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
45875         e.g., [stable] in the emitted Subject: line.
45876
45877 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45878
45879         Remove obsolete macros from several modules.
45880         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
45881         obsolete Autoconf macros with their modern counterparts.
45882         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
45883         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
45884         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
45885         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
45886         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
45887         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45888         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45889         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45890         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
45891         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
45892         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
45893         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
45894         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
45895         * m4/sockets.m4 (gl_SOCKETS): Likewise.
45896         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
45897         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
45898         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
45899         * m4/time_r.m4 (gl_TIME_R): Likewise.
45900         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
45901         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
45902         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
45903
45904         Fix copyright header in build-aux scripts.
45905         * build-aux/git-version-gen: Fix copyright header to match GPLv3
45906         recommendation.
45907         * build-aux/ncftpput-ftp: Likewise.
45908         * build-aux/update-copyright: Likewise.
45909
45910 2009-09-09  Eric Blake  <ebb9@byu.net>
45911
45912         test-link: allow Linux choice of errno
45913         * tests/test-link.c (main): Relax test for alternate error.
45914
45915         strndup: fix improper m4 caching
45916         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
45917         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
45918         (gl_PREREQ_STRNDUP): Delete.
45919         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
45920         * modules/string (Makefile.am): Substitute it.
45921         * lib/string.in.h (strndup): Modernize prototype.
45922
45923         getcwd: port to mingw
45924         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
45925         different from the POSIX assumptions made throughout the getcwd
45926         module; fortunately, the mingw getcwd does not need replacement.
45927         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
45928         * modules/getcwd-tests: New test.
45929         * tests/test-getcwd.c: Likewise.
45930
45931         link: fix platform bugs
45932         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
45933         * lib/link.c (link): Work around them.  Fix related mingw bug.
45934         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
45935         * modules/unistd (Makefile.am): Substitute it.
45936         * lib/unistd.in.h (link): Declare replacement.
45937         * doc/posix-functions/link.texi (link): Document this.
45938         * modules/link (Depends-on): Add strdup-posix, sys_stat.
45939
45940         test-link: consolidate into single C program, test more cases
45941         * tests/test-link.sh: Delete.
45942         * tests/test-link.c: Test more error conditions.  Exposes bugs on
45943         at least Cygwin and Solaris.
45944         * modules/link-tests (Files): Remove unused file.
45945         (Depends-on): Add errno, sys_stat.
45946         (Makefile.am): Simplify.
45947
45948 2009-09-08  Bruno Haible  <bruno@clisp.org>
45949
45950         Work around towlower, towupper bug on mingw.
45951         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
45952         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
45953         * doc/posix-functions/towlower.texi: Mention the mingw bug.
45954         * doc/posix-functions/towupper.texi: Likewise.
45955         Reported by Eric Blake.
45956
45957 2009-09-08  Jim Meyering  <meyering@redhat.com>
45958
45959         build: don't try to run autoheader if we don't use it
45960         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
45961         is not used in configure.ac.
45962
45963 2009-09-08  Eric Blake  <ebb9@byu.net>
45964
45965         euidaccess: fix compilation error
45966         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
45967
45968         rawmemchr: relax license
45969         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
45970         okay.
45971         Reported by Jim Meyering.
45972
45973         mkfifoat: new module
45974         * modules/mkfifoat: New file.
45975         * lib/mkfifoat.c: Likewise.
45976         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
45977         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45978         * modules/sys_stat (Makefile.am): Use them.
45979         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
45980         * MODULES.html.sh (File system functions): Mention module.
45981         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
45982         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
45983         * modules/mkfifoat-tests: New test.
45984         * tests/test-mkfifoat.c: Likewise.
45985
45986         strchrnul: relax license
45987         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
45988         okay.
45989         Reported by Jim Meyering.
45990
45991 2009-09-08  Eric Blake  <ebb9@byu.net>
45992
45993         fstatat: fix compilation on Solaris
45994         * lib/fstatat.c (includes): Add fcntl.h.
45995         Reported by Pádraig Brady.
45996
45997 2009-09-07  Eric Blake  <ebb9@byu.net>
45998
45999         rename: modernize replacement
46000         * modules/rename (Depends-on): Add stdio.
46001         (configure.ac): Declare witness.
46002         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
46003         stdio take care of replacement.
46004         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
46005         * modules/stdio (Makefile.am): Substitute them.
46006         * lib/stdio.in.h (rename): Declare replacement.
46007         * lib/rename.c (includes): Allow cross-compilation to non-windows
46008         machines.
46009         * doc/posix-functions/rename.texi (rename): Improve
46010         documentation.
46011
46012         stdio: sort witness names
46013         * modules/stdio (Makefile.am): Sort replacements.
46014         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
46015         * lib/stdio.in.h: Likewise.
46016
46017         getcwd: minor cleanups
46018         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
46019         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
46020
46021         openat: provide more convenience names
46022         * modules/faccessat (configure.ac): Add C witness.
46023         * lib/unistd.in.h (readlinkat): Fix typo.
46024         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
46025         convenience wrappers.
46026         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
46027         wrappers in syntax checks.
46028
46029 2009-09-06  Eric Blake  <ebb9@byu.net>
46030
46031         doc: fix comments in recent patches
46032         * lib/faccessat.c: Mention correct function.
46033         * lib/fchmodat.c: Likewise.
46034         * lib/fchownat.c: Likewise.
46035         * lib/symlinkat.c: Likewise.
46036         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
46037         constants.
46038
46039         faccessat, symlinkat: continue cleanup of previous patch
46040         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
46041         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
46042         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
46043         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
46044         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
46045         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
46046         set.
46047
46048 2009-09-06  Bruno Haible  <bruno@clisp.org>
46049
46050         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
46051         (fstatat): Declare if GNULIB_FSTATAT is set.
46052         (mkdirat): Declare if GNULIB_MKDIRAT is set.
46053         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
46054         (unlinkat): Declare if GNULIB_UNLINKAT is set.
46055         * modules/fcntl-h (Files): Remove m4/openat.m4.
46056         * modules/sys_stat (Files): Remove m4/openat.m4.
46057         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
46058         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
46059         * modules/unistd (Files): Remove m4/openat.m4.
46060         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
46061         GNULIB_OPENAT.
46062         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
46063         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
46064         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
46065         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
46066         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
46067         gl_OPENAT_DEFAULTS.
46068         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
46069         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
46070         Don't require gl_OPENAT_DEFAULTS.
46071         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
46072         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
46073         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
46074         (gl_OPENAT_DEFAULTS): Remove macro.
46075
46076 2009-09-06  Bruno Haible  <bruno@clisp.org>
46077
46078         * modules/openat (configure.ac): Remove unneeded witness.
46079
46080 2009-09-06  Bruno Haible  <bruno@clisp.org>
46081
46082         Set errno to ENOSYS when a function is entirely unsupported.
46083         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
46084         EOPNOTSUPP.
46085         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
46086         * modules/chown (Depends-on): Remove errno.
46087
46088 2009-09-06  Bruno Haible  <bruno@clisp.org>
46089
46090         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
46091
46092 2009-09-06  Bruno Haible  <bruno@clisp.org>
46093
46094         * lib/sys_stat.in.h: Fix preprocessor command indentation.
46095
46096 2009-09-06  Ben Pfaff  <blp@gnu.org>
46097             Bruno Haible  <bruno@clisp.org>
46098
46099         Work around a glibc bug in strtok_r.
46100         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
46101         Undefine if UNDEFINE_STRTOK_R is set.
46102         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
46103         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
46104         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
46105         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
46106         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
46107         UNDEFINE_STRTOK_R.
46108         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
46109
46110 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
46111
46112         exclude: minor fix
46113         * lib/exclude.c: Include wctype.h
46114
46115 2009-09-06  Akim Demaille  <demaille@gostai.com>
46116
46117         bootstrap: improve error message
46118         * build-aux/bootstrap (find_tool): Upon failure, report the list
46119         of candidates.
46120         Honor the initial value of the envvar.
46121
46122 2009-09-05  Eric Blake  <ebb9@byu.net>
46123
46124         symlinkat: new module
46125         * modules/symlinkat: New file.
46126         * lib/symlinkat.c: Likewise.
46127         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
46128         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
46129         * modules/unistd (Makefile.am): Use them.
46130         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
46131         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
46132         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
46133         * MODULES.html.sh (File system functions): Mention module.
46134         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
46135         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
46136         * modules/symlinkat-tests: New test.
46137         * tests/test-symlinkat.c: Likewise.
46138
46139         test-openat-safer: add more checks
46140         * tests/test-openat-safer.c (main): Check more code paths.
46141
46142 2009-09-05  Jim Meyering  <meyering@redhat.com>
46143
46144         syntax-check: detect unnecessary inclusion of openat.h
46145         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
46146
46147 2009-09-05  Bruno Haible  <bruno@clisp.org>
46148
46149         Support towlower, towupper.
46150         * doc/posix-functions/towlower.texi: Mention module wctype.
46151         * doc/posix-functions/towupper.texi: Likewise.
46152         * lib/wctype.in.h (towlower, towupper): New functions.
46153         * tests/test-wctype.c: Include stdio.h, stdlib.h.
46154         (ASSERT): New macro.
46155         (e): New variable.
46156         (main): Test also towlower, towupper. Test WEOF argument.
46157         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
46158
46159 2009-09-05  Bruno Haible  <bruno@clisp.org>
46160
46161         Fix conversion behaviour when the input is invalid.
46162         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
46163         mark occurring in first pass of indirect conversion.
46164         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
46165         input.
46166         Found by clang's static analyzer.
46167
46168 2009-09-05  Bruno Haible  <bruno@clisp.org>
46169
46170         * tests/test-striconveh.c (main): Test indirect conversion on platforms
46171         where direct conversion is possible.
46172
46173 2009-09-04  Eric Blake  <ebb9@byu.net>
46174
46175         openat: fail with ENOENT on empty name
46176         * lib/openat-proc.c (openat_proc_name): Special-case the empty
46177         buffer.
46178
46179         link-follow: fix logic bug in prior patch
46180         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
46181         reversed sense of yes and no in prior patch.  Avoid confusing
46182         compilation failure with desired semantics.
46183
46184         link-follow: accommodate mingw and cross-compilation
46185         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
46186         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
46187         cross-compilation results to -1, to make linkat easier to
46188         implement when cross-compiling.  Trivially support mingw.
46189         * modules/link-follow (configure.ac): Call new name.
46190         * NEWS: Mention this.
46191
46192 2009-09-03  Eric Blake  <ebb9@byu.net>
46193
46194         faccessat: compile replacement
46195         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
46196         needed.
46197
46198         fts: fix compilation error
46199         * lib/fts.c (includes): Re-add "openat.h", for
46200         openat_needs_fchdir.
46201
46202         faccessat: new module
46203         * modules/faccessat: New file.
46204         * lib/faccessat.c: Likewise.
46205         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
46206         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
46207         * modules/unistd (Makefile.am): Use it.
46208         * lib/unistd.in.h (faccessat): Declare it.
46209         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
46210         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
46211         * MODULES.html.sh (File system functions): Mention it.
46212         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
46213         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
46214
46215         euidaccess: prefer POSIX over non-standard implementation
46216         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
46217         * lib/euidaccess.c (euidaccess): Use it if available.
46218
46219         openat: make template easier to use
46220         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
46221         AT_FUNC_F2 to be undefined.
46222         (VALIDATE_FLAG): New macro; use it to reject bad flags.
46223         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
46224         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
46225         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
46226         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
46227         Likewise.
46228         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
46229         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
46230         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
46231         Likewise.
46232
46233         openat: declare in POSIX headers
46234         * NEWS: Mention this.
46235         * modules/openat (configure.ac): Declare witnesses.
46236         (Depends-on): Add fcntl-h, sys_stat, unistd.
46237         (Include): Mention correct headers.
46238         * modules/fcntl-h (Depends-on): Add link-warning.
46239         (Files): Add openat.m4.
46240         (Makefile.am): Substitute witnesses.
46241         * modules/sys_stat (Files, Makefile.am): Likewise.
46242         * modules/unistd (Files, Makefile.am): Likewise.
46243         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
46244         (gl_OPENAT_DEFAULTS): New macro.
46245         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
46246         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
46247         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
46248         (SYS_STAT_H): Remove unused variable.
46249         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
46250         * lib/fcntl--.h (includes): Remove unneeded header.
46251         * lib/openat-safer.c (includes): Likewise.
46252         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
46253         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
46254         appropriate headers.
46255         (__OPENAT_PREFIX): Delete.
46256         * lib/fcntl.in.h (openat): Provide declaration.
46257         (AT_FDCWD): Fix Solaris bug.
46258         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
46259         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
46260         * lib/fchmodat.c (includes):  Adjust to find declaration.
46261         * lib/fchownat.c (includes): Likewise.
46262         * lib/mkdirat.c (includes): Likewise.
46263         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
46264         still visible.
46265
46266 2009-09-02  Eric Blake  <ebb9@byu.net>
46267
46268         errno: use consistently
46269         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
46270         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
46271         * lib/canonicalize.c (ELOOP): Likewise.
46272         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
46273         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
46274         * lib/lchown.c (EOPNOTSUPP): Likewise.
46275         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
46276         * lib/savewd.c (ESTALE): Likewise.
46277         * lib/settime.c (ENOSYS): Likewise.
46278         * lib/utimens.c (ENOSYS): Likewise.
46279         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
46280         * lib/chdir-safer.c (ELOOP): Likewise.
46281         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
46282         * modules/c-stack (Depends-on): Add errno.
46283         * modules/canonicalize (Depends-on): Likewise.
46284         * modules/chdir-safer (Depends-on): Likewise.
46285         * modules/fdopendir (Depends-on): Likewise.
46286         * modules/inet_ntop (Depends-on): Likewise.
46287         * modules/inet_pton (Depends-on): Likewise.
46288         * modules/lchown (Depends-on): Likewise.
46289         * modules/openat (Depends-on): Likewise.
46290         * modules/savewd (Depends-on): Likewise.
46291         * modules/settime (Depends-on): Likewise.
46292         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
46293
46294         fts: avoid leaking fds
46295         * modules/fts (Depends-on): Add cloexec.
46296         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
46297         flag.
46298
46299         fts: make directory fds more robust
46300         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
46301         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
46302
46303         backupfile, chdir-long, fts, savedir: make safer
46304         * lib/backupfile.c (includes): Use "dirent--.h", since
46305         numbered_backup can write to stderr during readdir.
46306         * lib/savedir.c (includes): Likewise.
46307         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
46308         emulation can write to stderr on failure.
46309         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
46310         * lib/getcwd.c: Document why opendir_safer is unused.
46311         * lib/glob.c: Likewise.
46312         * lib/scandir.c: Likewise.
46313         * lib/openat-proc.c: Likewise, for open_safer.
46314         * modules/backupfile (Depends-on): Add dirent-safer.
46315         * modules/savedir (Depends-on): Likewise.
46316         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
46317         * modules/chdir-long (Depends-on): Add openat-safer.
46318
46319         openat-safer: new module
46320         * modules/openat-safer: New file.
46321         * lib/openat-safer.c: Likewise.
46322         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
46323         * lib/fcntl-safer.h (openat_safer): Declare.
46324         * lib/fcntl--.h (openat): Override.
46325         * MODULES.html.sh (File descriptor based I/O): Mention it.
46326         * lib/openat.h: Add double-inclusion guards.
46327         * lib/openat.c (includes): Only include "fcntl-safer.h", not
46328         "fcntl--.h", so we can implement openat.
46329         * modules/openat-safer-tests: New test.
46330         * tests/test-openat-safer.c: New file.
46331
46332         dirent-safer: new module
46333         * modules/dirent-safer: New file.
46334         * lib/dirent--.h: Likewise.
46335         * lib/dirent-safer.h: Likewise.
46336         * lib/opendir-safer.c: Likewise.
46337         * m4/dirent-safer.m4: Likewise.
46338         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
46339         * modules/dirent-safer-tests: New test.
46340         * tests/test-dirent-safer.c: New file.
46341         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
46342
46343         fdopendir: optimize on mingw
46344         * lib/unistd.in.h (_gl_directory_name): New prototype.
46345         * lib/fchdir.c (_gl_directory_name): Implement it.
46346         (fchdir): Use it to simplify implementation.
46347         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
46348         fchdir, when available, to avoid calling [f]chdir().
46349
46350         fdopendir: split into its own module
46351         * lib/openat.c (fdopendir): Move...
46352         * lib/fdopendir.c: ...into new file.
46353         * modules/fdopendir: New module.
46354         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
46355         * modules/openat (Depends-on): Add fdopendir.
46356         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
46357         fdopendir here.
46358         * modules/savedir (Depends-on): Only need fdopendir, not full
46359         openat.
46360         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
46361         * lib/openat.h (fdopendir): Drop prototype.
46362         * lib/dirent.in.h (fdopendir): Provide prototype.
46363         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
46364         * modules/dirent (Makefile.am): Substitute them.
46365         * MODULES.html.sh (File system functions): Mention it.
46366         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
46367         * modules/fdopendir-tests: New file.
46368         * tests/test-fdopendir.c: Likewise.
46369
46370         fchdir: use more consistent macro convention
46371         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
46372         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
46373         REPLACE_FCHDIR, rather than relying on config.h macros.
46374         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
46375         inside a single make-time REPLACE_FCHDIR block, rather than using
46376         the config.h FCHDIR_REPLACEMENT.
46377         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
46378         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
46379         Manage fstat replacement.
46380         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
46381         REPLACE_FCHDIR.
46382         * modules/sys_stat (Files): Add m4/unistd_h.m4.
46383         (Makefile.am): Substitute REPLACE_FCHDIR.
46384         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
46385         FCHDIR_REPLACEMENT.
46386         * lib/dup-safer.c (dup_safer): Likewise.
46387         * lib/dup2.c (rpl_dup2): Likewise.
46388         * lib/dup3.c (rpl_dup3): Likewise.
46389         * lib/open.c (rpl_open): Likewise.
46390
46391         fchdir: simplify error handling, and support dup3
46392         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
46393         stdbool, malloc-posix, realloc-posix.
46394         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
46395         (ensure_dirs_slot): Return false on allocation failure.
46396         (rpl_dup2): Delete.
46397         (_gl_register_dup): New function.
46398         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
46399         (_gl_register_fd): Close fd on allocation failure.
46400         * lib/fcntl.in.h (_gl_register_fd): Update signature.
46401         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
46402         prototype.
46403         (rpl_dup2_fchdir): Delete prototype.
46404         * lib/open.c (open): Update caller.
46405         * lib/dup2.c (dup2): Track fchdir metadata.
46406         * lib/dup3.c (dup3): Likewise.
46407         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
46408         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
46409
46410 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46411
46412         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
46413         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
46414         don't pass arguments to AC_OUTPUT.
46415
46416 2009-09-02  Bruno Haible  <bruno@clisp.org>
46417
46418         * modules/mkdtemp (License): Relicense under LGPLv2+.
46419         Reported by Paolo Bonzini.
46420
46421 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46422
46423         Replace uses of obsolete autoconf macros in Jim's modules.
46424         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
46425         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
46426         can evoke a warning from autoconf when run with -Wobsolete
46427         enabled.  They were declared obsolete for good reasons (see
46428         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
46429         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
46430         should not continue using the deprecated macros.
46431         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
46432         obsolete Autoconf macros with modern counterparts.
46433         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
46434         * m4/dos.m4 (gl_AC_DOS): Likewise.
46435         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
46436         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
46437         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
46438         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
46439         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
46440         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
46441         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
46442         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
46443         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
46444         Likewise.
46445         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
46446         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
46447         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
46448         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
46449         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
46450         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
46451
46452 2009-09-01  Eric Blake  <ebb9@byu.net>
46453
46454         fchdir: fix off-by-one bug in previous patch
46455         * lib/fchdir.c (rpl_fstat): Use correct bounds.
46456         (_gl_unregister_fd): Delete useless if.
46457
46458 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
46459
46460         maint.mk: sort the list of syntax-check rules
46461         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
46462         easier to get a sense of progress when the rules are run sequentially
46463         and take a long time.
46464
46465 2009-09-01  Simon Josefsson  <simon@josefsson.org>
46466
46467         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
46468         * modules/netinet_in: Likewise.
46469         * modules/sys_file: Likewise.
46470         * modules/sys_ioctl: Likewise.
46471         * modules/sys_select: Likewise.
46472         * modules/sys_socket: Likewise.
46473         * modules/sys_stat: Likewise.
46474         * modules/sys_time: Likewise.
46475         * modules/sys_times: Likewise.
46476         * modules/sys_utsname: Likewise.
46477         * modules/sys_wait: Likewise.
46478
46479 2009-09-01  Jim Meyering  <meyering@redhat.com>
46480
46481         fts: help ensure that return values are not ignored
46482         * lib/fts_.h (__GNUC_PREREQ): Define.
46483         (__attribute_warn_unused_result__): Define.
46484         (fts_children, fts_close, fts_open, fts_read): Declare with
46485         __attribute_warn_unused_result__.
46486
46487         fts: fts_close now fails also when closing a dir file descriptor fails
46488         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
46489         and propagate to caller, along with errno.
46490
46491         announce-gen: correct formatting in --help output
46492         * build-aux/announce-gen (usage): Move the one-line description in
46493         --help output "up", to where it belongs, just after Usage:.
46494
46495 2009-08-31  Eric Blake  <ebb9@byu.net>
46496
46497         fchdir: port to mingw
46498         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
46499         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
46500         opened, then use a substitute.
46501         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
46502         replacement.
46503         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
46504         (_gl_register_fd): No need to check stat if open already filters
46505         all directories.
46506         (fchdir): Fix error condition to match POSIX.
46507         * modules/fchdir (Depends-on): Add sys_stat.
46508         * doc/posix-functions/open.texi (open): Document the limitation.
46509         * modules/fchdir-tests: New file.
46510         * tests/test-fchdir.c: Likewise.
46511
46512         canonicalize: allow cross-testing from cygwin to mingw
46513         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
46514         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
46515         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
46516         Likewise.
46517         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
46518         target does not support symlinks.
46519         * tests/test-canonicalize-lgpl.sh: Likewise.
46520
46521         chown: avoid compilation warning on mingw
46522         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
46523         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
46524         mingw.
46525         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
46526         * modules/chown (Depends-on): Add errno.
46527
46528 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
46529
46530         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
46531         command.
46532
46533 2009-08-31  Jim Meyering  <meyering@redhat.com>
46534
46535         canonicalize: remove useless initialization
46536         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
46537         initialization of local, "end".
46538
46539 2009-08-30  Bruno Haible  <bruno@clisp.org>
46540
46541         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
46542         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
46543         ENOSYS.
46544
46545 2009-08-30  Bruno Haible  <bruno@clisp.org>
46546
46547         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
46548         /usr/xpg4/bin/tr when it exists.
46549         * tests/test-pipe-filter-gi1.sh: Likewise.
46550
46551 2009-08-30  Bruno Haible  <bruno@clisp.org>
46552
46553         Work around deficient /usr/bin/id program on Solaris.
46554         * tests/test-file-has-acl.sh (ID): New variable.
46555         * tests/test-set-mode-acl.sh (ID): Likewise.
46556         * tests/test-copy-acl.sh (ID): Likewise.
46557         * tests/test-copy-file.sh (ID): Likewise.
46558
46559 2009-08-30  Bruno Haible  <bruno@clisp.org>
46560
46561         New module 'xstriconveh'.
46562         * lib/xstriconveh.h: New file.
46563         * lib/xstriconveh.c: New file.
46564         * modules/xstriconveh: New file.
46565
46566 2009-08-30  Bruno Haible  <bruno@clisp.org>
46567
46568         Make it easier to use mem_cd_iconveh.
46569         * lib/striconveh.h (iconveh_t): New type.
46570         (iconveh_open, iconveh_close): New declarations.
46571         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46572         with a single 'const iconveh_t *' argument.
46573         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
46574         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46575         with a single 'const iconveh_t *' argument.
46576         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
46577         * tests/test-striconveh.c (main): Update.
46578         * NEWS: Mention the change.
46579
46580 2009-08-30  Bruno Haible  <bruno@clisp.org>
46581
46582         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
46583         problem.
46584
46585 2009-08-30  Bruno Haible  <bruno@clisp.org>
46586
46587         Work around iconv_open problem on Solaris.
46588         * lib/iconv_open-solaris.gperf: New file.
46589         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
46590         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
46591         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
46592         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
46593         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
46594         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
46595
46596 2009-08-29  Jim Meyering  <meyering@redhat.com>
46597
46598         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
46599         * top/maint.mk (cvs-check): Remove target; it was just an alias
46600         to the better-named vc-diff-check.
46601         (maintainer-distcheck): Remove rule.  It was used only from
46602         the (alpha/beta/major) target, and all of its commands but one
46603         were coreutils-specific.
46604         (vc-dist): Remove rule.
46605         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
46606         Run vc-diff-check, not vc-dist.
46607         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
46608
46609 2009-08-27  Bruno Haible  <bruno@clisp.org>
46610
46611         * tests/test-bitrotate.c (main): Remove test that uses a shift count
46612         of 0.
46613
46614 2009-08-27  Bruno Haible  <bruno@clisp.org>
46615
46616         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
46617         compilers.
46618         * doc/func.texi: Document the SunPRO C bug.
46619
46620 2009-08-27  Bruno Haible  <bruno@clisp.org>
46621
46622         Fix link error on Solaris.
46623         * tests/test-parse-duration.c (xstrdup): Remove function.
46624
46625 2009-08-26  Pádraig Brady  <P@draigbrady.com>
46626
46627         ignore-value: handle pointer types, too
46628         * lib/ignore-value.h (__attribute__): Remove definition.
46629         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
46630         of a more concise and more-often effective "(void) i" statement.
46631         (ignore_ptr): New function to suppress warnings from functions that
46632         return pointers, and to make it explicit that one function doesn't
46633         handle all cases.
46634
46635 2009-08-25  Bruno Haible  <bruno@clisp.org>
46636
46637         dup2: work around a Linux bug.
46638         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
46639         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
46640         * doc/posix-functions/dup2.texi: Mention the Linux bug.
46641         Reported by Simon Josefsson.
46642
46643 2009-08-25  Jim Meyering  <meyering@redhat.com>
46644
46645         libguestfs uses gnulib
46646         * users.txt: Add libguestfs.
46647
46648 2009-08-24  Eric Blake  <ebb9@byu.net>
46649
46650         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
46651         * lib/pipe2.c (includes): Add binary-io.h.
46652         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
46653
46654 2009-08-24  Bruno Haible  <bruno@clisp.org>
46655
46656         Tolerate declared but missing accept4 syscall.
46657         * lib/accept4.c (accept4): Invoke original accept4 function first, if
46658         available.
46659         * lib/sys_socket.in.h (accept4): If the function is already present,
46660         override it.
46661         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
46662         * modules/accept4 (Makefile.am): Compile accept4.c always.
46663         Reported by Paolo Bonzini and Eric Blake.
46664
46665 2009-08-23  Bruno Haible  <bruno@clisp.org>
46666
46667         New module 'accept4'.
46668         * lib/sys_socket.in.h (accept4): New declaration.
46669         * lib/accept4.c: New file.
46670         * m4/accept4.m4: New file.
46671         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
46672         GNULIB_ACCEPT4, HAVE_ACCEPT4.
46673         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
46674         HAVE_ACCEPT4.
46675         * modules/accept4: New file.
46676         * doc/glibc-functions/accept4.texi: Mention the new module.
46677
46678 2009-08-24  Jim Meyering  <meyering@redhat.com>
46679
46680         progname: also set global program_invocation_name, when possible
46681         Before this change, a libtool-enabled program that calls glibc's
46682         error function would report the program name as
46683         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
46684         * modules/progname (configure.ac): Check for a declaration of
46685         program_invocation_name.
46686         * lib/progname.c:  Include <errno.h>.
46687         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
46688         Set program_invocation_name.
46689
46690 2009-08-23  Bruno Haible  <bruno@clisp.org>
46691
46692         * lib/dup3.c: Include <string.h>.
46693
46694 2009-08-23  Bruno Haible  <bruno@clisp.org>
46695
46696         * lib/dup3.c (dup3): Test only once whether the system actually exists.
46697         * lib/pipe2.c (pipe2): Likewise.
46698         Suggested by Eric Blake.
46699
46700 2009-08-23  Bruno Haible  <bruno@clisp.org>
46701
46702         Tolerate declared but missing dup3 syscall.
46703         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
46704         * lib/unistd.in.h (dup3): If the function is already present,
46705         override it.
46706         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
46707         * modules/dup3 (Makefile.am): Compile dup3.c always.
46708         Reported by Paolo Bonzini.
46709
46710 2009-08-23  Bruno Haible  <bruno@clisp.org>
46711
46712         Tolerate declared but missing pipe2 syscall.
46713         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
46714         available.
46715         * lib/unistd.in.h (pipe2): If the function is already present,
46716         override it.
46717         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
46718         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
46719         Reported by Paolo Bonzini.
46720
46721 2009-08-23  Bruno Haible  <bruno@clisp.org>
46722
46723         * lib/pipe2.c (pipe2): Move #ifs inside function.
46724
46725 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46726
46727         quotearg: document limitations of quote_these_too
46728         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
46729         those limitations are created.
46730         * lib/quotearg.h (set_char_quoting): Document that digits and
46731         letters that are special after backslash are not permitted.
46732         (quotearg_char): Cross-reference set_char_quoting documentation.
46733
46734 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
46735
46736         quotearg: implement custom_quoting_style
46737         * lib/quotearg.c: (struct quoting_options): Add left_quote and
46738         right_quote fields.
46739         (set_custom_quoting): New public function.
46740         (quotearg_buffer_restyled): Add left_quote and right_quote
46741         arguments, handle them very much like locale quoting, and update
46742         all uses.
46743         (quotearg_n_custom): New public function.
46744         (quotearg_n_custom_mem): New public function.
46745         (quotearg_custom): New public function.
46746         (quotearg_custom_mem): New public function.
46747         * lib/quotearg.h: Prototype and document new public functions.
46748         (enum quoting_style): For escape_quoting_style and
46749         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
46750         ignored even though they're otherwise like c_quoting_style.
46751         Add custom_quoting_style member and document with comparison to
46752         clocale_quoting_style.
46753         * tests/test-quotearg.c (custom_quotes): New array.
46754         (custom_results): New array.
46755         (main): Extend to test custom quoting.
46756
46757 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46758
46759         quotearg: fix right quote escaping when it's in quote_these_too
46760         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
46761         quote, be sure to prepend only one backslash.
46762         * tests/test-quotearg.c (use_quote_double_quotes): New function.
46763         (main): Test it.
46764
46765 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46766
46767         quotearg-tests: test escaping of embedded locale quotes
46768         * tests/test-quotearg.c (struct result_strings): Add member for
46769         new input.
46770         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
46771         (inputs): Add new input.
46772         (results_g): Add expected results.
46773         (flag_results): Likewise.
46774         (locale_results): Likewise.
46775         (compare_strings): Check those.
46776
46777 2009-08-23  Bruno Haible  <bruno@clisp.org>
46778
46779         Tests for module 'dup3'.
46780         * modules/dup3-tests: New file.
46781         * tests/test-dup3.c: New file.
46782
46783         New module 'dup3'.
46784         * lib/unistd.in.h (dup3): New declaration.
46785         * lib/dup3.c: New file.
46786         * m4/dup3.m4: New file.
46787         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
46788         HAVE_DUP3.
46789         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
46790         * modules/dup3: New file.
46791         * doc/glibc-functions/dup3.texi: Mention the new module.
46792
46793 2009-08-23  Bruno Haible  <bruno@clisp.org>
46794
46795         Tweak the dup2 test.
46796         * tests/test-dup2.c (main): Create the test file empty. Verify that an
46797         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
46798         the test file is still empty. Fix argument order of lseek.
46799
46800 2009-08-23  Bruno Haible  <bruno@clisp.org>
46801
46802         Avoid test link errors when the modules getopt-gnu, gettext are used.
46803         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
46804         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46805
46806 2009-08-23  Bruno Haible  <bruno@clisp.org>
46807
46808         Fix getdtablesize() on mingw.
46809         * lib/getdtablesize.c (getdtablesize): Implement differently.
46810         * lib/unistd.in.h (getdtablesize): Improve comment.
46811
46812 2009-08-23  Bruno Haible  <bruno@clisp.org>
46813
46814         New module 'mkostemp'.
46815         Based on Ulrich Drepper's 2007-08-10 change in glibc.
46816         * lib/stdlib.in.h (mksotemp): New declaration.
46817         * lib/mkostemp.c: New file, from glibc with modifications.
46818         * lib/tempname.h (GT_FILE): Remove outdated comment.
46819         (gen_tempname): Add flags argument.
46820         * lib/tempname.c (__GT_BIGFILE): Remove macro.
46821         (__GT_FILE): Map to 1.
46822         (small_open, large_open): Remove macros.
46823         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
46824         * lib/mkstemp.c (mkstemp): Update.
46825         * lib/mkdtemp.c (mkdtemp): Likewise.
46826         * m4/mkostemp.m4: New file.
46827         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
46828         HAVE_MKOSTEMP.
46829         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
46830         HAVE_MKOSTEMP.
46831         * modules/mkostemp: New file, based on modules/mkstemp.
46832         * doc/glibc-functions/mkostemp.texi: Mention the new module.
46833         * NEWS: Mention the change.
46834
46835 2009-08-23  Bruno Haible  <bruno@clisp.org>
46836
46837         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
46838         Reported by Eric Blake.
46839
46840 2009-08-23  Bruno Haible  <bruno@clisp.org>
46841
46842         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
46843         Reported by Eric Blake.
46844
46845 2009-08-23  Bruno Haible  <bruno@clisp.org>
46846
46847         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
46848         * modules/pipe2 (Depends-on): Likewise.
46849
46850 2009-08-23  Eric Blake  <ebb9@byu.net>
46851
46852         fcntl-h: add O_TTY_INIT support
46853         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
46854         * tests/test-fcntl-h.c (o): Test it.
46855         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46856
46857         fcntl-h: rename from fcntl, in preparation for fcntl(2)
46858         * modules/fcntl: Move <fcntl.h> header replacement...
46859         * modules/fcntl-h: ...to new name, so as not to collide with
46860         like-named function.
46861         * tests/test-fcntl.c: Rename...
46862         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
46863         * modules/fcntl-tests: Rename...
46864         * modules/fcntl-h-tests: ...to this.  Update test file name.
46865         * modules/chdir-long (Depends-on): Update clients.
46866         * modules/chdir-safer (Depends-on): Likewise.
46867         * modules/fcntl-safer (Depends-on): Likewise.
46868         * modules/fts (Depends-on): Likewise.
46869         * modules/mkancesdirs (Depends-on): Likewise.
46870         * modules/mkdir-p (Depends-on): Likewise.
46871         * modules/open (Depends-on): Likewise.
46872         * modules/savewd (Depends-on): Likewise.
46873         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
46874         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46875
46876 2009-08-22  Bruno Haible  <bruno@clisp.org>
46877
46878         * modules/binary-io (License): Relicense under LGPL.
46879         * modules/pipe2 (License): Likewise.
46880
46881 2009-08-22  Bruno Haible  <bruno@clisp.org>
46882
46883         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
46884         return value.
46885         * lib/pipe-filter-gi.c (filter_init): Likewise.
46886         Reported by Eric Blake.
46887
46888 2009-08-22  Bruno Haible  <bruno@clisp.org>
46889
46890         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
46891         * modules/pipe (Depends-on): Add pipe2.
46892
46893 2009-08-22  Bruno Haible  <bruno@clisp.org>
46894
46895         Tests for module 'pipe2'.
46896         * modules/pipe2-tests: New file.
46897         * tests/test-pipe2.c: New file.
46898
46899         New module 'pipe2'.
46900         * lib/unistd.in.h (pipe2): New declaration.
46901         * lib/pipe2.c: New file.
46902         * m4/pipe2.m4: New file.
46903         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
46904         HAVE_PIPE2.
46905         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
46906         * modules/pipe2: New file.
46907         * doc/glibc-functions/pipe2.texi: Mention the new module.
46908
46909 2009-08-22  Bruno Haible  <bruno@clisp.org>
46910
46911         Reference some new glibc functions.
46912         * doc/glibc-functions/accept4.texi: New file.
46913         * doc/glibc-functions/dup3.texi: New file.
46914         * doc/glibc-functions/mkostemp.texi: New file.
46915         * doc/glibc-functions/pipe2.texi: New file.
46916         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
46917         (Glibc sys/socket.h): Refer to accept4.
46918         (Glibc unistd.h): Refer to dup3, pipe2.
46919         Reported by Eric Blake.
46920
46921 2009-08-22  Jim Meyering  <meyering@redhat.com>
46922             Bruno Haible  <bruno@clisp.org>
46923
46924         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
46925         This makes it so packages using automake-1.11's silent-rules option
46926         can print e.g., a single "GEN    configmake.h" line, rather than
46927         the 30+ statements that perform the job.  If you want to see the
46928         actual commands, you can still run "make V=1".
46929         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
46930         so that make output is abbreviated when those variables are defined
46931         appropriately.
46932         * modules/argz: Likewise.
46933         * modules/arpa_inet: Likewise.
46934         * modules/byteswap: Likewise.
46935         * modules/configmake: Likewise.
46936         * modules/dirent: Likewise.
46937         * modules/errno: Likewise.
46938         * modules/fcntl: Likewise.
46939         * modules/float: Likewise.
46940         * modules/fnmatch: Likewise.
46941         * modules/getopt-posix: Likewise.
46942         * modules/glob: Likewise.
46943         * modules/iconv_open: Likewise.
46944         * modules/inttypes: Likewise.
46945         * modules/localcharset: Likewise.
46946         * modules/locale: Likewise.
46947         * modules/math: Likewise.
46948         * modules/netdb: Likewise.
46949         * modules/netinet_in: Likewise.
46950         * modules/poll: Likewise.
46951         * modules/posix_spawnp-tests: Likewise.
46952         * modules/sched: Likewise.
46953         * modules/search: Likewise.
46954         * modules/selinux-h: Likewise.
46955         * modules/signal: Likewise.
46956         * modules/spawn: Likewise.
46957         * modules/stdarg: Likewise.
46958         * modules/stdbool: Likewise.
46959         * modules/stddef: Likewise.
46960         * modules/stdint: Likewise.
46961         * modules/stdio: Likewise.
46962         * modules/stdlib: Likewise.
46963         * modules/string: Likewise.
46964         * modules/strings: Likewise.
46965         * modules/sys_file: Likewise.
46966         * modules/sys_ioctl: Likewise.
46967         * modules/sys_select: Likewise.
46968         * modules/sys_socket: Likewise.
46969         * modules/sys_stat: Likewise.
46970         * modules/sys_time: Likewise.
46971         * modules/sys_times: Likewise.
46972         * modules/sys_utsname: Likewise.
46973         * modules/sys_wait: Likewise.
46974         * modules/sysexits: Likewise.
46975         * modules/time: Likewise.
46976         * modules/unistd: Likewise.
46977         * modules/wchar: Likewise.
46978         * modules/wctype: Likewise.
46979
46980 2009-08-22  Jim Meyering  <meyering@redhat.com>
46981
46982         announce-gen: detect write failure
46983         * build-aux/announce-gen: Add Coda at end.
46984         Remove equivalent-but-more-verbose block at top.
46985
46986 2009-08-19  Akim Demaille  <demaille@gostai.com>
46987
46988         bootstrap: --help to stdout.
46989         * bootstrap (usage): Don't send --help to stderr.
46990         Use a here doc instead of a long string.
46991
46992 2009-08-21  Eric Blake  <ebb9@byu.net>
46993
46994         test-popen-safer: split from test-popen
46995         * tests/test-popen.c (main): Move...
46996         * tests/test-popen.h: ...into new file.
46997         * tests/test-popen-safer2.c: New file.
46998         * modules/popen-tests (Files): Add test-popen.h.
46999         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
47000         Suggested by Bruno Haible.
47001
47002         test-fcntl-safer: split from test-open
47003         * tests/test-open.c (main): Move...
47004         * tests/test-open.h: ...into new file.
47005         * tests/test-fcntl-safer.c: New file.
47006         * modules/open-tests (Files): Add test-open.h.
47007         * modules/fcntl-safer-tests: New file.
47008         Suggested by Bruno Haible.
47009
47010         test-fopen-safer: split from test-fopen
47011         * tests/test-fopen.c (main): Move...
47012         * tests/test-fopen.h: ...into new file.
47013         * tests/test-fopen-safer.c: New file.
47014         * modules/fopen-tests (Files): Add test-fopen.h.
47015         * modules/fopen-safer-tests: New file.
47016         Suggested by Bruno Haible.
47017
47018 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
47019
47020         popen-safer: test O_CLOEXEC at run-time.
47021         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
47022
47023 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
47024
47025         fcntl: move more flags to the header
47026         * lib/cloexec.c: Do not define FD_CLOEXEC here.
47027         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
47028         * lib/fcntl.in.h: Do both things here.
47029
47030 2009-08-21  Jim Meyering  <meyering@redhat.com>
47031
47032         consistently remove $@-t before redirecting to it
47033         * modules/argz: Remove $@-t and $@ before redirecting to the former.
47034         * modules/alloca-opt: Likewise.
47035         * modules/byteswap: Likewise.
47036         * modules/fnmatch: Likewise.
47037         * modules/getopt-posix: Likewise.
47038         * modules/glob: Likewise.
47039         * modules/poll: Likewise.
47040         * modules/posix_spawnp-tests: Likewise.
47041         * modules/sys_socket: Likewise.
47042         * modules/sysexits: Likewise.
47043
47044 2009-08-21  Eric Blake  <ebb9@byu.net>
47045
47046         popen: simplify access to original popen
47047         * lib/popen.c (rpl_popen): No need to worry about popen being a
47048         macro.
47049         Reported by Bruno Haible.
47050
47051 2009-08-20  Eric Blake  <ebb9@byu.net>
47052
47053         build: avoid some compiler warnings
47054         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
47055         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
47056         type.
47057         (new_exclude_segment, excluded_file_pattern_p)
47058         (excluded_file_name_p): Reduce scope.
47059         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
47060         old-style declaration.
47061
47062 2009-08-20  Simon Josefsson  <simon@josefsson.org>
47063
47064         * tests/test-exclude1.sh: Handle Windows EOL.
47065         * tests/test-exclude2.sh: Likewise.
47066         * tests/test-exclude3.sh: Likewise.
47067         * tests/test-exclude4.sh: Likewise.
47068         * tests/test-exclude5.sh: Likewise.
47069         * tests/test-exclude6.sh: Likewise.
47070         * tests/test-exclude7.sh: Likewise.
47071
47072 2009-08-19  Akim Demaille  <demaille@gostai.com>
47073
47074         bootstrap: find sha1sum when named gsha1sum.
47075         * bootstrap (find_tool): New.
47076         ($SHA1SUM): New.
47077         Use it.
47078
47079 2009-08-20  Jim Meyering  <meyering@redhat.com>
47080
47081         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
47082         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
47083         expression that converts "." in a file name to "\." in the resulting
47084         regexp.  Start with a dummy statement, so that prior shell variable
47085         definitions are expanded portably.  Reported by Simon Josefsson.
47086
47087 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
47088
47089         Fix polling for writeability of a screen buffer.
47090         * lib/poll.c: Distinguish input and screen buffers for the
47091         Win32 implementation.
47092         * lib/select.c: Likewise.
47093
47094 2009-08-19  Eric Blake  <ebb9@byu.net>
47095
47096         popen-safer: prevent popen from clobbering std descriptors
47097         * modules/popen-safer: New file.
47098         * lib/popen-safer.c: Likewise.
47099         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
47100         * lib/stdio--.h (popen): Provide override.
47101         * lib/stdio-safer.h (popen_safer): Provide declaration.
47102         * tests/test-popen.c (includes): Partially test this.
47103         * modules/popen-safer-tests: New file, for more tests.
47104         * tests/test-popen-safer.c: Likewise.
47105         * MODULES.html.sh (file stream based Input/Output): Mention it.
47106
47107         tests: test some of the *-safer modules
47108         * modules/fopen-safer (Depends-on): Add fopen.
47109         * modules/fcntl-safer (Depends-on): Add fcntl.
47110         * modules/stdlib-safer (Depends-on): Add stdlib.
47111         (configure.ac): Set indicator.
47112         * modules/unistd-safer (configure.ac): Likewise.
47113         * modules/tmpfile-safer (configure.ac): Likewise.
47114         (Depends-on): Add tmpfile.
47115         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
47116         active.
47117         * tests/test-fopen.c (includes): Test safer versions when they are
47118         in use.
47119         * tests/test-open.c (includes): Likewise.
47120
47121         popen: fix cygwin 1.5 bug when stdin closed
47122         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
47123         * modules/popen: New file.
47124         * modules/popen-tests: Likewise.
47125         * tests/test-popen.c: Likewise.
47126         * m4/popen.m4: Likewise.
47127         * lib/popen.c: Likewise.
47128         * lib/stdio.in.h (popen): New declaration.
47129         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
47130         * modules/stdio (Makefile.am): Likewise.
47131         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
47132
47133 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
47134
47135         maint.mk: give full control over update-copyright exclusions
47136         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
47137         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
47138         (update-copyright): Don't force inclusion of top-level
47139         ChangeLog.  Don't force exclusion of all COPYING files, but make
47140         them the default exclusion instead.
47141
47142 2009-08-16  Bruno Haible  <bruno@clisp.org>
47143
47144         Fix test failures on Solaris 10.
47145         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
47146         tests when Solaris iconv() is used.
47147         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
47148         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
47149         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
47150         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
47151         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
47152
47153 2009-08-16  Bruno Haible  <bruno@clisp.org>
47154
47155         Fix test failures on Solaris 10.
47156         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
47157         'tr' program and pass it as first argument.
47158         * tests/test-pipe-filter-gi1.sh: Likewise.
47159         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
47160         program as first argument.
47161         * tests/test-pipe-filter-gi1.c (main): Likewise.
47162
47163 2009-08-16  Eric Blake  <ebb9@byu.net>
47164
47165         fpurge: fix previous commits
47166         * modules/fpurge (Makefile.am): Make replacement conditional,
47167         partially reverting 2007-04-29 change; missed in previous
47168         attempt.
47169         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
47170         is missing.
47171
47172 2009-08-16  Bruno Haible  <bruno@clisp.org>
47173
47174         Clarify fpurge's effect on the file position.
47175         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
47176         * tests/test-fpurge.c (main): Make a second pass for checking the file
47177         position.
47178
47179 2009-08-16  Bruno Haible  <bruno@clisp.org>
47180
47181         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
47182         declaration of fpurge is missing.
47183         * tests/test-fpurge.c (main): Check that the file has not more contents
47184         than expected. Close the file before removing it.
47185
47186 2009-08-15  Eric Blake  <ebb9@byu.net>
47187
47188         fpurge: don't wrap working cygwin implementation
47189         * lib/fpurge.c (fpurge): Fix comment typo.
47190         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
47191         1.7 to avoid replacement.
47192         * tests/test-fpurge.c (main): Enhance test.
47193
47194 2009-08-15  Eric Blake  <ebb9@byu.net>
47195         and Jim Meyering  <meyering@redhat.com>
47196
47197         test-update-copyright: skip if perl is insufficient
47198         * tests/test-update-copyright.sh: Failure to run maintainer tool
47199         should not cause testsuite failure on cygwin 1.5.
47200
47201 2009-08-14  Eric Blake  <ebb9@byu.net>
47202
47203         doc: mention more functions added in cygwin 1.7.0
47204         * doc/posix-headers/limits.texi (limits.h): Update for recent
47205         cygwin additions.
47206         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
47207         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
47208         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
47209         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
47210         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
47211
47212 2009-08-14  Eric Blake  <ebb9@byu.net>
47213
47214         maint.mk: simplify update-copyright rule
47215         * top/maint.mk (update-copyright-local): Delete, and document how
47216         to do it in cfg.mk instead.
47217         (update-copyright-exclude-regexp): Delete, and document how to do
47218         it in .x-update-copyright instead.
47219         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
47220         exclude ChangeLog.
47221
47222 2009-08-14  Bruno Haible  <bruno@clisp.org>
47223
47224         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
47225
47226 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
47227
47228         maint.mk: support update-copyright-env
47229         * top/maint.mk (update-copyright-env): Define place-holder.
47230         (update-copyright): Expand $(update-copyright-env) before
47231         invoking update-copyright.
47232
47233 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
47234
47235         update-copyright: implement forced reformatting
47236         * build-aux/update-copyright: Implement and document
47237         UPDATE_COPYRIGHT_FORCE.
47238         * tests/test-update-copyright.sh: Test it.
47239
47240 2009-08-14  Eric Blake  <ebb9@byu.net>
47241         and Bruno Haible  <bruno@clisp.org>
47242
47243         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
47244         * tests/test-locale.c: Revert previous patch related to NULL.
47245         * tests/test-stdio.c: Likewise.
47246         * tests/test-stdlib.c: Likewise.
47247         * tests/test-string.c: Likewise.
47248         * tests/test-unistd.c: Likewise.
47249         * modules/time-tests (Depends-on): Add verify.
47250         * modules/wchar-tests (Depends-on): Likewise.
47251         * tests/test-time.c: Test for NULL compliance.
47252         * tests/test-wchar.c: Likewise.
47253         * modules/locale (Depends-on): Add stddef.
47254         * modules/stdio (Depends-on): Likewise.
47255         * modules/stdlib (Depends-on): Likewise.
47256         * modules/string (Depends-on): Likewise.
47257         * modules/time (Depends-on): Likewise.
47258         * modules/unistd (Depends-on): Likewise.
47259         * modules/wchar (Depends-on): Likewise.
47260         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
47261         * lib/stdlib.in.h (includes): Likewise.
47262         * lib/string.in.h (includes): Likewise.
47263         * lib/time.in.h (includes): Likewise.
47264         * lib/unistd.in.h (includes): Likewise.
47265         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
47266         replaced.
47267         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
47268         * m4/stddef_h.m4: New file.
47269         * modules/stddef: Likewise.
47270         * lib/stddef.in.h: Likewise.
47271         * modules/stddef-tests: Likewise.
47272         * tests/test-stddef.c: Likewise.
47273         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
47274         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
47275         * doc/posix-headers/locale.texi (locale.h): Likewise.
47276         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
47277         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
47278         * doc/posix-headers/string.texi (string.h): Likewise.
47279         * doc/posix-headers/time.texi (time.h): Likewise.
47280         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
47281         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
47282
47283 2009-08-14  Eric Blake  <ebb9@byu.net>
47284
47285         doc: improve git diff of texinfo files
47286         * .gitattributes: Add rule for *.texi files, with hint on how to
47287         use it.
47288         Copied from m4, and based on a report by Bruno Haible.
47289
47290 2009-08-14  Bruno Haible  <bruno@clisp.org>
47291
47292         Disable multithread support by default on Cygwin 1.5.x for real.
47293         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
47294
47295 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
47296
47297         update-copyright: much ado about intervals
47298         * build-aux/update-copyright: Implement and document
47299         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
47300         of copyright year intervals.
47301         Also, document UPDATE_COPYRIGHT_YEAR.
47302         * tests/test-update-copyright.sh: Test it.
47303
47304         update-copyright: convert 2-digit to 4-digit years
47305         * build-aux/update-copyright: Implement and document.
47306         * tests/test-update-copyright.sh: Update.
47307
47308 2009-08-14  Jim Meyering  <meyering@redhat.com>
47309
47310         test-exclude: avoid coreutils "make check" failure
47311         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
47312         just as in test-argmatch.c.
47313
47314 2009-08-13  Eric Blake  <ebb9@byu.net>
47315
47316         test-dup2: fix bad assumption
47317         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
47318         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
47319
47320         test-version-etc: fix CRLF portability issue
47321         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
47322         recognize \r.
47323         * tests/test-argp-version-etc-1.sh: Likewise.
47324
47325         getopt: update client modules
47326         * modules/argp (Depends-on): Use getopt-gnu.
47327         * modules/git-merge-changelog (Depends-on): Likewise.
47328         * modules/long-options (Depends-on): Likewise.
47329         * modules/xstrtol (Depends-on): Likewise.
47330
47331 2009-08-13  Simon Josefsson  <simon@josefsson.org>
47332
47333         * tests/test-version-etc.sh: Don't fail on different
47334         project/version.  Don't fail on CRLF differences.  Rewrite to use
47335         multiple -e instead of multiple sed forks, suggested by Eric Blake
47336         <ebb9@byu.net>.
47337         * tests/test-argp-version-etc-1.sh: Likewise.
47338
47339 2009-08-13  Simon Josefsson  <simon@josefsson.org>
47340
47341         * tests/test-version-etc.sh: Don't fail on different
47342         project/version.
47343
47344 2009-08-12  Bruno Haible  <bruno@clisp.org>
47345
47346         Tests for modules 'getopt-posix', 'getopt-gnu'.
47347         * modules/getopt-posix-tests: New file.
47348         * tests/test-getopt.c: New file.
47349         * tests/test-getopt.h: New file.
47350         * tests/test-getopt_long.h: New file.
47351
47352         New modules 'getopt-posix', 'getopt-gnu'.
47353         * modules/getopt-gnu: New file, renamed from modules/getopt.
47354         * modules/getopt-posix: New file.
47355         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
47356         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
47357         (gl_GETOPT): Remove macro.
47358         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
47359         Disable the test against BSD systems that declare optreset. Test
47360         against mingw bug. Test against lack of support of optional arguments
47361         on many platforms.
47362         * doc/glibc-headers/getopt.texi: Update module name and list of
47363         relevant platforms.
47364         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
47365         'getopt-gnu' and more portability problems.
47366         * NEWS: Mention the changes.
47367
47368 2009-08-12  Bruno Haible  <bruno@clisp.org>
47369
47370         Ensure that optarg etc. get declared by <unistd.h>.
47371         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
47372         AC_USE_SYSTEM_EXTENSIONS.
47373         * modules/getopt (Depends-on): Add 'extensions'.
47374
47375 2009-08-12  Bruno Haible  <bruno@clisp.org>
47376
47377         Avoid test link errors.
47378         * modules/pipe-filter-ii-tests (Makefile.am): Define
47379         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
47380         * modules/pipe-filter-gi-tests (Makefile.am): Define
47381         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
47382         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47383
47384 2009-08-12  Bruno Haible  <bruno@clisp.org>
47385
47386         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
47387         gl_GETOPT_SUBSTITUTE before.
47388         (gl_GETOPT): Use it.
47389         * m4/argp.m4 (gl_ARGP): Update.
47390         Reported by Sergey Poznyakoff.
47391
47392         * m4/getopt.m4: Reorder macros.
47393         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
47394         (gl_GETOPT_SUBSTITUTE): Remove macro.
47395
47396 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47397
47398         Minor improvement in gitlog-to-changelog
47399
47400         * build-aux/gitlog-to-changelog: New option `--format' makes
47401         output format string configurable.
47402
47403 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47404
47405         Optimize exclude: use hash tables for non-wildcard patterns.
47406
47407         * lib/exclude.c: Include hash.h and mbuiter.h
47408         (struct exclude_pattern, exclude_segment): New data types.
47409         (struct exclude): Rewrite.
47410         (fnmatch_pattern_has_wildcards): New function.
47411         (new_exclude_segment, free_exclude_segment): New functions.
47412         (excluded_file_pattern_p, excluded_file_name_p): New functions.
47413         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
47414         * lib/exclude.h (is_fnmatch_pattern): New prototype.
47415         * modules/exclude: Depend on hash and mbuiter.
47416
47417         * modules/exclude-tests: New file.
47418         * tests/test-exclude.c: New file.
47419         * tests/test-exclude1.sh: New file.
47420         * tests/test-exclude2.sh: New file.
47421         * tests/test-exclude3.sh: New file.
47422         * tests/test-exclude4.sh: New file.
47423         * tests/test-exclude5.sh: New file.
47424         * tests/test-exclude6.sh: New file.
47425         * tests/test-exclude7.sh: New file.
47426
47427 2009-08-12  Bruno Haible  <bruno@clisp.org>
47428
47429         Ensure that getopt() gets declared by <unistd.h>.
47430         * lib/unistd.in.h: Conditionally include getopt.h.
47431         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
47432         Set GNULIB_UNISTD_H_GETOPT.
47433         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47434         GNULIB_UNISTD_H_GETOPT.
47435         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
47436
47437 2009-08-12  Bruno Haible  <bruno@clisp.org>
47438
47439         Clarify logic.
47440         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
47441         gl_replace_getopt instead of GETOPT_H.
47442
47443 2009-08-12  Bruno Haible  <bruno@clisp.org>
47444
47445         * m4/getopt.m4: Add comments.
47446
47447 2009-08-12  Bruno Haible  <bruno@clisp.org>
47448
47449         Disable multithread support by default on Cygwin 1.5.x.
47450         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
47451         set gl_use_threads=no if not specified otherwise.
47452
47453 2009-08-11  Bruno Haible  <bruno@clisp.org>
47454
47455         Avoid compilation error on NetBSD 5.0.
47456         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
47457         * tests/test-stdio.c: Likewise.
47458         * tests/test-stdlib.c: Likewise.
47459         * tests/test-string.c: Likewise.
47460         * tests/test-unistd.c: Likewise.
47461         Reported by Greg Troxel <gdt@ir.bbn.com>
47462         at <https://savannah.gnu.org/support/?106973>.
47463
47464 2009-08-11  Bruno Haible  <bruno@clisp.org>
47465
47466         * modules/dup2-tests (Depends-on): Remove close.
47467
47468         Undo 2009-07-19 commit.
47469         * modules/acl-tests (Depends-on): Remove close.
47470         * modules/binary-io-tests (Depends-on): Likewise.
47471         * modules/closein-tests (Depends-on): Likewise.
47472         * modules/flock-tests (Depends-on): Likewise.
47473         * modules/fsync-tests (Depends-on): Likewise.
47474         * modules/lseek-tests (Depends-on): Likewise.
47475         * modules/pipe-tests (Depends-on): Likewise.
47476         * modules/posix_spawn-tests (Depends-on): Likewise.
47477         * modules/posix_spawnp-tests (Depends-on): Likewise.
47478         * modules/stat-time-tests (Depends-on): Likewise.
47479         * modules/yesno-tests (Depends-on): Likewise.
47480
47481 2009-08-10  Bruno Haible  <bruno@clisp.org>
47482
47483         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
47484
47485 2009-08-10  Bruno Haible  <bruno@clisp.org>
47486
47487         Fix a gcc warning.
47488         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
47489
47490 2009-08-10  Bruno Haible  <bruno@clisp.org>
47491
47492         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
47493         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
47494         not only the first time.
47495         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
47496         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
47497         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
47498         is 1, not only the the first time.
47499
47500 2009-08-10  Bruno Haible  <bruno@clisp.org>
47501
47502         Make it possible to use module 'gethostname' without module 'close'.
47503         * lib/unistd.in.h (close): Evoke a link error only if
47504         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
47505         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47506         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47507         * modules/unistd (Makefile.am): Substitute
47508         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47509         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
47510         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
47511         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
47512         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47513         * modules/sys_ioctl (Makefile.am): Substitute
47514         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47515         * modules/socket (configure.ac): On native Windows, set
47516         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
47517         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47518         Reported by Sam Steingold <sds@gnu.org>.
47519
47520 2009-08-10  Bruno Haible  <bruno@clisp.org>
47521
47522         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
47523         * modules/ioctl (configure.ac): Likewise.
47524
47525 2009-08-10  Bruno Haible  <bruno@clisp.org>
47526
47527         Avoid collision between gnulib wrapper and libintl wrapper.
47528         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
47529         already defined in intl/printf.c.
47530         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
47531         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
47532
47533 2009-08-09  Bruno Haible  <bruno@clisp.org>
47534
47535         Make <sys/select.h> really self-contained, also on Solaris 10.
47536         * lib/sys_select.in.h: Include <string.h>.
47537         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
47538         Solaris 10 problem.
47539         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
47540         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
47541         Reported by Jim Meyering.
47542
47543 2009-08-09  Bruno Haible  <bruno@clisp.org>
47544
47545         Avoid warnings from 'aclocal' that are due to a use of macro name
47546         AM_XGETTEXT_OPTION that is not defined in automake.
47547         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
47548         automake.
47549         * modules/error (configure.ac): Likewise.
47550         * modules/propername (configure.ac): Likewise.
47551         * modules/vasprintf (configure.ac): Likewise.
47552         * modules/verror (configure.ac): Likewise.
47553         * modules/xprintf (configure.ac): Likewise.
47554         * modules/xvasprintf (configure.ac): Likewise.
47555
47556 2009-08-08  Bruno Haible  <bruno@clisp.org>
47557
47558         Avoid compilation error in C++ mode.
47559         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
47560         Reported by Sam Steingold <sds@gnu.org>.
47561
47562 2009-08-08  Bruno Haible  <bruno@clisp.org>
47563
47564         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
47565         for the various Unix platforms.
47566         * doc/posix-headers/limits.texi: Update platforms list regarding
47567         HOST_NAME_MAX.
47568         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47569
47570 2009-08-07  Jim Meyering  <meyering@redhat.com>
47571
47572         selinux-at: fix typo in a comment
47573         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
47574         Spotted by Paolo Bonzini.
47575
47576         selinux-at: remove redundant m4 code, add documentation
47577         * modules/selinux-at (configure.ac): Remove redundant code.
47578         LIB_SELINUX is already set via the dependent module, selinux-h.
47579         (Include): Add quotes around selinux-at.h.
47580         * lib/selinux-at.h: Add documentation.
47581         Reported by Bruno Haible in
47582         http://marc.info/?l=gnulib-bug&m=124958988300749
47583
47584 2009-08-07  Bruno Haible  <bruno@clisp.org>
47585
47586         Avoid link error on MacOS X 10.3 and 10.4.
47587         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
47588         on non-ELF systems.
47589         * lib/argp-pv.c (argp_program_version): Likewise.
47590         Reported by Simon Josefsson.
47591
47592 2009-08-07  Simon Josefsson  <simon@josefsson.org>
47593
47594         * tests/test-version-etc.sh: Use $EXEEXT.
47595
47596 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
47597
47598         update-copyright: update documentation to point to maint.mk
47599         * build-aux/update-copyright: Here.
47600
47601 2009-08-06  Jim Meyering  <meyering@redhat.com>
47602
47603         maint.mk: support update-copyright-local
47604         * top/maint.mk (update-copyright-local): Define place-holder.
47605         (update-copyright): Depend on $(update-copyright-local).
47606
47607 2009-08-06  Jim Meyering  <meyering@redhat.com>
47608
47609         selinux-at: new module
47610         Initially written for coreutils, this module will soon be
47611         used by findutils, too.
47612         * MODULES.html.sh [Misc]: Add selinux-at.
47613         * lib/selinux-at.h: New file, from coreutils.
47614         * lib/selinux-at.c: Likewise.
47615         * modules/selinux-at: Likewise.
47616         (License): Change from LGPL to GPL, since it depends
47617         on the GPL'd openat module.
47618
47619         doc: update README
47620         * README: Remove references to cogito.
47621         Remove cvs-repo-updating instructions from 2007.
47622         Don't imply that CVS is better if you have limited disk space.
47623
47624 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47625
47626         update-copyright: support C-style comments
47627         * build-aux/update-copyright: Implement and document.
47628         * tests/test-update-copyright.sh: Test.
47629
47630 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47631
47632         update-copyright: support omitted "(C)"
47633         * build-aux/update-copyright: Implement and document.  Also,
47634         allow variable whitespace before "(C)".
47635         * tests/test-update-copyright.sh: Test.
47636
47637 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47638
47639         update-copyright: don't trip on non-FSF copyright statements
47640         * build-aux/update-copyright: Fix so that the first correctly
47641         formatted FSF copyright statement is recognized no matter what
47642         appears before it.  Update documentation.
47643         * tests/test-update-copyright.sh: Test that.
47644
47645 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47646
47647         update-copyright: clean up code a little
47648         * build-aux/update-copyright: Append "_re" to the name of any
47649         variable holding a regular expression.
47650         Replace "old" and "new" with "stmt" in variable names.
47651         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
47652         handled correctly.
47653         Format code more consistently.
47654
47655 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47656
47657         update-copyright-tests: improve portability
47658         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
47659         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
47660
47661 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47662
47663         update-copyright: support @copyright{} and &copy;
47664         * build-aux/update-copyright: Implement and document.
47665         * tests/test-update-copyright.sh: Test.
47666
47667 2009-08-04  Jim Meyering  <meyering@redhat.com>
47668
47669         update-copyright-tests: correctly test EOL=\r\n handling
47670         * tests/test-update-copyright.sh: Put \r at the end of some lines
47671         for the dos-eol tests.  Based on a patch by Joel E. Denny.
47672
47673         maint.mk: make update-copyright exclusion list more configurable
47674         * top/maint.mk (update-copyright): Default to excluding COPYING,
47675         but allow an override, in case someone does want to update that file.
47676
47677         maint.mk: don't update copyright date in COPYING
47678         * top/maint.mk (update-copyright): Exclude COPYING.
47679
47680         maint.mk: add a copyright-updating rule
47681         * top/maint.mk (update-copyright): New rule.
47682         Derived from coreutils/Makefile.am.
47683
47684         update-copyright: rename some variables
47685         * build-aux/update-copyright: Rename a few variables for clarity.
47686         Tweak syntax.  List Joel E. Denny as coauthor.
47687
47688 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47689
47690         update-copyright: fix bug for 2-digit last year and add tests
47691         * build-aux/update-copyright: Fix bug.
47692         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
47693         specified.
47694         * modules/update-copyright-tests: New
47695         * tests/test-update-copyright.sh: New.
47696
47697 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47698
47699         update-copyright: handle leading tabs in line prefix
47700         * build-aux/update-copyright: Count leading tabs as 8 spaces
47701         when computing margin.  This helps with the formatting of
47702         ChangeLogs, for example.
47703         Fix documentation a little.
47704
47705 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47706
47707         update-copyright: support EOL=\r\n
47708         * build-aux/update-copyright: Implement that.
47709
47710 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47711
47712         update-copyright: automatically format copyright statements
47713         * build-aux/update-copyright: Implement that.
47714         Also, be a little more predictable and safer by always failing
47715         when the full copyright format is not perfectly recognized as an
47716         unbroken whole.  Discussed at
47717         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
47718         Rewrite documentation.
47719
47720 2009-08-03  Bruno Haible  <bruno@clisp.org>
47721
47722         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
47723
47724 2009-08-02  Bruno Haible  <bruno@clisp.org>
47725
47726         Tests for module 'uname'.
47727         * modules/uname-tests: New file.
47728         * tests/test-uname.c: New file.
47729
47730         New module 'uname'.
47731         * lib/uname.c: New file.
47732         * m4/uname.m4: New file.
47733         * modules/uname: New file.
47734         * doc/posix-functions/uname.texi: Mention the new module.
47735
47736 2009-08-02  Bruno Haible  <bruno@clisp.org>
47737
47738         Tests for module 'sys_utsname'.
47739         * modules/sys_utsname-tests: New file.
47740         * tests/test-sys_utsname.c: New file.
47741
47742         New module 'sys_utsname'.
47743         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
47744         * m4/sys_utsname_h.m4: New file.
47745         * modules/sys_utsname: New file.
47746         * doc/posix-headers/sys_utsname.texi: Mention the new module.
47747
47748 2009-08-02  Bruno Haible  <bruno@clisp.org>
47749
47750         Implicitly initialize the sockets library.
47751         * lib/gethostname.c: Include sockets.h.
47752         (rpl_gethostname): Invoke gl_sockets_startup.
47753         * lib/socket.c: Include sockets.h.
47754         (rpl_socket): Invoke gl_sockets_startup.
47755         * modules/gethostname (Depends-on): Add sockets.
47756         * modules/socket (Depends-on): Likewise.
47757         * tests/test-poll.c: Don't include sockets.h.
47758         (main): Don't invoke gl_sockets_startup.
47759         * tests/test-select.c: Don't include sockets.h.
47760         (main): Don't invoke gl_sockets_startup.
47761
47762 2009-08-02  Bruno Haible  <bruno@clisp.org>
47763
47764         Allow multiple calls to gl_sockets_startup.
47765         * lib/sockets.c (initialized_sockets_version): New variable.
47766         (gl_sockets_startup): Do nothing if already called for this or a higher
47767         version.
47768         (gl_sockets_cleanup): Reset initialized_sockets_version.
47769
47770 2009-08-03  Simon Josefsson  <simon@josefsson.org>
47771
47772         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
47773         different project/version.
47774
47775 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
47776             Bruno Haible  <bruno@clisp.org>
47777
47778         Tests for module 'pipe-filter-gi'.
47779         * modules/pipe-filter-gi-tests: New file.
47780         * tests/test-pipe-filter-gi1.sh: New file.
47781         * tests/test-pipe-filter-gi1.c: New file.
47782         * tests/test-pipe-filter-gi2.sh: New file.
47783         * tests/test-pipe-filter-gi2-main.c: New file.
47784         * tests/test-pipe-filter-gi2-child.c: New file.
47785
47786         New module 'pipe-filter-gi'.
47787         * lib/pipe-filter-gi.c: New file.
47788         * modules/pipe-filter-gi: New file.
47789
47790 2009-08-02  Bruno Haible  <bruno@clisp.org>
47791             Paolo Bonzini  <bonzini@gnu.org>
47792
47793         Tests for module 'pipe-filter-ii'.
47794         * modules/pipe-filter-ii-tests: New file.
47795         * tests/test-pipe-filter-ii1.sh: New file.
47796         * tests/test-pipe-filter-ii1.c: New file.
47797         * tests/test-pipe-filter-ii2.sh: New file.
47798         * tests/test-pipe-filter-ii2-main.c: New file.
47799         * tests/test-pipe-filter-ii2-child.c: New file.
47800
47801         New module 'pipe-filter-ii'.
47802         * lib/pipe-filter.h: New file.
47803         * lib/pipe-filter-ii.c: New file.
47804         * lib/pipe-filter-aux.h: New file.
47805         * modules/pipe-filter-ii: New file.
47806
47807 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47808
47809         * lib/gc-libgcrypt.c: Change copyright to FSF.
47810         * lib/gc-gnulib.c: Likewise.
47811
47812 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
47813
47814         * lib/gethostname.c: Include limits.h.
47815
47816 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47817             Bruno Haible  <bruno@clisp.org>
47818
47819         Ensure HOST_NAME_MAX as part of the gethostname module.
47820         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
47821         define also HOST_NAME_MAX.
47822         * tests/test-gethostname.c: Include <limits.h>.
47823         (main): Check also HOST_NAME_MAX.
47824         * doc/posix-headers/limits.texi: Document the mingw problem.
47825
47826 2009-08-02  Bruno Haible  <bruno@clisp.org>
47827
47828         * lib/gethostname.c (gethostname): Fix handling of large len argument.
47829         Add comments.
47830
47831 2009-03-31  Simon Josefsson  <simon@josefsson.org>
47832
47833         * lib/gethostname.c: Add Windows wrapper.
47834         * m4/gethostname.m4: Look for gethostname in -lws2_32.
47835         * modules/gethostname: Depend on sys_socket & errno, for also
47836         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
47837         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
47838
47839 2009-07-31  Jim Meyering  <meyering@redhat.com>
47840
47841         getloadavg: fix symbol name in comment
47842         * lib/getloadavg.c: Correct a typo I introduced when adding
47843         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
47844         Matt Kraai spotted the problem.
47845
47846 2009-07-29  Matt Kraai  <mkraai@beckman.com>
47847
47848         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
47849         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
47850         code also if ! defined N_NAME_POINTER.
47851         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
47852         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
47853         but the n_name member is a 12-byte array.
47854
47855 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
47856
47857         update-copyright: generalize comment handling
47858         * build-aux/update-copyright: Handle copyright statements
47859         within more comment styles.
47860         Document usage.
47861         Report any file with an external copyright holder or parse failure.
47862
47863 2009-07-29  Jim Meyering  <meyering@redhat.com>
47864
47865         mktime: correct setting of REPLACE_MKTIME
47866         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
47867
47868         update-copyright: new module
47869         * modules/update-copyright: New file.
47870         * build-aux/update-copyright: New file.
47871         * MODULES.html.sh (maint+release support): Add update-copyright.
47872
47873 2009-07-27  Bruno Haible  <bruno@clisp.org>
47874
47875         Fix compilation error when <ctime> is used and mktime is replaced.
47876         * lib/time.in.h (mktime): New declaration.
47877         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
47878         REPLACE_MKTIME instead of defining mktime in config.h.
47879         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
47880         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
47881         Reported by Ross McFarland <rwmcfa1@neces.com>.
47882
47883 2009-07-27  Bruno Haible  <bruno@clisp.org>
47884
47885         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
47886         Reported by Matt Kraai <mkraai@beckman.com>.
47887
47888 2009-07-25  Jim Meyering  <meyering@redhat.com>
47889
47890         maint.mk: avoid warnings about missing files
47891         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
47892         diagnostic when .prev-version does not exist.
47893         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
47894         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
47895         nonexistent cfg.mk.
47896         Suggestions from Simon Josefsson.
47897
47898 2009-07-25  Bruno Haible  <bruno@clisp.org>
47899
47900         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
47901         defined as macros. Needed on QNX 6.4.1.
47902         Reported by Matt Kraai <mkraai@beckman.com>.
47903
47904 2009-07-23  Jim Meyering  <meyering@redhat.com>
47905
47906         maint.mk: invoke "make dist" with a working value of XZ_OPT
47907         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
47908
47909 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
47910
47911         Make fseeko.c compile on QNX.
47912         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
47913
47914 2009-07-22  Peter Simons  <simons@cryp.to>
47915
47916         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
47917         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
47918         * lib/md4.h: Likewise.
47919         * lib/md5.h: Likewise.
47920         * lib/sha1.h: Likewise.
47921         * lib/sha256.h: Likewise.
47922         * lib/sha512.h: Likewise.
47923
47924         tests-sha1: don't assign literal string to 'char *' variable
47925         * tests/test-sha1.c (main): Declare locals with "const" to match
47926         attributes of the right hand side.
47927
47928 2009-07-21  Eric Blake  <ebb9@byu.net>
47929
47930         dup2: fix more mingw problems
47931         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
47932         fd to itself.
47933         * doc/posix-functions/dup2.texi (dup2): Document the bug.
47934         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
47935         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
47936         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
47937         care of mingw bugs.
47938
47939 2009-07-21  Jim Meyering  <meyering@redhat.com>
47940
47941         vc-list-files: avoid failure when /bin/sh is dash
47942         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
47943         On some Debian based systems, /bin/sh is a symlink to dash, and running
47944         this command would omit the "/" following each 'tests' prefix:
47945           dash -x build-aux/vc-list-files -C . tests
47946         That is because bash and dash work differently:
47947           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
47948           bash ok
47949           dash odd
47950
47951 2009-07-21  Eric Blake  <ebb9@byu.net>
47952
47953         dup2-tests: test previous patch
47954         * modules/dup2-tests: New file.
47955         * tests/test-dup2.c: Likewise.
47956         * tests/test-open.c (main): Avoid unspecified behavior.
47957         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
47958         test.
47959
47960         dup2: work around mingw and cygwin 1.5 bug
47961         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
47962         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
47963         * modules/unistd (Makefile.am): Substitute it.
47964         * lib/unistd.in.h (dup2): Declare the replacement.
47965         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
47966         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
47967         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
47968         * modules/execute (Depends-on): Add dup2.
47969         * modules/fseterr (Depends-on): Likewise.
47970         * modules/pipe (Depends-on): Likewise.
47971         * modules/posix_spawn-internal (Depends-on): Likewise.
47972
47973 2009-07-21  Bruno Haible  <bruno@clisp.org>
47974
47975         * modules/.gitattributes: New file.
47976
47977 2009-07-20  Bruno Haible  <bruno@clisp.org>
47978
47979         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
47980         (main): Use it.
47981
47982 2009-07-20  Eric Blake  <ebb9@byu.net>
47983
47984         test-pipe: make a bit more robust.
47985         * tests/test-pipe.c (myerr): Allow error messages regardless of
47986         what we do to stderr.
47987         (test_pipe): Rearrange to avoid deadlock.
47988         (child_main): Try a larger read, to ensure we avoided deadlock.
47989         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
47990         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
47991         if misused.
47992
47993 2009-07-19  Jim Meyering  <meyering@redhat.com>
47994
47995         fts: avoid false-positive cycle-detection
47996         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
47997         for each new command line argument.
47998
47999 2009-07-19  Bruno Haible  <bruno@clisp.org>
48000
48001         Fix build error on mingw with the modules sys_select and unistd.
48002         * modules/acl-tests (Depends-on): Add close.
48003         * modules/binary-io-tests (Depends-on): Likewise.
48004         * modules/closein-tests (Depends-on): Likewise.
48005         * modules/flock-tests (Depends-on): Likewise.
48006         * modules/fsync-tests (Depends-on): Likewise.
48007         * modules/lseek-tests (Depends-on): Likewise.
48008         * modules/pipe-tests (Depends-on): Likewise.
48009         * modules/posix_spawn-tests (Depends-on): Likewise.
48010         * modules/posix_spawnp-tests (Depends-on): Likewise.
48011         * modules/stat-time-tests (Depends-on): Likewise.
48012         * modules/yesno-tests (Depends-on): Likewise.
48013
48014 2009-07-19  Bruno Haible  <bruno@clisp.org>
48015
48016         Unify conditionals.
48017         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
48018         macros, not at the compiler macros.
48019         * lib/pipe.c: Likewise.
48020         * lib/execute.c: Likewise.
48021         * lib/spawni.c: Likewise.
48022
48023 2009-07-19  Bruno Haible  <bruno@clisp.org>
48024
48025         Fix handling of closed stdin/stdout/stderr on mingw.
48026         * lib/w32spawn.h: Include unistd.h.
48027         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
48028         file descriptor with O_NOINHERIT flag.
48029         (fd_safer_noinherit): New function, based on fd-safer.c.
48030         (dup_safer_noinherit): New function, based on dup-safer.c.
48031         (undup_safer_noinherit): New function.
48032         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
48033         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
48034         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
48035         instead of fd_safer.
48036         * tests/test-pipe.c: Include <windows.h>.
48037         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
48038         result.
48039
48040         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
48041         from main.
48042         (test_pipe): Pass an extra argument for disambiguation.
48043         (main): Invoke parent_main or child_main.
48044
48045         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
48046         consistently.
48047
48048 2009-07-18  Eric Blake  <ebb9@byu.net>
48049
48050         test-pipe: fix mingw build
48051         * tests/test-pipe.c (main): Avoid fcntl on mingw.
48052
48053 2009-07-18  Bruno Haible  <bruno@clisp.org>
48054
48055         * modules/pipe-tests (Makefile.am): Fix typo.
48056
48057 2009-07-18  Eric Blake  <ebb9@byu.net>
48058
48059         error: fix mingw build
48060         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
48061         Reported by Bruno Haible.
48062
48063         error: avoid undefined use of stdout
48064         * lib/error.c (error, error_at_line): Check that fd 1 is open
48065         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
48066         is handling faults and the close_stdout module wants to report the
48067         detection of closed stdout as an error.
48068
48069 2009-07-17  Eric Blake  <ebb9@byu.net>
48070
48071         pipe: be robust in face of closed fds
48072         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
48073         should cause child to misbehave.
48074         * modules/pipe-tests: New module.
48075         * tests/test-pipe.c: New file.
48076         * tests/test-pipe.sh: New file.
48077         Reported by Akim Demaille.
48078
48079 2009-07-14  Bruno Haible  <bruno@clisp.org>
48080
48081         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
48082         Reported by anonymous kc.
48083
48084 2009-07-07  Jim Meyering  <meyering@redhat.com>
48085
48086         maint.mk: don't look for translatable strings in *.m4 or *.mk
48087         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
48088         when searching for translatable strings.
48089
48090 2009-07-05  Jim Meyering  <meyering@redhat.com>
48091
48092         remove superfluous parentheses in STREQ definition
48093         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
48094         * lib/getugroups.c (STREQ): Likewise.
48095         * lib/fnmatch.c (STREQ): Likewise.
48096         Spotted by Bruno Haible.
48097
48098 2009-07-04  Jim Meyering  <meyering@redhat.com>
48099
48100         argv-iter: new module
48101         * MODULES.html.sh: Add argv-iter.
48102         * lib/argv-iter.c, lib/argv-iter.h: New files.
48103         * modules/argv-iter: New file.
48104         * modules/argv-iter-tests: New file.
48105         * tests/test-argv-iter.c: Test it.
48106
48107 2009-07-04  Bruno Haible  <bruno@clisp.org>
48108
48109         Fix assertion.
48110         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
48111         contains more exact copies of a given entry than file2, leave the extra
48112         copies unpaired rather than aborting.
48113         Reported by Eric Blake.
48114
48115 2009-07-02  Bruno Haible  <bruno@clisp.org>
48116
48117         Speedup git-merge-changelog for git cherry-pick.
48118         * lib/git-merge-changelog.c (struct entries_mapping): New type.
48119         (entries_mapping_get): New function, extracted from compute_mapping.
48120         (entries_mapping_reverse_get): New function.
48121         (compute_mapping): Add a 'full' argument. Return the result in a
48122         'struct entries_mapping'.
48123         (main): Update. Access the mappings through entries_mapping_get.
48124         Reported by Eric Blake.
48125
48126 2009-07-02  Bruno Haible  <bruno@clisp.org>
48127
48128         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
48129         best_i.
48130
48131 2009-07-02  Bruno Haible  <bruno@clisp.org>
48132
48133         Speed up approximate search for matching ChangeLog entries.
48134         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
48135         argument. Call fstrcmp_bounded instead of fstrcmp.
48136         (compute_mapping, try_split_merged_entry, main): Update callers.
48137
48138 2009-07-02  Bruno Haible  <bruno@clisp.org>
48139
48140         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
48141
48142 2009-06-30  Bruno Haible  <bruno@clisp.org>
48143
48144         Reduce the number of uc_is_cased calls.
48145         * lib/unicase.h (casing_suffix_context_t): Add
48146         'first_char_except_ignorable' field.
48147         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
48148         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
48149         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
48150         Update initializer.
48151         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
48152         case-ignorable characters.
48153         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
48154         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
48155         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
48156         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
48157         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
48158
48159 2009-06-30  Bruno Haible  <bruno@clisp.org>
48160
48161         Tests for module 'unicase/ignorable'.
48162         * modules/unicase/ignorable-tests: New file.
48163         * tests/unicase/test-ignorable.c: New file, generated by
48164         gen-uni-tables.
48165
48166         Tests for module 'unicase/cased'.
48167         * modules/unicase/cased-tests: New file.
48168         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
48169         * tests/unicase/test-predicate-part1.h: New file, derived from
48170         tests/unictype/test-predicate-part1.h.
48171         * tests/unicase/test-predicate-part2.h: New file, same as
48172         tests/unictype/test-predicate-part2.h.
48173
48174         Fix evaluation of "Before C" condition of FINAL_SIGMA.
48175         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
48176         (output_casing_properties): New function.
48177         (main): Call it.
48178         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
48179         * lib/unicase/cased.c: Include unictype/bitmap.h.
48180         (uc_is_cased): Define through a bitmap lookup.
48181         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
48182         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
48183         (uc_is_case_ignorable): Define through a bitmap lookup.
48184         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
48185         lib/unictype/bitmap.h.
48186         (Depends-on): Add inline. Clean up.
48187         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
48188         lib/unictype/bitmap.h.
48189         (Depends-on): Add inline. Clean up.
48190         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
48191         recognition.
48192         * tests/unicase/test-u16-tolower.c (main): Likewise.
48193         * tests/unicase/test-u32-tolower.c (main): Likewise.
48194
48195 2009-06-30  Bruno Haible  <bruno@clisp.org>
48196
48197         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
48198         * lib/unicase/u16-casemap.c: Likewise.
48199         * lib/unicase/u32-casemap.c: Likewise.
48200
48201 2009-06-29  Bruno Haible  <bruno@clisp.org>
48202
48203         Define u32_casefold as a wrapper around u32_ct_casefold.
48204         * lib/unicase/u32-casefold.c: Update.
48205         * modules/unicase/u32-casefold (Depends-on): Add
48206         unicase/u32-ct-casefold, unicase/empty-prefix-context,
48207         unicase/empty-suffix-context. Clean up.
48208
48209         Define u16_casefold as a wrapper around u16_ct_casefold.
48210         * lib/unicase/u16-casefold.c: Update.
48211         * modules/unicase/u16-casefold (Depends-on): Add
48212         unicase/u16-ct-casefold, unicase/empty-prefix-context,
48213         unicase/empty-suffix-context. Clean up.
48214
48215         Define u8_casefold as a wrapper around u8_ct_casefold.
48216         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
48217         * lib/unicase/u8-casefold.c: Update.
48218         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
48219         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48220
48221         Define u32_totitle as a wrapper around u32_ct_totitle.
48222         * lib/unicase/u32-totitle.c: Update.
48223         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
48224         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48225
48226         Define u16_totitle as a wrapper around u16_ct_totitle.
48227         * lib/unicase/u16-totitle.c: Update.
48228         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
48229         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48230
48231         Define u8_totitle as a wrapper around u8_ct_totitle.
48232         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
48233         functions.
48234         (FUNC): Delegate to U_CT_TOTITLE.
48235         * lib/unicase/u8-totitle.c: Update.
48236         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
48237         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48238
48239         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
48240         invocation.
48241         * modules/unicase/u32-tolower (Depends-on): Add
48242         unicase/empty-prefix-context, unicase/empty-suffix-context.
48243
48244         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
48245         invocation.
48246         * modules/unicase/u16-tolower (Depends-on): Add
48247         unicase/empty-prefix-context, unicase/empty-suffix-context.
48248
48249         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
48250         * modules/unicase/u8-tolower (Depends-on): Add
48251         unicase/empty-prefix-context, unicase/empty-suffix-context.
48252
48253         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
48254         invocation.
48255         * modules/unicase/u32-toupper (Depends-on): Add
48256         unicase/empty-prefix-context, unicase/empty-suffix-context.
48257
48258         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
48259         invocation.
48260         * modules/unicase/u16-toupper (Depends-on): Add
48261         unicase/empty-prefix-context, unicase/empty-suffix-context.
48262
48263         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
48264         * modules/unicase/u8-toupper (Depends-on): Add
48265         unicase/empty-prefix-context, unicase/empty-suffix-context.
48266
48267         New module 'unicase/u32-ct-casefold'.
48268         * lib/unicase/u32-ct-casefold.c: New file.
48269         * modules/unicase/u32-ct-casefold: New file.
48270
48271         New module 'unicase/u16-ct-casefold'.
48272         * lib/unicase/u16-ct-casefold.c: New file.
48273         * modules/unicase/u16-ct-casefold: New file.
48274
48275         New module 'unicase/u8-ct-casefold'.
48276         * lib/unicase/u8-ct-casefold.c: New file.
48277         * lib/unicase/u-ct-casefold.h: New file, derived from
48278         lib/unicase/u-casefold.h.
48279         * modules/unicase/u8-ct-casefold: New file.
48280
48281         New module 'unicase/u32-ct-totitle'.
48282         * lib/unicase/u32-ct-totitle.c: New file.
48283         * modules/unicase/u32-ct-totitle: New file.
48284
48285         New module 'unicase/u16-ct-totitle'.
48286         * lib/unicase/u16-ct-totitle.c: New file.
48287         * modules/unicase/u16-ct-totitle: New file.
48288
48289         New module 'unicase/u8-ct-totitle'.
48290         * lib/unicase/u8-ct-totitle.c: New file.
48291         * lib/unicase/u-ct-totitle.h: New file, derived from
48292         lib/unicase/u-totitle.h.
48293         * modules/unicase/u8-ct-totitle: New file.
48294
48295         New module 'unicase/u32-ct-tolower'.
48296         * lib/unicase/u32-ct-tolower.c: New file.
48297         * modules/unicase/u32-ct-tolower: New file.
48298
48299         New module 'unicase/u16-ct-tolower'.
48300         * lib/unicase/u16-ct-tolower.c: New file.
48301         * modules/unicase/u16-ct-tolower: New file.
48302
48303         New module 'unicase/u8-ct-tolower'.
48304         * lib/unicase/u8-ct-tolower.c: New file.
48305         * modules/unicase/u8-ct-tolower: New file.
48306
48307         New module 'unicase/u32-ct-toupper'.
48308         * lib/unicase/u32-ct-toupper.c: New file.
48309         * modules/unicase/u32-ct-toupper: New file.
48310
48311         New module 'unicase/u16-ct-toupper'.
48312         * lib/unicase/u16-ct-toupper.c: New file.
48313         * modules/unicase/u16-ct-toupper: New file.
48314
48315         New module 'unicase/u8-ct-toupper'.
48316         * lib/unicase/u8-ct-toupper.c: New file.
48317         * modules/unicase/u8-ct-toupper: New file.
48318
48319         Add context arguments to u*_casemap functions.
48320         * lib/unicase/unicasemap.h: Include unicase.h.
48321         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
48322         suffix_context arguments.
48323         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
48324         functions.
48325         (FUNC): Add prefix_context and suffix_context arguments. Use
48326         uc_is_cased and uc_is_case_ignorable.
48327         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
48328         * lib/unicase/u16-casemap.c: Likewise.
48329         * lib/unicase/u32-casemap.c: Likewise.
48330         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
48331         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48332         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
48333         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48334         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
48335         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48336
48337         New module 'unicase/u32-suffix-context'.
48338         * lib/unicase/u32-suffix-context.c: New file.
48339         * modules/unicase/u32-suffix-context: New file.
48340
48341         New module 'unicase/u16-suffix-context'.
48342         * lib/unicase/u16-suffix-context.c: New file.
48343         * modules/unicase/u16-suffix-context: New file.
48344
48345         New module 'unicase/u8-suffix-context'.
48346         * lib/unicase/u8-suffix-context.c: New file.
48347         * lib/unicase/u-suffix-context.h: New file.
48348         * modules/unicase/u8-suffix-context: New file.
48349
48350         New module 'unicase/empty-suffix-context'.
48351         * lib/unicase/empty-suffix-context.c: New file.
48352         * modules/unicase/empty-suffix-context: New file.
48353
48354         New module 'unicase/u32-prefix-context'.
48355         * lib/unicase/u32-prefix-context.c: New file.
48356         * modules/unicase/u32-prefix-context: New file.
48357
48358         New module 'unicase/u16-prefix-context'.
48359         * lib/unicase/u16-prefix-context.c: New file.
48360         * modules/unicase/u16-prefix-context: New file.
48361
48362         New module 'unicase/u8-prefix-context'.
48363         * lib/unicase/u8-prefix-context.c: New file.
48364         * lib/unicase/u-prefix-context.h: New file.
48365         * lib/unicase/context.h: New file.
48366         * modules/unicase/u8-prefix-context: New file.
48367
48368         New module 'unicase/empty-prefix-context'.
48369         * lib/unicase/empty-prefix-context.c: New file.
48370         * modules/unicase/empty-prefix-context: New file.
48371
48372         New module 'unicase/ignorable'.
48373         * lib/unicase/ignorable.c: New file.
48374         * modules/unicase/ignorable: New file.
48375
48376         New module 'unicase/cased'.
48377         * lib/unicase/caseprop.h: New file.
48378         * lib/unicase/cased.c: New file.
48379         * modules/unicase/cased: New file.
48380
48381         New functions for case mapping of substrings.
48382         * lib/unicase.h (casing_prefix_context_t): New type.
48383         (unicase_empty_prefix_context): New variable.
48384         (u8_casing_prefix_context, u16_casing_prefix_context,
48385         u32_casing_prefix_context, u8_casing_prefixes_context,
48386         u16_casing_prefixes_context, u32_casing_prefixes_context): New
48387         declarations.
48388         (casing_suffix_context_t): New type.
48389         (unicase_empty_suffix_context): New variable.
48390         (u8_casing_suffix_context, u16_casing_suffix_context,
48391         u32_casing_suffix_context, u8_casing_suffixes_context,
48392         u16_casing_suffixes_context, u32_casing_suffixes_context,
48393         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
48394         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
48395         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
48396         declarations.
48397
48398 2009-06-28  Jim Meyering  <meyering@redhat.com>
48399
48400         boostrap: indent only with spaces
48401         * build-aux/bootstrap: Indent only with spaces, never TABs.
48402
48403         bootstrap: split long lines
48404         * build-aux/bootstrap: Keep line length < 80.
48405
48406         bootstrap: sync from coreutils
48407         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
48408         just as autoreconf does.  Verify a list of prerequisite
48409         package-name,version-number pairs if defined in bootstrap.conf.
48410         Refer to README-prereq, if prerequisites are not satisfied.
48411
48412 2009-06-27  Eric Blake  <ebb9@byu.net>
48413
48414         tests: add test for bogus NULL definition
48415         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
48416         * tests/test-stdlib.c: Likewise.
48417         * tests/test-string.c: Likewise.
48418         * tests/test-locale.c: Likewise.
48419         * tests/test-unistd.c: Likewise.
48420         * modules/stdio-tests (Depends-on): Add verify.
48421         * modules/stdlib-tests (Depends-on): Likewise.
48422         * modules/string-tests (Depends-on): Likewise.
48423         * modules/locale-tests (Depends-on): Likewise.
48424         * modules/unistd-tests (Depends-on): Likewise.
48425
48426 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
48427
48428         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
48429         self-explaining comment.
48430         * m4/selinux-selinux-h: Update serial.
48431         (gl_LIBSELINUX): New macro, adding a warning for missing development
48432         packages to code extracted from...
48433         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
48434         Add warning for missing development packages here, too.
48435
48436 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
48437
48438         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
48439
48440 2009-06-25  Eric Blake  <ebb9@byu.net>
48441
48442         version-etc: fix regression
48443         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
48444         gcc.
48445         (version_etc): Use it, to catch bugs with trailing NULL.
48446         * lib/version-etc.c (version_etc_arn): Delete unused argument.
48447         (version_etc_va): Fix logic bug.
48448         * modules/version-etc-tests: Add test.
48449         * tests/test-version-etc.c: New file.
48450         * tests/test-version-etc.sh: Likewise.
48451
48452 2009-06-25  Sam Steingold  <sds@gnu.org>
48453
48454         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
48455         mbtowc declaration.
48456
48457 2009-06-25  Eric Blake  <ebb9@byu.net>
48458
48459         fpurge: migrate into <stdio.h>
48460         * lib/fpurge.h: Delete...
48461         * lib/stdio.in.h (fpurge): ...and declare here, instead.
48462         * lib/fpurge.c (fpurge): Change declaring header.
48463         * modules/fpurge (Files): Drop deleted file.
48464         (Depends-on): Add stdio.
48465         (configure.ac): Set witness.
48466         * modules/stdio (Makefile.am): Support fpurge macros.
48467         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48468         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
48469         * lib/fflush.c: Update client.
48470         * tests/test-fpurge.c: Likewise.
48471         * NEWS: Mention the change.
48472
48473 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48474
48475         * lib/argp-version-etc.c (program_authors): Add const
48476         qualifier.
48477         * lib/version-etc.c: Fix typos in the comments.
48478         * modules/argp-version-etc: Depends on version-etc.
48479
48480 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48481
48482         argp-version-etc: new module.
48483
48484         * lib/argp-version-etc.c: New file.
48485         * lib/argp-version-etc.h: New file.
48486         * modules/argp-version-etc: New file.
48487         * modules/argp-version-etc-tests: New file.
48488         * tests/test-argp-version-etc.c: New test.
48489         * tests/test-argp-version-etc-1.sh: New test.
48490
48491 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48492
48493         Provide additional interfaces and documentation for version-etc
48494         module.
48495
48496         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
48497         interfaces.
48498         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
48499         prototypes.
48500
48501 2009-06-24  Bruno Haible  <bruno@clisp.org>
48502
48503         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
48504         HAVE_LIB${NAME} macro.
48505         Reported by Sam Steingold <sds@gnu.org>.
48506
48507 2009-06-23  Simon Josefsson  <simon@josefsson.org>
48508
48509         * modules/hash-tests (test_hash_LDADD): Link to libintl when
48510         needed.
48511
48512 2009-06-21  Bruno Haible  <bruno@clisp.org>
48513
48514         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
48515         work.
48516         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
48517         together with LIB${NAME}, LTLIB${NAME}.
48518         Reported by Sam Steingold <sds@gnu.org>.
48519
48520 2009-06-20  Jim Meyering  <meyering@redhat.com>
48521
48522         tests: make sc_require_test_exit_idiom more generic
48523         * top/maint.mk (Exit_witness_file): New overridable variable.
48524         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
48525         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
48526
48527 2009-06-19  Jim Meyering  <meyering@redhat.com>
48528
48529         hash: reverse order of src/dst parameters in an internal interface
48530         * lib/hash.c (transfer_entries): Reverse order of parameters to
48531         put DST before SRC.  Adjust callers.
48532
48533         tests: test-hash: avoid wholesale duplication
48534         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
48535         Instead, use a loop and add a single conditional.
48536
48537         tests: test-hash: allow seed selection via a command line argument
48538         * tests/test-hash.c (get_seed): New function.
48539         (main): Use it.
48540
48541 2009-06-19  Eric Blake  <ebb9@byu.net>
48542
48543         hash: avoid memory leak on allocation failure
48544         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
48545         failure.  Factor repeated algorithm...
48546         (transfer_entries): ...into new helper routine.
48547         (hash_delete): React to hash_rehash return value.
48548
48549         hash: reduce memory pressure in hash_rehash no-op case
48550         * lib/hash.c (next_prime): Avoid overflow.
48551         (hash_initialize): Factor bucket size computation...
48552         (compute_bucket_size): ...into new helper function.
48553         (hash_rehash): Use new function and open coding to reduce memory
48554         pressure, and avoid a memory leak in USE_OBSTACK code.
48555         Reported by Jim Meyering.
48556
48557 2009-06-18  Eric Blake  <ebb9@byu.net>
48558
48559         hash: make rotation more obvious
48560         * modules/hash (Depends-on): Add bitrotate and stdint.
48561         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
48562         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
48563         (SIZE_MAX): Rely on headers for definition.
48564         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
48565         (raw_hasher): Use rotr_sz.
48566         Suggested by Jim Meyering.
48567
48568         hash: fix memory leak in last patch
48569         * lib/hash.c (hash_rehash): Avoid memory leak.
48570
48571         hash: avoid no-op rehashing
48572         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
48573
48574         hash: provide default callback functions
48575         * lib/hash.c (raw_hasher, raw_comparator): New functions.
48576         (hash_initialize): Use them as defaults.
48577         * tests/test-hash.c (main): Test this.
48578
48579         hash: minor optimization
48580         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
48581         when possible.
48582         (hash_initialize): Document this promise.
48583         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
48584         * tests/test-hash.c (hash_compare_strings): Test this.
48585
48586 2009-06-18  Bruno Haible  <bruno@clisp.org>
48587
48588         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
48589         going to be replaced anyway.
48590
48591 2009-06-18  Bruno Haible  <bruno@clisp.org>
48592
48593         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
48594         in one place.
48595         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
48596         be replaced anyway.
48597
48598 2009-06-18  Eric Blake  <ebb9@byu.net>
48599
48600         hash: check for resize before insertion
48601         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
48602         threshold before insertion, so that a pathological hash_rehash
48603         that fills every bucket can still trigger another rehash.
48604
48605 2009-06-18  Jim Meyering  <meyering@redhat.com>
48606
48607         hash-tests: add a loop around the small tests
48608         * tests/test-hash.c (main): Repeat small tests with selected
48609         small initial table sizes.
48610
48611 2009-06-17  Eric Blake  <ebb9@byu.net>
48612
48613         hash: minor cleanups
48614         * lib/hash.h (hash_entry): Make opaque, by moving...
48615         * lib/hash.c (hash_entry): ...here.
48616         (hash_insert): Clarify restrictions on what can be inserted.
48617         (hash_get_next): Clarify when it is safe to remove an element
48618         during traversal.
48619         (check_tuning): Skip verification when tuning is known safe.
48620         (hash_initialize): Clarify restrictions on tuning.
48621
48622 2009-06-17  Jim Meyering  <jim@meyering.net>
48623         and Eric Blake  <ebb9@byu.net>
48624
48625         hash-tests: new module
48626         * modules/hash-tests: New file.
48627         * tests/test-hash.c: New file.
48628
48629 2009-06-17  Eric Blake  <ebb9@byu.net>
48630
48631         strstr-simple: document new module
48632         * MODULES.html.sh: Document new module.
48633
48634         strstr, strcasestr: replace on platforms with broken memchr
48635         * modules/strstr: Split into...
48636         * modules/strstr-simple: ...new module that does not care about
48637         performance, but does care about glibc bug.
48638         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
48639         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
48640         if platform memchr is broken, per Debian bug 521737.
48641         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
48642         memchr.
48643         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
48644         * doc/posix-functions/strstr.texi (strstr): Document the fix.
48645         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48646         * modules/mountlist (Depends-on): Add strstr-simple.
48647         * modules/gen-uni-tables (Depends-on): Likewise.
48648         * modules/argz (Depends-on): Add strstr.
48649
48650 2009-06-17  Bruno Haible  <bruno@clisp.org>
48651
48652         * modules/posix_spawn-internal (Depends-on): Add errno.
48653
48654 2009-06-17  Bruno Haible  <bruno@clisp.org>
48655
48656         Define missing ESTALE on Interix 3.5.
48657         * lib/errno.in.h (ESTALE): Assign a value if missing.
48658         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
48659         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
48660         missing.
48661         * doc/posix-headers/errno.texi: Mention the Interix bug.
48662         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
48663
48664 2009-06-15  Eric Blake  <ebb9@byu.net>
48665
48666         memchr, memchr2: add valgrind exception
48667         * lib/memchr.valgrind: New file.
48668         * lib/memchr2.valgrind: New file.
48669         * modules/memchr (Files): Distribute valgrind file.
48670         * modules/memchr2 (Files): Likewise.
48671
48672         docs: memchr is no longer obsolete
48673         * MODULES.html.sh: Move memchr from obsolete to string.h section.
48674         * lib/string.in.h (memchr): Simplify logic.
48675
48676 2009-06-14  Jim Meyering  <meyering@redhat.com>
48677
48678         link-follow: fix the "checking..." message to not mention trailing slash
48679         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
48680         never considered trailing slashes.
48681
48682 2009-06-14  Bruno Haible  <bruno@clisp.org>
48683
48684         * m4/memchr.m4: Mention also the bug on IA-64.
48685         * doc/posix-functions/memchr.texi: Likewise.
48686
48687 2009-06-12  Eric Blake  <ebb9@byu.net>
48688
48689         memchr: detect broken x86_64 and alpha implementations
48690         * modules/memchr-tests (Depends-on): Move mmap detection...
48691         * modules/memchr (Depends-on): ...here.
48692         (configure.ac): Set indicator.
48693         * lib/string.in.h (memchr): Declare replacement.
48694         * modules/string (Makefile.am): Trigger replacement.
48695         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
48696         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
48697         bugs.
48698         * doc/posix-functions/memchr.texi (memchr): Document the bug.
48699         * modules/getpagesize (License): Relax license.
48700
48701 2009-06-11  Bruno Haible  <bruno@clisp.org>
48702
48703         * lib/idpriv.h: Add more references.
48704
48705 2009-06-08  Bruno Haible  <bruno@clisp.org>
48706
48707         Tests for module 'idpriv-droptemp'.
48708         * modules/idpriv-droptemp-tests: New file.
48709         * tests/test-idpriv-droptemp.sh: New file.
48710         * tests/test-idpriv-droptemp.su.sh: New file.
48711         * tests/test-idpriv-droptemp.c: New file.
48712
48713         New module 'idpriv-droptemp'.
48714         * lib/idpriv-droptemp.c: New file.
48715         * modules/idpriv-droptemp: New file.
48716
48717 2009-06-08  Bruno Haible  <bruno@clisp.org>
48718
48719         Tests for module 'idpriv-drop'.
48720         * modules/idpriv-drop-tests: New file.
48721         * tests/test-idpriv-drop.sh: New file.
48722         * tests/test-idpriv-drop.su.sh: New file.
48723         * tests/test-idpriv-drop.c: New file.
48724
48725         New module 'idpriv-drop'.
48726         * lib/idpriv.h: New file.
48727         * lib-idpriv-drop.c: New file.
48728         * m4/idpriv.m4: New file.
48729         * modules/idpriv-drop: New file.
48730
48731 2009-06-08  Bruno Haible  <bruno@clisp.org>
48732
48733         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
48734         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48735         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48736         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48737         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48738         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48739         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48740
48741 2009-06-08  Eric Blake  <ebb9@byu.net>
48742
48743         test-strstr: use memory fence, when possible
48744         * tests/test-strstr.c (main): Use memory fence, in order to be
48745         more likely to trigger Debian bug 521737.
48746         * modules/strstr-tests (Files): Pull in additional files.
48747
48748         memchr: no longer obsolete, for wider field testing
48749         * modules/memchr (Status, Notice): Delete, this module is no
48750         longer obsolete.
48751         * modules/vasnprintf (Depends-on): Add memchr.
48752
48753 2009-06-07  Jim Meyering  <meyering@redhat.com>
48754
48755         hash: declare some functions with the warn_unused_result attribute
48756         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
48757
48758 2009-06-07  Bruno Haible  <bruno@clisp.org>
48759
48760         * tests/test-alignof.c: Don't test int64_t if it does not exist.
48761         Reported by Eric Blake.
48762
48763 2009-06-06  Eric Blake  <ebb9@byu.net>
48764
48765         test-alignof: fix typo with long double
48766         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
48767         compiler error.
48768
48769 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
48770
48771         Escape non-texinfo { and }s.
48772         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
48773         markup error.
48774
48775 2009-06-04  Jim Meyering  <meyering@redhat.com>
48776
48777         gitlog-to-changelog: don't infloop on an empty commit log
48778         * build-aux/gitlog-to-changelog: Warn about an empty log message.
48779         Reported by Boris Petersen <transacid@centerim.org>.
48780
48781 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
48782
48783         version-etc: extend for packagers
48784         Add three new configure options, intended for packagers:
48785           --with-packager="packager name"
48786           --with-packager-version="packager-specific version"
48787           --with-packager-bug-reports="packager bug reporting"
48788         An example with coreutils:
48789           $ ./configure \
48790             --with-packager=Gentoo \
48791             --with-packager-bug-report=http://bugs.gentoo.org/ \
48792             --with-packager-version="patchset 1.6"
48793           $ ./src/ls --version | head -n2
48794           ls (GNU coreutils) 7.1-dirty
48795           Packaged by Gentoo (patchset 1.6)
48796         Note that the bug reporting info via --help doesn't show up because
48797         coreutils uses its own custom emit_bug_reporting_address() implementation
48798         in src/system.h.  If it didn't, it'd look like:
48799           $ ./src/ls --help | tail -n4
48800           Report bugs to <bug-coreutils@gnu.org>.
48801           Report Gentoo bugs to <http://bugs.gentoo.org/>.
48802           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
48803           General help using GNU software: <http://www.gnu.org/gethelp/>.
48804         * lib/version-etc.c: Print new information, if provided.
48805         * m4/version-etc.m4: New file.
48806         * modules/version-etc (Files): Add m4/version-etc.m4.
48807         (configure.ac): Add gl_VERSION_ETC.
48808
48809 2009-05-31  Bruno Haible  <bruno@clisp.org>
48810
48811         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
48812         and 'int64_t'.
48813         * modules/alignof-tests (Dependencies): Add stdint.
48814         Reported by Eric Blake.
48815
48816 2009-05-31  Bruno Haible  <bruno@clisp.org>
48817
48818         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
48819         restriction due to compiler bugs.
48820         Reported by Eric Blake.
48821
48822 2009-05-31  Simon Josefsson  <simon@josefsson.org>
48823             Bruno Haible  <bruno@clisp.org>
48824
48825         Fix test-alignof failure.
48826         * lib/alignof.h (alignof_slot): New macro.
48827         (alignof_type): New macro, with the same semantics as the previous
48828         'alignof'.
48829         (alignof): Alias to alignof_slot.
48830         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
48831         check that the results are usable as constant expressions.
48832
48833 2009-05-31  Bruno Haible  <bruno@clisp.org>
48834
48835         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
48836         * tests/test-memchr.c (main): Check that memchr does not read past the
48837         first occurrence of the byte.
48838         * tests/test-strstr.c (main): Update comment.
48839         Suggested by Eric Blake.
48840
48841 2009-05-30  Bruno Haible  <bruno@clisp.org>
48842
48843         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
48844         detail how to use dumpbin.
48845         Reported by David Byron <dbyron@dbyron.com>.
48846
48847 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48848
48849         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
48850
48851 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48852
48853         * m4/manywarnings.m4: Add GCC 4.4 warnings.
48854
48855 2009-05-28  Bruno Haible  <bruno@clisp.org>
48856
48857         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
48858         build-aux/ files.
48859
48860 2009-05-28  Simon Josefsson  <simon@josefsson.org>
48861
48862         * gnulib-tool (func_import): Transform license on build-aux/ files too.
48863
48864 2009-05-27  Simon Josefsson  <simon@josefsson.org>
48865
48866         * gnulib-tool (sed_transform_main_lib_file)
48867         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
48868         regexps.
48869
48870 2009-05-26  Simon Josefsson  <simon@josefsson.org>
48871
48872         * tests/test-strstr.c: Add another self-test.
48873         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
48874         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
48875
48876 2009-05-23  Bruno Haible  <bruno@clisp.org>
48877
48878         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
48879         change.
48880
48881 2009-05-21  Bruno Haible  <bruno@clisp.org>
48882
48883         Simplify use of mode_t varargs.
48884         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
48885         uses 'mode_t' or 'int'.
48886         * lib/openat.c (openat): Likewise.
48887         * lib/open-safer.c (open_safer): Likewise.
48888         * m4/mode_t.m4: New file.
48889         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
48890         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
48891         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
48892         * modules/open (Files): Add m4/mode_t.m4.
48893         * modules/openat (Files): Likewise.
48894         * modules/fcntl-safer (Files): Likewise.
48895         Suggested by Eric Blake.
48896
48897 2009-05-21  Pádraig Brady  <P@draigbrady.com>
48898
48899         * doc/glibc-functions/fallocate.texi: New file.
48900         * doc/gnulib.texi: Include it.
48901
48902 2009-05-21  Eric Blake  <ebb9@byu.net>
48903             Bruno Haible  <bruno@clisp.org>
48904
48905         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
48906         invocations.
48907         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48908
48909 2009-05-21  Eric Blake  <ebb9@byu.net>
48910             Bruno Haible  <bruno@clisp.org>
48911
48912         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
48913         include_next. Fix of 2008-11-20 commit.
48914         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
48915         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
48916         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
48917         NEXT_MATH_H.
48918         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
48919         instead of NEXT_MATH_H.
48920
48921 2009-05-21  Bruno Haible  <bruno@clisp.org>
48922
48923         Avoid redefinition warnings for SIZE_MAX.
48924         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
48925         Reported by Simon Josefsson.
48926
48927 2009-05-21  Bruno Haible  <bruno@clisp.org>
48928
48929         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
48930         AC_CACHE_VAL.
48931
48932 2009-05-20  Bruno Haible  <bruno@clisp.org>
48933
48934         Make zeroptr.h work on mingw.
48935         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
48936         mprotect.
48937         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
48938         * modules/memchr2-tests (configure.ac): Likewise.
48939         * modules/memcmp-tests (configure.ac): Likewise.
48940         * modules/memmem-tests (configure.ac): Likewise.
48941         * modules/memrchr-tests (configure.ac): Likewise.
48942         Reported by Simon Josefsson.
48943
48944 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48945
48946         * tests/test-glob.c: Include string.h for strcmp prototype.
48947
48948 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48949
48950         * modules/getdelim (Depends-on): Add explicit stdint, although it
48951         was implicitly already pulled in via realloc-posix.
48952         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
48953
48954 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48955
48956         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
48957         G. Christensen" <tgc@jupiterrise.com>.
48958         * m4/sys_socket_h.m4: Check for sa_family_t.
48959         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
48960         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
48961         * tests/test-sys_socket.c: Check that sa_family_t works.
48962
48963 2009-05-18  Eric Blake  <ebb9@byu.net>
48964
48965         maint.mk: allow gnulib_dir in VPATH build
48966         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
48967
48968 2009-05-15  Jim Meyering  <meyering@redhat.com>
48969
48970         maint.mk: Give gnulib_dir a default definition.
48971         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
48972         Thus, most packages no longer need to specify this variable in cfg.mk
48973
48974 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
48975
48976         rename.m4: fix typos that would make non-mingw cross-configure fail
48977         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
48978
48979 2009-05-13  Eric Blake  <ebb9@byu.net>
48980
48981         mmap-anon: avoid out-of-order autoconf expansion
48982         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
48983         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
48984         * modules/memchr-tests (Depends-on): Add extensions.
48985         * modules/memchr2-tests (Depends-on): Add extensions.
48986         * modules/memcmp-tests (Depends-on): Add extensions.
48987         * modules/memmem-tests (Depends-on): Add extensions.
48988         * modules/memrchr-tests (Depends-on): Add extensions.
48989
48990 2009-05-13  Bruno Haible  <bruno@clisp.org>
48991
48992         Make some tests ISO C 99 compliant.
48993         * tests/zerosize-ptr.h: New file.
48994         * tests/test-memchr.c: Include zerosize-ptr.h.
48995         (main): Use a zero-size object pointer instead of NULL.
48996         * tests/test-memchr2.c: Include zerosize-ptr.h.
48997         (main): Use a zero-size object pointer instead of NULL.
48998         * tests/test-memcmp.c: Include zerosize-ptr.h.
48999         (main): Use a zero-size object pointer instead of NULL.
49000         * tests/test-memmem.c: Include zerosize-ptr.h.
49001         (main): Use a zero-size object pointer instead of NULL.
49002         * tests/test-memrchr.c: Include zerosize-ptr.h.
49003         (main): Use a zero-size object pointer instead of NULL.
49004         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
49005         m4/mmap-anon.m4.
49006         (Depends-on): Add getpagesize.
49007         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
49008         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
49009         m4/mmap-anon.m4.
49010         (Depends-on): Add getpagesize.
49011         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
49012         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
49013         m4/mmap-anon.m4.
49014         (Depends-on): Add getpagesize.
49015         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
49016         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
49017         m4/mmap-anon.m4.
49018         (Depends-on): Add getpagesize.
49019         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
49020         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
49021         m4/mmap-anon.m4.
49022         (Depends-on): Add getpagesize.
49023         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
49024
49025 2009-05-12  Bruno Haible  <bruno@clisp.org>
49026
49027         Tests for module 'alignof'.
49028         * modules/alignof-tests: New file.
49029         * tests/test-alignof.c: New file.
49030
49031 2009-05-12  Bruno Haible  <bruno@clisp.org>
49032
49033         Fix alignof macro.
49034         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
49035         vendor compilers that are always correct.
49036
49037 2009-05-12  Bruno Haible  <bruno@clisp.org>
49038
49039         Make the MAP_ANONYMOUS detection work on HP-UX 11.
49040         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
49041         not whether its fully works.
49042
49043 2009-05-12  Bruno Haible  <bruno@clisp.org>
49044
49045         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
49046
49047 2009-05-12  Jim Meyering  <meyering@redhat.com>
49048
49049         * top/maint.mk: Adjust backslash alignment.
49050
49051 2009-05-11  Simon Josefsson  <simon@josefsson.org>
49052
49053         * top/maint.mk: Make $(srcdir)/build-aux configurable.
49054
49055 2009-05-11  Eric Blake  <ebb9@byu.net>
49056
49057         argp: avoid undefined behavior
49058         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
49059         macros.
49060
49061 2009-05-08  Simon Josefsson  <simon@josefsson.org>
49062
49063         * tests/test-vc-list-files-git.sh: Do git config of user.email and
49064         user.name to prevent git commit from complaining.
49065
49066 2009-05-10  Bruno Haible  <bruno@clisp.org>
49067
49068         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
49069         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
49070         it rewrites every file name only once.
49071         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
49072
49073 2009-05-08  Bruno Haible  <bruno@clisp.org>
49074
49075         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
49076         instead of 'max'.
49077
49078 2009-05-08  Simon Josefsson  <simon@josefsson.org>
49079
49080         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
49081         sockaddr_storage test.
49082
49083 2009-05-07  Simon Josefsson  <simon@josefsson.org>
49084
49085         * modules/sys_socket (Makefile.am): Substitute
49086         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
49087         * m4/sys_socket_h.m4: Check for sockaddr_storage.
49088         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
49089         * tests/test-sys_socket.c: Check sockaddr_storage.
49090
49091 2009-05-08  Bruno Haible  <bruno@clisp.org>
49092
49093         New module 'alignof'.
49094         * lib/alignof.h: New file.
49095         * modules/alignof: New file.
49096
49097 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
49098             Bruno Haible  <bruno@clisp.org>
49099
49100         Fix test-file-has-acl on FreeBSD.
49101         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
49102         mask is implicitly added.
49103         * tests/test-file-has-acl.c: Include <signal.h>.
49104         (main): Terminate the test after 5 seconds.
49105         * modules/acl-tests (configure.ac): Check for alarm function.
49106
49107 2009-05-04  Bruno Haible  <bruno@clisp.org>
49108
49109         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
49110         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
49111         * modules/errno (configure.ac): Drop AC_REQUIRE.
49112         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
49113         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
49114
49115 2009-05-04  Simon Josefsson  <simon@josefsson.org>
49116
49117         * modules/glob-tests: New module.
49118         * tests/test-glob.c: Add.
49119
49120 2009-05-04  Simon Josefsson  <simon@josefsson.org>
49121
49122         * modules/fnmatch-tests: New module.
49123         * tests/test-fnmatch.c: Add.
49124
49125 2009-05-04  Eric Blake  <ebb9@byu.net>
49126
49127         maint: make the new no-submodule-changes rule VPATH-safe
49128         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
49129
49130 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
49131             Bruno Haible  <bruno@clisp.org>
49132
49133         acl: Fix infinite loop on FreeBSD.
49134         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
49135         of return value from acl_get_entry.
49136         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
49137         Likewise.
49138
49139 2009-05-03  Bruno Haible  <bruno@clisp.org>
49140
49141         * lib/acl-internal.h (acl_entries): Clarify return value.
49142         * lib/acl_entries.c (acl_entries): Likewise.
49143
49144 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
49145
49146         Bug fix in acl module.
49147         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
49148
49149 2009-05-03  Bruno Haible  <bruno@clisp.org>
49150
49151         Create gperf-generated file in the source dir, not in the build dir.
49152         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
49153         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
49154         * modules/unicase/locale-language (unicase/locale-languages.h):
49155         Likewise.
49156         * modules/unicase/special-casing (unicase/special-casing-table.h):
49157         Likewise.
49158         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
49159         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
49160         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
49161         Reported by Ralf Wildenhues.
49162
49163 2009-05-03  Bruno Haible  <bruno@clisp.org>
49164
49165         * modules/fnmatch (Description, configure.ac): Taken from
49166         fnmatch-posix.
49167         * modules/fnmatch-posix: Turn into a symbolic reference to the
49168         'fnmatch' module, and deprecate.
49169         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
49170
49171 2009-05-03  Bruno Haible  <bruno@clisp.org>
49172
49173         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
49174         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
49175         Reported by Ralf Wildenhues.
49176
49177 2009-05-04  Simon Josefsson  <simon@josefsson.org>
49178
49179         * m4/fnmatch.m4: Fix fnmatch re-define.
49180
49181 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
49182
49183         priv-set: new module and tests; adapt write-any-file
49184         * lib/priv-set.c: New file.
49185         * lib/priv-set.h: New file.
49186         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
49187         * lib/write-any-file.c: Simplify by using priv-set module.
49188         * m4/priv-set.m4: New file.
49189         * modules/priv-set: New file.
49190         * modules/unlinkdir: Add dependency on priv-set module.
49191         * modules/write-any-file: Likewise.
49192
49193         Tests for module 'priv-set'.
49194         * modules/priv-set-tests: New file.
49195         * tests/test-priv-set.c: New file.
49196
49197 2009-05-03  Jim Meyering  <meyering@redhat.com>
49198             Bruno Haible  <bruno@clisp.org>
49199
49200         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
49201         use the converted UTF-8 variant of the name instead.
49202
49203 2009-05-03  Jim Meyering  <meyering@redhat.com>
49204
49205         tests: tighten some getdate tests
49206         * tests/test-getdate.c (main): Tighten tests: require equality,
49207         not just greater than.  Set TZ envvar to UTC0.
49208
49209 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
49210
49211         getdate: correctly interpret "next monday" when run on a Monday
49212         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
49213         that e.g., "next tues" (when run on a tuesday) results in a date
49214         that is one week in the future, and not today's date.
49215         I.e., add a week when the wday is the same as the current one.
49216         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
49217         and earlier by Martin Bernreuther and Jan Minář.
49218         * tests/test-getdate.c (main): Check that "next DAY" is always in
49219         the future and that "last DAY" is always in the past.
49220
49221 2009-05-02  Jim Meyering  <meyering@redhat.com>
49222
49223         build: ensure that a release build fails when a submodule is unclean
49224         * top/maint.mk (no-submodule-changes): New rule.
49225         (alpha beta major): Depend on it.
49226
49227 2009-05-02  Bruno Haible  <bruno@clisp.org>
49228
49229         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
49230         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
49231         shell variable gl_fnmatch_required to detect which variant is
49232         requested.
49233         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
49234         gl_FUNC_FNMATCH_POSIX.
49235         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
49236         exclude fnmatch-posix.
49237
49238 2009-05-02  Bruno Haible  <bruno@clisp.org>
49239
49240         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
49241         * modules/mbsrtowcs (License): Change to LGPLv2+.
49242         * modules/strnlen1 (License): Likewise.
49243         Reported by Simon Josefsson.
49244
49245 2009-05-02  Bruno Haible  <bruno@clisp.org>
49246
49247         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
49248         "cross".
49249         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
49250         gnulib-tool was called with option --source-base=lib.
49251
49252 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49253
49254         Use automake *-local hooks without commands, for extensibility.
49255         * modules/localcharset (Makefile.am): Rename install-exec-local
49256         rule to install-exec-localcharset, and make it a prerequisite of
49257         install-exec-local.  Likewise, rename the uninstall-local rule to
49258         uninstall-localcharset, and make it a prerequisite of the former.
49259
49260 2009-05-01  Bruno Haible  <bruno@clisp.org>
49261
49262         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
49263         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
49264         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
49265         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
49266         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
49267         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
49268         m4/locale-zh.m4, m4/codeset.m4.
49269
49270         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
49271         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
49272         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
49273         m4/locale-zh.m4.
49274
49275         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
49276         REPLACE_WCRTOMB if mbstate_t must be replaced.
49277         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
49278         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
49279
49280 2009-05-01  Bruno Haible  <bruno@clisp.org>
49281
49282         Avoid compiler warnings when redefining macros defined by <libintl.h>.
49283         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
49284         dngettext, dcngettext, textdomain, bindtextdomain,
49285         bind_textdomain_codeset): Undefine before redefining.
49286
49287 2009-04-30  Bruno Haible  <bruno@clisp.org>
49288
49289         Fix bug introduced on 2009-04-25.
49290         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
49291         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
49292         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
49293         is defined.
49294         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
49295         is defined.
49296         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
49297         is defined.
49298         Reported by Elbert_Pol <elbert.pol@gmail.com>.
49299
49300 2009-04-28  Bruno Haible  <bruno@clisp.org>
49301
49302         Comment tweaks.
49303         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
49304         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
49305         * lib/unicase.h (u*_casexfrm): Likewise.
49306         Reported by Paolo Bonzini.
49307
49308 2009-04-28  Bruno Haible  <bruno@clisp.org>
49309
49310         Fix a compilation error.
49311         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
49312         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
49313         Reported by Jim Meyering.
49314
49315 2009-04-27  Bruno Haible  <bruno@clisp.org>
49316
49317         New module 'libunistring'.
49318         * modules/libunistring: New file.
49319         * m4/libunistring.m4: New file.
49320         * MODULES.html.sh (Unicode string functions): Add it.
49321
49322 2009-04-27  Eric Blake  <ebb9@byu.net>
49323
49324         maint.mk: allow package-specific header to provide <config.h>
49325         * top/maint.mk (sc_require_config_h): New variable.
49326         (sc_require_config_h, sc_require_config_h_first): Use it.
49327
49328 2009-04-27  Simon Josefsson  <simon@josefsson.org>
49329
49330         * top/maint.mk (sc_avoid_if_before_free): Except
49331         useless-if-before-free script.
49332
49333 2009-04-27  Eric Blake  <ebb9@byu.net>
49334
49335         maintainer-makefile: depend on all required helper scripts
49336         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
49337         useless-if-before-free.
49338         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
49339         version, rather than assuming gnulib checkout is available.
49340         Reported by Simen Josefsson.
49341
49342 2009-04-26  Bruno Haible  <bruno@clisp.org>
49343
49344         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
49345         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
49346         "../" or "..".
49347
49348 2009-04-26  Bruno Haible  <bruno@clisp.org>
49349
49350         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
49351         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
49352         AC_LIB_HAVE_LINKFLAGS.
49353
49354 2009-04-26  Bruno Haible  <bruno@clisp.org>
49355
49356         Simplify calling convention of u*_conv_from_encoding.
49357         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
49358         u32_conv_from_encoding): Expect a resultbuf argument and return the
49359         result directly as a pointer.
49360         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
49361         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
49362         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
49363         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
49364         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
49365         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
49366         Update.
49367         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
49368         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
49369         * lib/vasnprintf.c (VASNPRINTF): Update.
49370         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
49371         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
49372         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
49373         * NEWS: Mention the change.
49374
49375 2009-04-26  Bruno Haible  <bruno@clisp.org>
49376
49377         Simplify calling convention of u*_conv_to_encoding.
49378         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
49379         u32_conv_to_encoding): Expect a resultbuf argument and return the
49380         result directly as a pointer.
49381         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
49382         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
49383         freeing scaled_offsets if mem_iconveha failed.
49384         * lib/unicase/u-casexfrm.h (FUNC): Update.
49385         * lib/uninorm/u-normxfrm.h (FUNC): Update.
49386         * lib/vasnprintf.c (VASNPRINTF): Update.
49387         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
49388         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
49389         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
49390         * NEWS: Mention the change.
49391
49392 2009-04-26  Bruno Haible  <bruno@clisp.org>
49393
49394         Avoid test failures on AIX and OSF/1.
49395         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
49396         malloc(0).
49397         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
49398         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
49399         Likewise.
49400         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
49401         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
49402         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
49403         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
49404         * doc/posix-functions/malloc.texi: Document the portability problem
49405         related to malloc(0).
49406
49407 2009-04-26  Bruno Haible  <bruno@clisp.org>
49408
49409         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
49410         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
49411         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
49412
49413 2009-04-25  Bruno Haible  <bruno@clisp.org>
49414
49415         Avoid link error when creating a namespace clean library.
49416         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
49417         as macro with arguments if already defined as an alias.
49418         * lib/signbitf.c (gl_signbitf): Don't undefine.
49419         * lib/signbitd.c (gl_signbitd): Don't undefine.
49420         * lib/signbitl.c (gl_signbitl): Don't undefine.
49421
49422 2009-04-25  Jim Meyering  <meyering@redhat.com>
49423
49424         vc-list-files: fix another quoting bug
49425         * build-aux/vc-list-files: Avoid sed backslash expansion
49426         of pathological directory names.
49427
49428 2009-04-25  Eric Blake  <ebb9@byu.net>
49429
49430         vc-list-files: fix shell quoting error
49431         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
49432         timestamp.
49433
49434 2009-04-25  Jim Meyering  <meyering@redhat.com>
49435
49436         vc-list-files: restore lost functionality with subdir argument
49437         * build-aux/vc-list-files: When given a non-"." sub-directory
49438         argument, substitute the $dir/ prefix back onto each resulting name.
49439         Otherwise, coreutils' root_tests check would fail.
49440
49441 2009-04-24  Eric Blake  <ebb9@byu.net>
49442
49443         vc-list-files: ignore git symlinks
49444         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
49445         than ls-files, to ignore git symlinks.
49446
49447         maint.mk: import improvements from m4
49448         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
49449         (move_if_change): Delete unused macro.
49450         (news-date-check, vc-diff-check): Support VPATH builds.
49451         (announcement): Likewise.  Split --bootstrap-tools list...
49452         (boostrap-tools): ...into separate list, which can be overridden
49453         in cfg.mk.
49454         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
49455         requiring dependency on useless-if-before-free module.
49456         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
49457         Support VPATH builds.
49458
49459 2009-04-24  Jim Meyering  <meyering@redhat.com>
49460
49461         maint.mk: remove coreutils-specific rules and variables
49462         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
49463         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
49464         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
49465
49466         maint.mk: remove obsolete rule
49467         * top/maint.mk (rel-check): Remove rule.
49468         (WGET, WGETFLAGS): Remove now-unused variables.
49469
49470 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49471
49472         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
49473         consistency.
49474
49475         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
49476         '$(PATH_SEPARATOR)' instead of ':'.
49477
49478 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49479
49480         * lib/getopt1.c (main): Use 'const' for static array.
49481
49482 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49483
49484         * top/maint.mk: Sync with coreutils.
49485         * NEWS: Explain incompatibilities.
49486
49487 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49488             Bruno Haible  <bruno@clisp.org>
49489
49490         Fix cross-compilation results.
49491         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
49492         statement, as third argument of AC_TRY_RUN.
49493         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
49494         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
49495         Likewise.
49496         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
49497         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
49498         Likewise.
49499         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
49500         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
49501         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
49502
49503 2009-04-20  Bruno Haible  <bruno@clisp.org>
49504
49505         Avoid test failure on mingw.
49506         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
49507
49508 2009-04-20  Bruno Haible  <bruno@clisp.org>
49509
49510         Avoid compilation error on mingw.
49511         * modules/localename-tests (Depends-on): Add locale.
49512
49513 2009-04-19  Bruno Haible  <bruno@clisp.org>
49514
49515         Support for building a shared library on Windows platforms.
49516         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
49517         (main): Test the presence of UNINORM_NFC here.
49518         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
49519         (main): Test the presence of UNINORM_NFD here.
49520         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
49521         (main): Test the presence of UNINORM_NFKC here.
49522         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
49523         (main): Test the presence of UNINORM_NFKD here.
49524
49525 2009-04-19  Bruno Haible  <bruno@clisp.org>
49526
49527         Avoid a compiler warning.
49528         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
49529         Change type of variable 'sequence'.
49530
49531 2009-04-19  Bruno Haible  <bruno@clisp.org>
49532
49533         * modules/configmake (Makefile.am): When the contents of configmake.h
49534         does not change, arrange to preserve its modification time.
49535
49536 2009-04-17  Simon Josefsson  <simon@josefsson.org>
49537
49538         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
49539         gettext domain.
49540
49541 2009-04-16  Jim Meyering  <meyering@redhat.com>
49542
49543         useless-if-before-free: improve conversion code
49544         * build-aux/useless-if-before-free: Adjust code-in-comment to match
49545         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
49546
49547 2009-04-14  Bruno Haible  <bruno@clisp.org>
49548
49549         * modules/fcntl (Depends-on): Add extensions.
49550         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
49551
49552 2009-04-12  Ben Pfaff  <blp@gnu.org>
49553
49554         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
49555         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
49556
49557 2009-03-20  Ben Pfaff  <blp@gnu.org>
49558
49559         Make rename replace existing destinations on Windows.
49560         * m4/rename.m4: Add test for Mingw.
49561         * lib/rename.c: Add rename replacement that uses MoveFileEx with
49562         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
49563         * doc/posix-functions/rename.texi: Document.
49564
49565 2009-04-10  Bruno Haible  <bruno@clisp.org>
49566
49567         New include file "iconveh.h".
49568         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
49569         * lib/striconveh.h: Include it.
49570         (enum iconv_ilseq_handler): Remove definition.
49571         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
49572         striconveh.h.
49573         * lib/striconveha.c: Include striconveh.h.
49574         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
49575         * modules/striconveh (Files): Add lib/iconveh.h.
49576         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
49577         lib/striconveh.h.
49578
49579 2009-04-10  Bruno Haible  <bruno@clisp.org>
49580
49581         * lib/uniconv.h: Update comment.
49582
49583 2009-04-10  Bruno Haible  <bruno@clisp.org>
49584
49585         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
49586         always.
49587         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
49588         * lib/unistr/u16-mbtouc-aux.c: Likewise.
49589         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
49590         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
49591         "unistring-notinline.h", so that the function gets defined always.
49592         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
49593         * lib/unistr/u8-uctomb.c: Likewise.
49594         * lib/unistr/u16-mbtouc.c: Likewise.
49595         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
49596         * lib/unistr/u16-uctomb.c: Likewise.
49597         * lib/unistr/u32-mbtouc.c: Likewise.
49598         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
49599         * lib/unistr/u32-uctomb.c: Likewise.
49600
49601 2009-04-10  Bruno Haible  <bruno@clisp.org>
49602
49603         Mark 'utime' obsolete.
49604         * modules/utime (Status, Notice): New sections.
49605         Suggested by Jim Meyering.
49606
49607         Fix cross-compile guess for utime test.
49608         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
49609         autoconf.
49610         * doc/posix-functions/utime.texi: Give more precisions.
49611         Reported by Jan <ipif@ymail.com>.
49612
49613 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
49614
49615         filevercmp: correct today's change
49616         * lib/filevercmp.c: Also handle coreutils' test inputs.
49617         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
49618
49619         Fix regression in 'filevercmp' module. Thanks Sven Joachim
49620         for reporting it.
49621         * lib/filevercmp.c: Special handle for "", "." and "..".
49622         * tests/test-filevercmp.c: Enlarge the set suite.
49623
49624 2009-04-07  Jim Meyering  <meyering@redhat.com>
49625
49626         useless-if-before-free: show how to remove braced useless free, too
49627         * build-aux/useless-if-before-free: still only in a comment, though.
49628
49629 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
49630
49631         maint.mk: import changes to syntax-check macros from coreutils
49632         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
49633         Use them in the relevant macros.
49634
49635 2009-04-06  Bruno Haible  <bruno@clisp.org>
49636
49637         Fix unportable use of bit-fields.
49638         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
49639         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
49640         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
49641
49642 2009-04-06  Bruno Haible  <bruno@clisp.org>
49643
49644         Avoid test failures on AIX and OSF/1.
49645         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
49646         that malloc(0) = NULL.
49647         * tests/unicase/test-u8-tolower.c (check): Likewise.
49648         * tests/unicase/test-u8-totitle.c (check): Likewise.
49649         * tests/unicase/test-u8-toupper.c (check): Likewise.
49650         * tests/unicase/test-u16-casefold.c (check): Likewise.
49651         * tests/unicase/test-u16-tolower.c (check): Likewise.
49652         * tests/unicase/test-u16-totitle.c (check): Likewise.
49653         * tests/unicase/test-u16-toupper.c (check): Likewise.
49654         * tests/unicase/test-u32-casefold.c (check): Likewise.
49655         * tests/unicase/test-u32-tolower.c (check): Likewise.
49656         * tests/unicase/test-u32-totitle.c (check): Likewise.
49657         * tests/unicase/test-u32-toupper.c (check): Likewise.
49658         * tests/uninorm/test-u8-nfc.c (check): Likewise.
49659         * tests/uninorm/test-u8-nfd.c (check): Likewise.
49660         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
49661         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
49662         * tests/uninorm/test-u16-nfc.c (check): Likewise.
49663         * tests/uninorm/test-u16-nfd.c (check): Likewise.
49664         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
49665         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
49666         * tests/uninorm/test-u32-nfc.c (check): Likewise.
49667         * tests/uninorm/test-u32-nfd.c (check): Likewise.
49668         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
49669         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
49670
49671 2009-04-05  Bruno Haible  <bruno@clisp.org>
49672
49673         Work around an autoconf limitation.
49674         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
49675         comment line if it would be longer than 3 KB.
49676
49677 2009-04-05  Bruno Haible  <bruno@clisp.org>
49678
49679         Avoid test failure with libiconv-1.13.
49680         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
49681         of the expected test results.
49682
49683 2009-04-05  Bruno Haible  <bruno@clisp.org>
49684
49685         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
49686         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
49687         that it should be installed.
49688
49689 2009-04-05  Bruno Haible  <bruno@clisp.org>
49690
49691         * gnulib-tool: New option --copy-file.
49692         (func_usage): Document it.
49693         (func_dest_tmpfilename): Moved out of func_import.
49694         (func_add_file, func_update_file): New functions, extracted from
49695         func_import.
49696         (func_import): Update.
49697
49698 2009-04-05  Karl Berry  <karl@gnu.org>
49699
49700         * README: prominently mention gnulib-tool.
49701         Rearrange sections so getting the code is near the top.
49702
49703 2009-04-05  Bruno Haible  <bruno@clisp.org>
49704
49705         * lib/unicase.h: Mention u*_cmp2.
49706         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49707         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
49708         * lib/unicase/ulc-casecmp.c: Likewise.
49709         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
49710         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
49711         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
49712         unistr/u8-cmp.
49713         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
49714         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
49715         unistr/u16-cmp.
49716         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
49717         unistr/u32-cmp.
49718
49719         * lib/uninorm.h: Mention u*_cmp2.
49720         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49721         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
49722         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
49723         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
49724         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
49725         unistr/u8-cmp.
49726         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
49727         unistr/u16-cmp.
49728         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
49729         unistr/u32-cmp.
49730
49731         New module 'unistr/u32-cmp2'.
49732         * lib/unistr/u32-cmp2.c: New file.
49733         * modules/unistr/u32-cmp2: New file.
49734
49735         New module 'unistr/u16-cmp2'.
49736         * lib/unistr/u16-cmp2.c: New file.
49737         * modules/unistr/u16-cmp2: New file.
49738
49739         New module 'unistr/u8-cmp2'.
49740         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
49741         * lib/unistr/u8-cmp2.c: New file.
49742         * lib/unistr/u-cmp2.h: New file.
49743         * modules/unistr/u8-cmp2: New file.
49744
49745 2009-04-05  Bruno Haible  <bruno@clisp.org>
49746
49747         * lib/unictype.h (uc_property_is_valid): New macro.
49748         * tests/unictype/test-pr_byname.c (main): Use it.
49749
49750         * lib/unistr.h: Doc fixes.
49751         * lib/uniconv.h: Doc fixes.
49752         * lib/unictype.h: Doc fixes.
49753
49754 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
49755
49756         Port coreutils 7.2 to Solaris 8.
49757
49758         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
49759         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
49760         for Solaris 8.  This is a bit of a hack, as it means it's the
49761         caller's responsibility to add -lnsl if needed, but most likely it
49762         won't be needed since only getaddrinfo uses this and getaddrinfo
49763         isn't needed on Solaris 8.
49764
49765         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
49766         problem to Solaris 8 encountered with coreutils 7.2, which
49767         resulted in a message "fnmatch.c:292: warning: passing argument 4
49768         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
49769         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
49770
49771 2009-04-03  Simon Josefsson  <simon@josefsson.org>
49772
49773         * m4/ld-version-script.m4: Add FIXME comment.
49774
49775 2009-04-02  Simon Josefsson  <simon@josefsson.org>
49776
49777         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
49778         SOVERSION variable.
49779
49780 2009-04-02  Bruno Haible  <bruno@clisp.org>
49781
49782         * Makefile (info, html, dvi, pdf): Combine the rules.
49783         Suggested by Jim Meyering.
49784
49785 2009-04-01  Bruno Haible  <bruno@clisp.org>
49786
49787         * Makefile (info, html, dvi, pdf): New targets.
49788         Reported by Reuben Thomas <rrt@sc3d.org>.
49789
49790 2009-04-01  Bruno Haible  <bruno@clisp.org>
49791
49792         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
49793         can be put into PATH.
49794         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
49795
49796 2009-04-01  Bruno Haible  <bruno@clisp.org>
49797
49798         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
49799
49800 2009-04-01  Bruno Haible  <bruno@clisp.org>
49801
49802         Rename module 'visibility'.
49803         * modules/lib-symbol-visibility: Renamed from modules/visibility.
49804         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
49805         * doc/gnulib.texi: Update.
49806         * MODULES.html.sh (Misc): Update.
49807         * NEWS: Mention the change.
49808
49809 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49810
49811         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
49812         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
49813         Eric Blake <ebb9@byu.net> for review.
49814         * MODULES.html.sh: Add lib-msvc-compat.
49815         * doc/gnulib.texi: Link to new section.
49816         * m4/ld-output-def.m4: New file.
49817         * doc/ld-output-def.texi: New file.
49818
49819 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49820
49821         Rename ld-version-script to lib-symbol-versions.  Suggested by
49822         Bruno Haible <bruno@clisp.org>.
49823         * modules/ld-version-script: Renamed to lib-symbol-versions.
49824         * doc/ld-version-script.texi: Fix module name.
49825         * MODULES.html.sh: Add lib-symbol-versions.
49826
49827 2009-03-31  Simon Josefsson  <simon@josefsson.org>
49828
49829         * modules/u64-tests: New file.
49830         * tests/test-u64.c: New file.
49831
49832 2009-03-04  Simon Josefsson  <simon@josefsson.org>
49833
49834         * MODULES.html.sh: Mention u64.
49835         * modules/u64: New module.
49836         * modules/crypto/sha512: Depend on u64 module instead of providing
49837         u64.h.
49838
49839 2009-03-27  Eric Blake  <ebb9@byu.net>
49840
49841         test-strerror: make debugging EAI_SYSTEM easier
49842         * modules/getaddrinfo-tests (Depends-on): Add strerror.
49843         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
49844         failure was EAI_SYSTEM.
49845
49846 2009-03-25  Bruno Haible  <bruno@clisp.org>
49847
49848         Fix a problem with --enable-relocatable on Solaris 7.
49849         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
49850         since 2008-02-24.
49851
49852 2009-03-25  Eric Blake  <ebb9@byu.net>
49853
49854         test-sockets: avoid gcc warning
49855         * tests/test-sockets.c (main): Silence compiler warning.
49856
49857 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
49858
49859         New modules nproc, pthread, contributed by Glen Lenker.
49860
49861         * MODULES.html.sh: Add pthread, nproc.
49862         * lib/nproc.c: New file.
49863         * lib/nproc.h: New file.
49864         * lib/pthread.in.h: New file.
49865         * m4/pthread.m4: New file.
49866         * modules/nproc: New file.
49867         * modules/pthread: New file.
49868
49869 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49870
49871         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
49872         New variable.
49873
49874 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
49875
49876         filevercmp: handle simple~ and numbered.~3~ backup suffixes
49877         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
49878         * tests/test-filevercmp.c: Add tests for backup suffixes.
49879
49880 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49881
49882         * modules/stdlib (Depends-on): Add stdint, needed when defining
49883         struct random_data on, for example, HP-UX 10.20.  Reported by
49884         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49885
49886 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49887
49888         * lib/readline.c (readline): Call fflush on stdout after printing
49889         prompt.
49890
49891 2009-03-20  Bruno Haible  <bruno@clisp.org>
49892
49893         Remove dependency from 'close' module to -lws2_32 on native Windows.
49894         * lib/close-hook.h: New file.
49895         * lib/close-hook.c: New file.
49896         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
49897         w32sock.h.
49898         (_gl_close_fd_maybe_socket): Remove function.
49899         (rpl_close): Invoke execute_all_close_hooks instead of
49900         _gl_close_fd_maybe_socket.
49901         * lib/sockets.c: Include close-hook.h, w32sock.h.
49902         (close_fd_maybe_socket): New function, essentially from lib/close.c.
49903         (close_sockets_hook): New variable.
49904         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
49905         (gl_sockets_cleanup): Unregister it.
49906         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
49907         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
49908         * modules/close-hook: New file.
49909         * modules/close (Files): Remove lib/w32sock.h.
49910         (Depends-on): Add close-hook.
49911         (Link): Remove section.
49912         * modules/sockets (Files): Add lib/w32sock.h.
49913         (Depends-on): Add close-hook.
49914         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
49915         invocation.
49916         * NEWS: Mention that LIB_CLOSE is gone.
49917
49918 2009-03-23  Eric Blake  <ebb9@byu.net>
49919
49920         signal-tests: test previous patch
49921         * tests/test-signal.c: New file.
49922         * modules/signal-tests: Likewise.
49923
49924         signal.h: always support 'volatile sig_atomic_t'
49925         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
49926         (gl_SIGNAL_H_DEFAULTS): Add a default.
49927         * modules/signal (Makefile.am): Substitute if needed.
49928         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
49929         users can blindly add volatile.
49930         * doc/posix-headers/signal.texi (signal.h): Document it.
49931         Reported by Matthew Woehlke.
49932
49933 2009-03-23  Jim Meyering  <meyering@redhat.com>
49934
49935         pathmax: PATH_MAX: use pathconf only when available
49936         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
49937         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
49938         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
49939         This avoids a link failure in a PSP cross-compilation environment
49940         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
49941
49942         * lib/vasnprintf.c (divide): Fix typo in comment.
49943
49944 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49945
49946         * gnulib-tool (func_filter_filelist): Fix comment.
49947
49948 2009-03-20  Bruno Haible  <bruno@clisp.org>
49949
49950         Make sockets.h self-contained.
49951         * lib/sockets.c: Include sockets.h first.
49952         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
49953
49954 2009-03-19  Eric Blake  <ebb9@byu.net>
49955
49956         doc: mention more functions added in cygwin 1.7.0
49957         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
49958         addition.
49959         * doc/posix-functions/log2f.texi: Likewise.
49960
49961 2009-03-19  Jim Meyering  <meyering@redhat.com>
49962
49963         fsusage: avoid syntax error due to statement-before-declaration
49964         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
49965         after all declarations.  Reported by Matthew Woehlke in
49966         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
49967
49968 2009-03-18  Eric Blake  <ebb9@byu.net>
49969
49970         build-aux/compile: sync from automake
49971         * build-aux/compile: New file, from automake.
49972         * config/srclist.txt: Mention build-aux/compile.
49973
49974 2009-03-17  Bruno Haible  <bruno@clisp.org>
49975
49976         * lib/git-merge-changelog.c: Fix typo in comment.
49977         Reported by Reuben Thomas <rrt@sc3d.org>.
49978
49979 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
49980
49981         * m4/regex.m4: update and improve help for
49982         --without-included-regex.
49983
49984 2009-03-17  Simon Josefsson  <simon@josefsson.org>
49985
49986         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
49987         failure on missing include files.
49988
49989 2009-03-17  Eric Blake  <ebb9@byu.net>
49990
49991         doc: mention more functions added in cygwin 1.7.0
49992         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
49993         addition.
49994         * doc/posix-functions/fwscanf.texi: Likewise.
49995         * doc/posix-functions/swprintf.texi: Likewise.
49996         * doc/posix-functions/swscanf.texi: Likewise.
49997         * doc/posix-functions/vfwprintf.texi: Likewise.
49998         * doc/posix-functions/vfwscanf.texi: Likewise.
49999         * doc/posix-functions/vswprintf.texi: Likewise.
50000         * doc/posix-functions/vswscanf.texi: Likewise.
50001         * doc/posix-functions/vwprintf.texi: Likewise.
50002         * doc/posix-functions/vwscanf.texi: Likewise.
50003         * doc/posix-functions/wcscasecmp.texi: Likewise.
50004         * doc/posix-functions/wcsdup.texi: Likewise.
50005         * doc/posix-functions/wcsftime.texi: Likewise.
50006         * doc/posix-functions/wcsncasecmp.texi: Likewise.
50007         * doc/posix-functions/wprintf.texi: Likewise.
50008         * doc/posix-functions/wscanf.texi: Likewise.
50009         * doc/glibc-functions/gethostbyname2.texi: Likewise.
50010
50011 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50012
50013         maint.mk: really add $(AM_MAKEFLAGS)
50014         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
50015         was inadvertently omitted in the last commit.
50016         Spotted by Bruno Haible.
50017
50018         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
50019         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
50020         $(AM_MAKEFLAGS)' rather than plain `make'.
50021
50022         gnulib-tool: execute $MAKE not make
50023         * gnulib-tool: Default $MAKE to 'make'.
50024         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
50025         than make.  Initialize $MAKE in the do-autobuild script.
50026
50027         gnulib-tool: use $MAKE not make in generated files
50028         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
50029         make, in generated files.  Initialize $MAKE in the do-autobuild
50030         script.
50031
50032         * top/GNUmakefile (_have-git-version-gen): Fix typo.
50033
50034         GNUmakefile: disable parallelism only for multiple, recursive targets
50035         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
50036         additions in the Makefile.
50037         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
50038         by Automake.
50039         (.NOTPARALLEL): Only disable parallel builds if multiple targets
50040         are listed on the command line and at least one of them is
50041         listed in $(ALL_RECURSIVE_TARGETS).
50042
50043 2009-03-14  Bruno Haible  <bruno@clisp.org>
50044
50045         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
50046         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
50047         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
50048         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
50049         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
50050         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
50051         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
50052         unistr/u8-uctomb.
50053         * modules/unistr/u8-strchr (Depends-on): Likewise.
50054         * modules/unistr/u8-strrchr (Depends-on): Likewise.
50055         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
50056         unistr/u16-uctomb.
50057         * modules/unistr/u16-strchr (Depends-on): Likewise.
50058         * modules/unistr/u16-strrchr (Depends-on): Likewise.
50059
50060 2009-03-12  Bruno Haible  <bruno@clisp.org>
50061
50062         Work around select() bug on Interix 3.5.
50063         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
50064         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
50065         * m4/select.m4: New file.
50066         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
50067         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
50068         * modules/select (Files): Add m4/select.m4.
50069         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
50070         * modules/nanosleep (Depends-on): Add select.
50071         * modules/poll (Depends-on): Likewise.
50072         * doc/posix-functions/select.texi: Mention the Interix bug.
50073         Reported by Markus Duft <mduft@gentoo.org>.
50074
50075         * lib/select.c: Renamed from lib/winsock-select.c.
50076         * modules/select (Files): Add lib/select.c, remove
50077         lib/winsock-select.c.
50078         (configure.ac): Update.
50079
50080 2009-03-12  Jim Meyering  <meyering@redhat.com>
50081
50082         avoid gcc warnings about unused macro definitions
50083         * lib/readtokens.c (STREQ): Remove unused definition.
50084         * lib/xmalloc.c (SIZE_MAX): Likewise.
50085         * lib/openat-die.c (N_): Likewise.
50086         * lib/mountlist.c (SIZE_MAX): Remove definition.
50087         Instead, include <stdint.h>.
50088         * lib/readutmp.c: Likewise.
50089         * modules/readutmp (Depends-on): Add stdint.
50090         * modules/mountlist (Depends-on): Add stdint.
50091         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
50092
50093 2009-03-10  Bruno Haible  <bruno@clisp.org>
50094
50095         Tests for module 'mbmemcasecoll'.
50096         * modules/mbmemcasecoll-tests: New file.
50097         * tests/test-mbmemcasecoll1.sh: New file.
50098         * tests/test-mbmemcasecoll2.sh: New file.
50099         * tests/test-mbmemcasecoll3.sh: New file.
50100         * tests/test-mbmemcasecoll.c: New file.
50101
50102         New module 'mbmemcasecoll'.
50103         * lib/mbmemcasecoll.h: New file.
50104         * lib/mbmemcasecoll.c: New file.
50105         * modules/mbmemcasecoll: New file.
50106
50107         * tests/test-mbmemcasecmp.h: New file, extracted from
50108         tests/test-mbmemcasecmp.c.
50109         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
50110         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
50111         (main): Update.
50112         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
50113
50114 2009-03-09  Bruno Haible  <bruno@clisp.org>
50115
50116         Tests for module 'mbmemcasecmp'.
50117         * modules/mbmemcasecmp-tests: New file.
50118         * tests/test-mbmemcasecmp1.sh: New file.
50119         * tests/test-mbmemcasecmp2.sh: New file.
50120         * tests/test-mbmemcasecmp3.sh: New file.
50121         * tests/test-mbmemcasecmp.c: New file.
50122
50123         New module 'mbmemcasecmp'.
50124         * lib/mbmemcasecmp.h: New file.
50125         * lib/mbmemcasecmp.c: New file.
50126         * modules/mbmemcasecmp: New file.
50127
50128 2009-03-09  Bruno Haible  <bruno@clisp.org>
50129
50130         Tests for module 'unicase/ulc-casecoll'.
50131         * modules/unicase/ulc-casecoll-tests: New file.
50132         * tests/unicase/test-ulc-casecoll1.sh: New file.
50133         * tests/unicase/test-ulc-casecoll2.sh: New file.
50134         * tests/unicase/test-ulc-casecoll.c: New file.
50135
50136         New module 'unicase/ulc-casecoll'.
50137         * lib/unicase.h (ulc_casecoll): New declaration.
50138         * lib/unicase/ulc-casecoll.c: New file.
50139         * modules/unicase/ulc-casecoll: New file.
50140
50141         New module 'unicase/ulc-casexfrm'.
50142         * lib/unicase.h (ulc_casexfrm): New declaration.
50143         * lib/unicase/ulc-casexfrm.c: New file.
50144         * modules/unicase/ulc-casexfrm: New file.
50145
50146 2009-03-09  Bruno Haible  <bruno@clisp.org>
50147
50148         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
50149         invocations.
50150
50151         * m4/mbscasecmp.m4: Remove file.
50152         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
50153         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
50154
50155         * m4/mbscasestr.m4: Remove file.
50156         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
50157         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
50158
50159         * m4/mbschr.m4: Remove file.
50160         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
50161         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
50162
50163         * m4/mbscspn.m4: Remove file.
50164         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
50165         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
50166
50167         * m4/mbslen.m4: Remove file.
50168         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
50169         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
50170
50171         * m4/mbsncasecmp.m4: Remove file.
50172         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
50173         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
50174
50175         * m4/mbsnlen.m4: Remove file.
50176         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
50177         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
50178
50179         * m4/mbspbrk.m4: Remove file.
50180         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
50181         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
50182
50183         * m4/mbspcasecmp.m4: Remove file.
50184         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
50185         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
50186
50187         * m4/mbsrchr.m4: Remove file.
50188         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
50189         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
50190
50191         * m4/mbssep.m4: Remove file.
50192         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
50193         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
50194
50195         * m4/mbsspn.m4: Remove file.
50196         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
50197         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
50198
50199         * m4/mbsstr.m4: Remove file.
50200         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
50201         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
50202
50203         * m4/mbstok_r.m4: Remove file.
50204         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
50205         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
50206
50207         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
50208
50209         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
50210         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
50211
50212         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
50213
50214 2009-03-08  Bruno Haible  <bruno@clisp.org>
50215
50216         Tests for module 'unicase/ulc-casecmp'.
50217         * modules/unicase/ulc-casecmp-tests: New file.
50218         * tests/unicase/test-ulc-casecmp1.sh: New file.
50219         * tests/unicase/test-ulc-casecmp2.sh: New file.
50220         * tests/unicase/test-ulc-casecmp.c: New file.
50221
50222         New module 'unicase/ulc-casecmp'.
50223         * lib/unicase.h (ulc_casecmp): New declaration.
50224         * lib/unicase/ulc-casecmp.c: New file.
50225         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
50226         'const SRC_UNIT *'.
50227         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
50228         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
50229         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
50230         * modules/unicase/ulc-casecmp: New file.
50231
50232         Tests for module 'unicase/u32-is-cased'.
50233         * modules/unicase/u32-is-cased-tests: New file.
50234         * tests/unicase/test-u32-is-cased.c: New file.
50235
50236         Tests for module 'unicase/u16-is-cased'.
50237         * modules/unicase/u16-is-cased-tests: New file.
50238         * tests/unicase/test-u16-is-cased.c: New file.
50239
50240         Tests for module 'unicase/u8-is-cased'.
50241         * modules/unicase/u8-is-cased-tests: New file.
50242         * tests/unicase/test-u8-is-cased.c: New file.
50243         * tests/unicase/test-is-cased.h: New file.
50244
50245         New module 'unicase/u32-is-cased'.
50246         * lib/unicase/u32-is-cased.c: New file.
50247         * modules/unicase/u32-is-cased: New file.
50248
50249         New module 'unicase/u16-is-cased'.
50250         * lib/unicase/u16-is-cased.c: New file.
50251         * modules/unicase/u16-is-cased: New file.
50252
50253         New module 'unicase/u8-is-cased'.
50254         * lib/unicase/u8-is-cased.c: New file.
50255         * lib/unicase/u-is-cased.h: New file.
50256         * modules/unicase/u8-is-cased: New file.
50257
50258         Tests for module 'unicase/u32-is-casefolded'.
50259         * modules/unicase/u32-is-casefolded-tests: New file.
50260         * tests/unicase/test-u32-is-casefolded.c: New file.
50261
50262         Tests for module 'unicase/u16-is-casefolded'.
50263         * modules/unicase/u16-is-casefolded-tests: New file.
50264         * tests/unicase/test-u16-is-casefolded.c: New file.
50265
50266         Tests for module 'unicase/u8-is-casefolded'.
50267         * modules/unicase/u8-is-casefolded-tests: New file.
50268         * tests/unicase/test-u8-is-casefolded.c: New file.
50269         * tests/unicase/test-is-casefolded.h: New file.
50270
50271         New module 'unicase/u32-is-casefolded'.
50272         * lib/unicase/u32-is-casefolded.c: New file.
50273         * modules/unicase/u32-is-casefolded: New file.
50274
50275         New module 'unicase/u16-is-casefolded'.
50276         * lib/unicase/u16-is-casefolded.c: New file.
50277         * modules/unicase/u16-is-casefolded: New file.
50278
50279         New module 'unicase/u8-is-casefolded'.
50280         * lib/unicase/u8-is-casefolded.c: New file.
50281         * modules/unicase/u8-is-casefolded: New file.
50282
50283         Tests for module 'unicase/u32-is-titlecase'.
50284         * modules/unicase/u32-is-titlecase-tests: New file.
50285         * tests/unicase/test-u32-is-titlecase.c: New file.
50286
50287         Tests for module 'unicase/u16-is-titlecase'.
50288         * modules/unicase/u16-is-titlecase-tests: New file.
50289         * tests/unicase/test-u16-is-titlecase.c: New file.
50290
50291         Tests for module 'unicase/u8-is-titlecase'.
50292         * modules/unicase/u8-is-titlecase-tests: New file.
50293         * tests/unicase/test-u8-is-titlecase.c: New file.
50294         * tests/unicase/test-is-titlecase.h: New file.
50295
50296         New module 'unicase/u32-is-titlecase'.
50297         * lib/unicase/u32-is-titlecase.c: New file.
50298         * modules/unicase/u32-is-titlecase: New file.
50299
50300         New module 'unicase/u16-is-titlecase'.
50301         * lib/unicase/u16-is-titlecase.c: New file.
50302         * modules/unicase/u16-is-titlecase: New file.
50303
50304         New module 'unicase/u8-is-titlecase'.
50305         * lib/unicase/u8-is-titlecase.c: New file.
50306         * modules/unicase/u8-is-titlecase: New file.
50307
50308         Tests for module 'unicase/u32-is-lowercase'.
50309         * modules/unicase/u32-is-lowercase-tests: New file.
50310         * tests/unicase/test-u32-is-lowercase.c: New file.
50311
50312         Tests for module 'unicase/u16-is-lowercase'.
50313         * modules/unicase/u16-is-lowercase-tests: New file.
50314         * tests/unicase/test-u16-is-lowercase.c: New file.
50315
50316         Tests for module 'unicase/u8-is-lowercase'.
50317         * modules/unicase/u8-is-lowercase-tests: New file.
50318         * tests/unicase/test-u8-is-lowercase.c: New file.
50319         * tests/unicase/test-is-lowercase.h: New file.
50320
50321         New module 'unicase/u32-is-lowercase'.
50322         * lib/unicase/u32-is-lowercase.c: New file.
50323         * modules/unicase/u32-is-lowercase: New file.
50324
50325         New module 'unicase/u16-is-lowercase'.
50326         * lib/unicase/u16-is-lowercase.c: New file.
50327         * modules/unicase/u16-is-lowercase: New file.
50328
50329         New module 'unicase/u8-is-lowercase'.
50330         * lib/unicase/u8-is-lowercase.c: New file.
50331         * modules/unicase/u8-is-lowercase: New file.
50332
50333         Tests for module 'unicase/u32-is-uppercase'.
50334         * modules/unicase/u32-is-uppercase-tests: New file.
50335         * tests/unicase/test-u32-is-uppercase.c: New file.
50336
50337         Tests for module 'unicase/u16-is-uppercase'.
50338         * modules/unicase/u16-is-uppercase-tests: New file.
50339         * tests/unicase/test-u16-is-uppercase.c: New file.
50340
50341         Tests for module 'unicase/u8-is-uppercase'.
50342         * modules/unicase/u8-is-uppercase-tests: New file.
50343         * tests/unicase/test-u8-is-uppercase.c: New file.
50344         * tests/unicase/test-is-uppercase.h: New file.
50345
50346         New module 'unicase/u32-is-uppercase'.
50347         * lib/unicase/u32-is-uppercase.c: New file.
50348         * modules/unicase/u32-is-uppercase: New file.
50349
50350         New module 'unicase/u16-is-uppercase'.
50351         * lib/unicase/u16-is-uppercase.c: New file.
50352         * modules/unicase/u16-is-uppercase: New file.
50353
50354         New module 'unicase/u8-is-uppercase'.
50355         * lib/unicase/u8-is-uppercase.c: New file.
50356         * modules/unicase/u8-is-uppercase: New file.
50357
50358         New module 'unicase/u32-is-invariant'.
50359         * lib/unicase/u32-is-invariant.c: New file.
50360         * modules/unicase/u32-is-invariant: New file.
50361
50362         New module 'unicase/u16-is-invariant'.
50363         * lib/unicase/u16-is-invariant.c: New file.
50364         * modules/unicase/u16-is-invariant: New file.
50365
50366         New module 'unicase/u8-is-invariant'.
50367         * lib/unicase/u8-is-invariant.c: New file.
50368         * lib/unicase/invariant.h: New file.
50369         * lib/unicase/u-is-invariant.h: New file.
50370         * modules/unicase/u8-is-invariant: New file.
50371
50372         Tests for module 'unicase/u32-casecoll'.
50373         * modules/unicase/u32-casecoll-tests: New file.
50374         * tests/unicase/test-u32-casecoll.c: New file.
50375
50376         Tests for module 'unicase/u16-casecoll'.
50377         * modules/unicase/u16-casecoll-tests: New file.
50378         * tests/unicase/test-u16-casecoll.c: New file.
50379
50380         Tests for module 'unicase/u8-casecoll'.
50381         * modules/unicase/u8-casecoll-tests: New file.
50382         * tests/unicase/test-u8-casecoll.c: New file.
50383
50384         New module 'unicase/u32-casecoll'.
50385         * lib/unicase/u32-casecoll.c: New file.
50386         * modules/unicase/u32-casecoll: New file.
50387
50388         New module 'unicase/u16-casecoll'.
50389         * lib/unicase/u16-casecoll.c: New file.
50390         * modules/unicase/u16-casecoll: New file.
50391
50392         New module 'unicase/u8-casecoll'.
50393         * lib/unicase/u8-casecoll.c: New file.
50394         * lib/unicase/u-casecoll.h: New file.
50395         * modules/unicase/u8-casecoll: New file.
50396
50397         New module 'unicase/u32-casexfrm'.
50398         * lib/unicase/u32-casexfrm.c: New file.
50399         * modules/unicase/u32-casexfrm: New file.
50400
50401         New module 'unicase/u16-casexfrm'.
50402         * lib/unicase/u16-casexfrm.c: New file.
50403         * modules/unicase/u16-casexfrm: New file.
50404
50405         New module 'unicase/u8-casexfrm'.
50406         * lib/unicase/u8-casexfrm.c: New file.
50407         * lib/unicase/u-casexfrm.h: New file.
50408         * modules/unicase/u8-casexfrm: New file.
50409
50410         Tests for module 'unicase/u32-casecmp'.
50411         * modules/unicase/u32-casecmp-tests: New file.
50412         * tests/unicase/test-u32-casecmp.c: New file.
50413
50414         Tests for module 'unicase/u16-casecmp'.
50415         * modules/unicase/u16-casecmp-tests: New file.
50416         * tests/unicase/test-u16-casecmp.c: New file.
50417
50418         Tests for module 'unicase/u8-casecmp'.
50419         * modules/unicase/u8-casecmp-tests: New file.
50420         * tests/unicase/test-u8-casecmp.c: New file.
50421         * tests/unicase/test-casecmp.h: New file.
50422
50423         New module 'unicase/u32-casecmp'.
50424         * lib/unicase/u32-casecmp.c: New file.
50425         * modules/unicase/u32-casecmp: New file.
50426
50427         New module 'unicase/u16-casecmp'.
50428         * lib/unicase/u16-casecmp.c: New file.
50429         * modules/unicase/u16-casecmp: New file.
50430
50431         New module 'unicase/u8-casecmp'.
50432         * lib/unicase/u8-casecmp.c: New file.
50433         * lib/unicase/u-casecmp.h: New file.
50434         * modules/unicase/u8-casecmp: New file.
50435
50436         Tests for module 'unicase/u32-casefold'.
50437         * modules/unicase/u32-casefold-tests: New file.
50438         * tests/unicase/test-u32-casefold.c: New file.
50439
50440         Tests for module 'unicase/u16-casefold'.
50441         * modules/unicase/u16-casefold-tests: New file.
50442         * tests/unicase/test-u16-casefold.c: New file.
50443
50444         Tests for module 'unicase/u8-casefold'.
50445         * modules/unicase/u8-casefold-tests: New file.
50446         * tests/unicase/test-u8-casefold.c: New file.
50447
50448         New module 'unicase/u32-casefold'.
50449         * lib/unicase/u32-casefold.c: New file.
50450         * modules/unicase/u32-casefold: New file.
50451
50452         New module 'unicase/u16-casefold'.
50453         * lib/unicase/u16-casefold.c: New file.
50454         * modules/unicase/u16-casefold: New file.
50455
50456         New module 'unicase/u8-casefold'.
50457         * lib/unicase/u8-casefold.c: New file.
50458         * lib/unicase/u-casefold.h: New file.
50459         * modules/unicase/u8-casefold: New file.
50460
50461         New module 'unicase/tocasefold'.
50462         * lib/unicase/casefold.h: New file.
50463         * lib/unicase/tocasefold.c: New file.
50464         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
50465         * modules/unicase/tocasefold: New file.
50466
50467         Tests for module 'unicase/u32-totitle'.
50468         * modules/unicase/u32-totitle-tests: New file.
50469         * tests/unicase/test-u32-totitle.c: New file.
50470
50471         Tests for module 'unicase/u16-totitle'.
50472         * modules/unicase/u16-totitle-tests: New file.
50473         * tests/unicase/test-u16-totitle.c: New file.
50474
50475         Tests for module 'unicase/u8-totitle'.
50476         * modules/unicase/u8-totitle-tests: New file.
50477         * tests/unicase/test-u8-totitle.c: New file.
50478
50479         New module 'unicase/u32-totitle'.
50480         * lib/unicase/u32-totitle.c: New file.
50481         * modules/unicase/u32-totitle: New file.
50482
50483         New module 'unicase/u16-totitle'.
50484         * lib/unicase/u16-totitle.c: New file.
50485         * modules/unicase/u16-totitle: New file.
50486
50487         New module 'unicase/u8-totitle'.
50488         * lib/unicase/u8-totitle.c: New file.
50489         * lib/unicase/u-totitle.h: New file.
50490         * modules/unicase/u8-totitle: New file.
50491
50492         Tests for module 'unicase/u32-tolower'.
50493         * modules/unicase/u32-tolower-tests: New file.
50494         * tests/unicase/test-u32-tolower.c: New file.
50495
50496         Tests for module 'unicase/u16-tolower'.
50497         * modules/unicase/u16-tolower-tests: New file.
50498         * tests/unicase/test-u16-tolower.c: New file.
50499
50500         Tests for module 'unicase/u8-tolower'.
50501         * modules/unicase/u8-tolower-tests: New file.
50502         * tests/unicase/test-u8-tolower.c: New file.
50503
50504         New module 'unicase/u32-tolower'.
50505         * lib/unicase/u32-tolower.c: New file.
50506         * modules/unicase/u32-tolower: New file.
50507
50508         New module 'unicase/u16-tolower'.
50509         * lib/unicase/u16-tolower.c: New file.
50510         * modules/unicase/u16-tolower: New file.
50511
50512         New module 'unicase/u8-tolower'.
50513         * lib/unicase/u8-tolower.c: New file.
50514         * modules/unicase/u8-tolower: New file.
50515
50516         Tests for module 'unicase/u32-toupper'.
50517         * modules/unicase/u32-toupper-tests: New file.
50518         * tests/unicase/test-u32-toupper.c: New file.
50519
50520         Tests for module 'unicase/u16-toupper'.
50521         * modules/unicase/u16-toupper-tests: New file.
50522         * tests/unicase/test-u16-toupper.c: New file.
50523
50524         Tests for module 'unicase/u8-toupper'.
50525         * modules/unicase/u8-toupper-tests: New file.
50526         * tests/unicase/test-u8-toupper.c: New file.
50527
50528         New module 'unicase/u32-toupper'.
50529         * lib/unicase/u32-toupper.c: New file.
50530         * modules/unicase/u32-toupper: New file.
50531
50532         New module 'unicase/u16-toupper'.
50533         * lib/unicase/u16-toupper.c: New file.
50534         * modules/unicase/u16-toupper: New file.
50535
50536         New module 'unicase/u8-toupper'.
50537         * lib/unicase/u8-toupper.c: New file.
50538         * modules/unicase/u8-toupper: New file.
50539
50540         New module 'unicase/u32-casemap'.
50541         * lib/unicase/u32-casemap.c: New file.
50542         * modules/unicase/u32-casemap: New file.
50543
50544         New module 'unicase/u16-casemap'.
50545         * lib/unicase/u16-casemap.c: New file.
50546         * modules/unicase/u16-casemap: New file.
50547
50548         New module 'unicase/u8-casemap'.
50549         * lib/unicase/unicasemap.h: New file.
50550         * lib/unicase/u8-casemap.c: New file.
50551         * lib/unicase/u-casemap.h: New file.
50552         * modules/unicase/u8-casemap: New file.
50553
50554         New module 'unicase/special-casing'.
50555         * lib/unicase/special-casing.h: New file.
50556         * lib/unicase/special-casing.c: New file.
50557         * lib/unicase/special-casing-table.gperf: New file, generated by
50558         gen-uni-tables.c.
50559         * modules/unicase/special-casing: New file.
50560
50561         Tests for module 'unicase/locale-language'.
50562         * modules/unicase/locale-language-tests: New file.
50563         * tests/unicase/test-locale-language.sh: New file.
50564         * tests/unicase/test-locale-language.c: New file.
50565
50566         New module 'unicase/locale-language'.
50567         * lib/unicase/locale-language.c: New file.
50568         * lib/unicase/locale-languages.gperf: New file.
50569         * modules/unicase/locale-language: New file.
50570
50571         Generate more tables for case conversion and case folding.
50572         * lib/gen-uni-tables.c (SCC_*): New enum items.
50573         (struct special_casing_rule): New type.
50574         (casing_rules, num_casing_rules, allocated_casing_rules): New
50575         variables.
50576         (add_casing_rule, fill_casing_rules): New functions.
50577         (struct casefold_rule): New type.
50578         (casefolding_rules, num_casefolding_rules,
50579         allocated_casefolding_rules): New variables.
50580         (fill_casefolding_rules): New function.
50581         (unicode_casefold): New variable.
50582         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
50583         sort_casing_rules, output_casing_rules): New functions.
50584         (main): Accept to more arguments: SpecialCasing.txt and
50585         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
50586         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
50587         Output mapping for casefolding.
50588
50589         * lib/unicase.h: Include stdbool.h, uninorm.h.
50590         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
50591         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
50592         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
50593         arguments.
50594         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
50595         resultp arguments.
50596         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
50597         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
50598         resultp arguments.
50599         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
50600         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
50601         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
50602         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
50603         declarations.
50604         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
50605
50606 2009-03-08  Bruno Haible  <bruno@clisp.org>
50607
50608         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50609         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
50610         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
50611         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50612
50613 2009-03-07  Bruno Haible  <bruno@clisp.org>
50614
50615         Adjust u*_normcmp, u*_normcoll API.
50616         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50617         u16_normcoll, u32_normcoll): Change failure conventions.
50618         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
50619         errno and return -1.
50620         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50621
50622 2009-03-07  Bruno Haible  <bruno@clisp.org>
50623
50624         Tests for module 'uninorm/u32-normcoll'.
50625         * modules/uninorm/u32-normcoll-tests: New file.
50626         * tests/uninorm/test-u32-normcoll.c: New file.
50627
50628         Tests for module 'uninorm/u16-normcoll'.
50629         * modules/uninorm/u16-normcoll-tests: New file.
50630         * tests/uninorm/test-u16-normcoll.c: New file.
50631
50632         Tests for module 'uninorm/u8-normcoll'.
50633         * modules/uninorm/u8-normcoll-tests: New file.
50634         * tests/uninorm/test-u8-normcoll.c: New file.
50635
50636 2009-03-07  Bruno Haible  <bruno@clisp.org>
50637
50638         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
50639         tests/uninorm/test-u32-normcmp.c.
50640         * tests/uninorm/test-u32-normcmp.c: Include it.
50641         (test_nonascii): New function, extracted from main. Add some more
50642         tests.
50643         (main): Invoke test_ascii and test_nonascii.
50644         * modules/uninorm/u32-normcmp-tests (Files): Add
50645         tests/uninorm/test-u32-normcmp.h.
50646         (Depends-on): Remove uninorm/u32-normcmp.
50647
50648         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
50649         tests/uninorm/test-u16-normcmp.c.
50650         * tests/uninorm/test-u16-normcmp.c: Include it.
50651         (test_nonascii): New function, extracted from main. Add some more
50652         tests.
50653         (main): Invoke test_ascii and test_nonascii.
50654         * modules/uninorm/u16-normcmp-tests (Files): Add
50655         tests/uninorm/test-u16-normcmp.h.
50656         (Depends-on): Remove uninorm/u16-normcmp.
50657
50658         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
50659         tests/uninorm/test-u8-normcmp.c.
50660         * tests/uninorm/test-u8-normcmp.c: Include it.
50661         (test_nonascii): New function, extracted from main. Add some more
50662         tests.
50663         (main): Invoke test_ascii and test_nonascii.
50664         * modules/uninorm/u8-normcmp-tests (Files): Add
50665         tests/uninorm/test-u8-normcmp.h.
50666         (Depends-on): Remove uninorm/u8-normcmp.
50667
50668 2009-03-07  Bruno Haible  <bruno@clisp.org>
50669
50670         New module 'uninorm/u32-normcoll'.
50671         * lib/uninorm/u32-normcoll.c: New file.
50672         * modules/uninorm/u32-normcoll: New file.
50673
50674         New module 'uninorm/u16-normcoll'.
50675         * lib/uninorm/u16-normcoll.c: New file.
50676         * modules/uninorm/u16-normcoll: New file.
50677
50678         New module 'uninorm/u8-normcoll'.
50679         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
50680         declarations.
50681         * lib/uninorm/u8-normcoll.c: New file.
50682         * lib/uninorm/u-normcoll.h: New file.
50683         * modules/uninorm/u8-normcoll: New file.
50684
50685         New module 'uninorm/u32-normxfrm'.
50686         * lib/uninorm/u32-normxfrm.c: New file.
50687         * modules/uninorm/u32-normxfrm: New file.
50688
50689         New module 'uninorm/u16-normxfrm'.
50690         * lib/uninorm/u16-normxfrm.c: New file.
50691         * modules/uninorm/u16-normxfrm: New file.
50692
50693         New module 'uninorm/u8-normxfrm'.
50694         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
50695         declarations.
50696         * lib/uninorm/u8-normxfrm.c: New file.
50697         * lib/uninorm/u-normxfrm.h: New file.
50698         * modules/uninorm/u8-normxfrm: New file.
50699
50700 2009-03-07  Bruno Haible  <bruno@clisp.org>
50701
50702         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
50703         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
50704         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
50705
50706 2009-03-07  Bruno Haible  <bruno@clisp.org>
50707
50708         New module 'memxfrm'.
50709         * lib/memxfrm.h: New file.
50710         * lib/memxfrm.c: New file.
50711         * modules/memxfrm: New file.
50712
50713 2009-03-07  Bruno Haible  <bruno@clisp.org>
50714
50715         New module 'memcmp2'.
50716         * lib/memcmp2.h: New file.
50717         * lib/memcmp2.c: New file.
50718         * modules/memcmp2: New file.
50719
50720 2009-03-07  Bruno Haible  <bruno@clisp.org>
50721
50722         Tests for module 'uninorm/decomposing-form'.
50723         * modules/uninorm/decomposing-form-tests: New file.
50724         * tests/uninorm/test-decomposing-form.c: New file.
50725
50726         New module 'uninorm/decomposing-form'.
50727         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
50728         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
50729         Add 'decomposing_variant' field.
50730         * lib/uninorm/decomposing-form.c: New file.
50731         * lib/uninorm/nfc.c (uninorm_nfc): Update.
50732         * lib/uninorm/nfd.c (uninorm_nfd): Update.
50733         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
50734         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
50735         * modules/uninorm/decomposing-form: New file.
50736         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
50737         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
50738
50739 2009-03-07  Bruno Haible  <bruno@clisp.org>
50740
50741         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
50742         strings.
50743
50744 2009-03-06  Bruno Haible  <bruno@clisp.org>
50745
50746         Tests for module 'uninorm/u32-normcmp'.
50747         * tests/uninorm/test-u32-normcmp.c: New file.
50748         * modules/uninorm/u32-normcmp-tests: New file.
50749
50750         Tests for module 'uninorm/u16-normcmp'.
50751         * tests/uninorm/test-u16-normcmp.c: New file.
50752         * modules/uninorm/u16-normcmp-tests: New file.
50753
50754         Tests for module 'uninorm/u8-normcmp'.
50755         * tests/uninorm/test-u8-normcmp.c: New file.
50756         * modules/uninorm/u8-normcmp-tests: New file.
50757
50758         New module 'uninorm/u32-normcmp'.
50759         * lib/uninorm/u32-normcmp.c: New file.
50760         * modules/uninorm/u32-normcmp: New file.
50761
50762         New module 'uninorm/u16-normcmp'.
50763         * lib/uninorm/u16-normcmp.c: New file.
50764         * modules/uninorm/u16-normcmp: New file.
50765
50766         New module 'uninorm/u8-normcmp'.
50767         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
50768         declarations.
50769         * lib/uninorm/u8-normcmp.c: New file.
50770         * lib/uninorm/u-normcmp.h: New file.
50771         * modules/uninorm/u8-normcmp: New file.
50772
50773 2009-03-06  Bruno Haible  <bruno@clisp.org>
50774
50775         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
50776         Reported by Eric Blake.
50777
50778 2009-03-06  Eric Blake  <ebb9@byu.net>
50779             Bruno Haible  <bruno@clisp.org>
50780
50781         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
50782         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
50783         condition.
50784         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50785         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
50786         condition.
50787         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50788
50789 2009-03-06  Eric Blake  <ebb9@byu.net>
50790
50791         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
50792         to avoid compiler warnings.
50793         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
50794
50795 2009-03-05  Bruno Haible  <bruno@clisp.org>
50796
50797         * tests/test-ftell.c (main): Disable test beyond end of file on
50798         FreeMiNT.
50799         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50800
50801 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
50802
50803         * lib/filevercmp.c: Move hidden files up in ordering.
50804         * tests/test-filevercmp.c: Add tests for hidden files.
50805
50806 2009-03-04  Bruno Haible  <bruno@clisp.org>
50807
50808         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
50809         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
50810         AM_CFLAGS.
50811         Reported by Simon Josefsson.
50812
50813 2009-03-03  Bruno Haible  <bruno@clisp.org>
50814
50815         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
50816         Reported by Simon Josefsson.
50817
50818         * doc/ld-version-script.texi: Update node reference.
50819
50820 2009-03-03  Bruno Haible  <bruno@clisp.org>
50821
50822         * modules/visibility (License): Change to 'unlimited'.
50823         Suggested by Simon Josefsson.
50824
50825 2009-03-03  Jim Meyering  <meyering@redhat.com>
50826
50827         unlinkdir: cannot_unlink_dir may modify process state
50828         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
50829         it's neither thread-safe nor appropriate for use in a library.
50830
50831 2009-03-03  Eric Blake  <ebb9@byu.net>
50832
50833         test-closein: silence test under Darwin
50834         * tests/test-closein.sh: Ignore stderr from cat, since we don't
50835         care if it dies from EPIPE or EBADF.
50836
50837 2009-03-03  Bruno Haible  <bruno@clisp.org>
50838
50839         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
50840         earlier.
50841         * doc/visibility.texi: Fix @node and @section.
50842
50843 2009-03-03  Simon Josefsson  <simon@josefsson.org>
50844
50845         * doc/gnulib.texi: Link to sections for ld version script and
50846         visibility.
50847         * doc/visibility.texi: Add @node and @section.
50848         * modules/ld-version-script: New module.
50849         * m4/ld-version-script.m4: New file.
50850         * doc/ld-version-script.texi: New file.
50851
50852 2009-03-02  David Lutterkort  <lutter@redhat.com>
50853
50854         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
50855         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50856
50857 2009-03-02  Bruno Haible  <bruno@clisp.org>
50858
50859         * doc/visibility.texi: Mention libtool's -export-symbols option.
50860
50861 2009-03-02  Jim Meyering  <meyering@redhat.com>
50862
50863         announce-gen: new option: --no-print-checksums
50864         * build-aux/announce-gen (usage): Describe it.
50865         (print_checksums): Print a newline here, not in the [*] footnote.
50866         (main): Honor it.
50867
50868 2009-03-01  Bruno Haible  <bruno@clisp.org>
50869
50870         Use socklen_t in the native Windows replacements prototypes.
50871         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
50872         instead of 'int'.
50873         * lib/getsockopt.c (rpl_getsockopt): Likewise.
50874         * lib/setsockopt.c (rpl_setsockopt): Likewise.
50875         * modules/getsockopt (Depends-on): Add socklen.
50876         * modules/setsockopt (Depends-on): Add socklen.
50877
50878 2009-03-01  Bruno Haible  <bruno@clisp.org>
50879
50880         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
50881         least 4.2.
50882
50883 2009-03-01  Eric Blake  <ebb9@byu.net>
50884             Bruno Haible  <bruno@clisp.org>
50885
50886         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
50887         error messages.
50888         * lib/wait-process.c (wait_subprocess): Omit error message about
50889         deadly signal sent to the child of termsigp != NULL.
50890
50891 2009-03-01  Eric Blake  <ebb9@byu.net>
50892
50893         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
50894
50895 2009-03-01  Bruno Haible  <bruno@clisp.org>
50896
50897         Avoid a gcc warning.
50898         * tests/test-sched.c (b): Make global.
50899         Reported by Eric Blake.
50900
50901 2009-01-19  Martin Lambers  <marlam@marlam.de>
50902
50903         Provide POSIX semantics for socket timeout options on W32.
50904         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
50905         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
50906         * modules/setsockopt: Depend on sys_time module for struct timeval.
50907         * modules/getsockopt: Depend on sys_time module for struct timeval.
50908
50909 2009-03-01  Simon Josefsson  <simon@josefsson.org>
50910
50911         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
50912         __USE_GNU, for consistency with netdb.in.h.
50913         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50914
50915 2009-03-01  Bruno Haible  <bruno@clisp.org>
50916
50917         More support for FreeMiNT.
50918         * lib/fseeko.c (rpl_fseeko): Complete last commit.
50919         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50920
50921 2009-03-01  Bruno Haible  <bruno@clisp.org>
50922
50923         More support for FreeMiNT.
50924         * lib/fpurge.c (fpurge): Correct last commit.
50925         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50926
50927 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50928
50929         Fix unportable awk script in vc-list-files.
50930         * build-aux/vc-list-files: In the replacement awk script, use
50931         substr with a second argument of 1, not zero.
50932         Report by Simon Josefsson.
50933
50934 2009-02-28  Bruno Haible  <bruno@clisp.org>
50935
50936         More support for FreeMiNT.
50937         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
50938         to FreeMiNT today.
50939         * lib/fwriting.c (fwriting): Likewise.
50940         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
50941
50942 2009-02-28  Bruno Haible  <bruno@clisp.org>
50943
50944         * tests/test-freadseek.c (main): Disable test beyond end of file on
50945         FreeMiNT.
50946         * tests/test-ftello.c (main): Likewise.
50947         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50948
50949 2009-02-28  Bruno Haible  <bruno@clisp.org>
50950
50951         Add tentative support for FreeMiNT.
50952         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
50953         * lib/fpurge.c (fpurge): Likewise.
50954         * lib/freadable.c (freadable): Likewise.
50955         * lib/freading.c (freading): Likewise.
50956         * lib/freadptr.c (freadptr): Likewise.
50957         * lib/freadseek.c (freadptrinc): Likewise.
50958         * lib/fseeko.c (rpl_fseeko): Likewise.
50959         * lib/fseterr.c (fseterr): Likewise.
50960         * lib/fwritable.c (fwritable): Likewise.
50961         * lib/fwriting.c (fwriting): Likewise.
50962         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
50963         Hourihane.
50964         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50965
50966 2009-02-28  Bruno Haible  <bruno@clisp.org>
50967
50968         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
50969         SIGCHLD.
50970         Reported by Jim Meyering.
50971
50972 2009-02-28  Bruno Haible  <bruno@clisp.org>
50973
50974         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
50975         Mention the results of these tests on various platforms.
50976         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
50977         order.
50978         * doc/posix-functions/printf.texi: Likewise.
50979         * doc/posix-functions/snprintf.texi: Likewise.
50980         * doc/posix-functions/sprintf.texi: Likewise.
50981         * doc/posix-functions/vfprintf.texi: Likewise.
50982         * doc/posix-functions/vprintf.texi: Likewise.
50983         * doc/posix-functions/vsnprintf.texi: Likewise.
50984         * doc/posix-functions/vsprintf.texi: Likewise.
50985         * doc/glibc-functions/obstack_printf.texi: Likewise.
50986         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
50987
50988 2009-02-28  Bruno Haible  <bruno@clisp.org>
50989
50990         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
50991         Reported by Loïc Minier <lool@dooz.org>.
50992
50993 2009-02-27  Bruno Haible  <bruno@clisp.org>
50994
50995         * gnulib-tool (func_import): Make the sed expression used to create the
50996         sed script for updating the .gitignore file POSIX compliant.
50997         Reported by Eric Blake.
50998
50999 2009-02-27  Bruno Haible  <bruno@clisp.org>
51000
51001         * gnulib-tool (sed): Don't alias as "sed --posix".
51002         Reported by Eric Blake.
51003
51004 2009-02-27  Bruno Haible  <bruno@clisp.org>
51005
51006         Avoid test link errors.
51007         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
51008         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
51009         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
51010         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
51011         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51012
51013 2009-02-27  Bruno Haible  <bruno@clisp.org>
51014
51015         Avoid spurious "(cached)" in configure output.
51016         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
51017         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
51018         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
51019         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
51020         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
51021         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
51022         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
51023         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
51024         Reported by Eric Blake.
51025
51026 2009-02-27  Eric Blake  <ebb9@byu.net>
51027
51028         printf: fix regression in previous patch
51029         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
51030
51031 2009-02-27  Bruno Haible  <bruno@clisp.org>
51032
51033         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
51034         value.
51035         * lib/stdint.in.h: Likewise.
51036         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
51037
51038 2009-02-27  Eric Blake  <ebb9@byu.net>
51039
51040         doc: mention more functions added in cygwin 1.7.0
51041         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
51042         addition.
51043         * doc/posix-functions/open_wmemstream.texi: Likewise.
51044         * doc/posix-functions/wcsnlen.texi: Likewise.
51045         * doc/posix-functions/wcsnrtombs.texi: Likewise.
51046         * doc/posix-functions/wcstod.texi: Likewise.
51047         * doc/posix-functions/wcstof.texi: Likewise.
51048         * doc/posix-functions/wcstoimax.texi: Likewise.
51049         * doc/posix-functions/wcstok.texi: Likewise.
51050         * doc/posix-functions/wcstoumax.texi: Likewise.
51051
51052         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
51053         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
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
51065 2009-02-26  Eric Blake  <ebb9@byu.net>
51066
51067         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
51068         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
51069         compilation bug by using runtime conversion.
51070         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
51071         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
51072         * modules/ceill-tests (Files): Use nan.h.
51073         * modules/floorl-tests (Files): Likewise.
51074         * modules/frexpl-tests (Files): Likewise.
51075         * modules/isnanl-tests (Files): Likewise.
51076         * modules/ldexpl-tests (Files): Likewise.
51077         * modules/roundl-tests (Files): Likewise.
51078         * modules/truncl-tests (Files): Likewise.
51079         * tests/test-ceill.c (main): Use a working NaN.
51080         * tests/test-floorl.c (main): Likewise.
51081         * tests/test-frexpl.c (main): Likewise.
51082         * tests/test-isnan.c (test_long_double): Likewise.
51083         * tests/test-isnanl.h (main): Likewise.
51084         * tests/test-ldexpl.h (main): Likewise.
51085         * tests/test-roundl.h (main): Likewise.
51086         * tests/test-truncl.h (main): Likewise.
51087         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
51088
51089 2009-02-26  Eric Blake  <ebb9@byu.net>
51090             Bruno Haible  <bruno@clisp.org>
51091
51092         Work around a *printf bug with %ls on Solaris.
51093         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
51094         precision is specified, sprintf stops converting the wide string
51095         argument when the number of bytes that have been produced by this
51096         conversion equals or exceeds the precision.
51097         * doc/posix-functions/fprintf.texi: Update.
51098         * doc/posix-functions/printf.texi: Update.
51099         * doc/posix-functions/snprintf.texi: Update.
51100         * doc/posix-functions/sprintf.texi: Update.
51101         * doc/posix-functions/vfprintf.texi: Update.
51102         * doc/posix-functions/vprintf.texi: Update.
51103         * doc/posix-functions/vsnprintf.texi: Update.
51104         * doc/posix-functions/vsprintf.texi: Update.
51105         * doc/glibc-functions/obstack_printf.texi: Update.
51106         * doc/glibc-functions/obstack_vprintf.texi: Update.
51107
51108 2009-02-26  Eric Blake  <ebb9@byu.net>
51109
51110         stdlib: favor compiler check of random.h
51111         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
51112         to avoid an ObjC random.h installed by Swarm.
51113
51114 2009-02-26  Bruno Haible  <bruno@clisp.org>
51115
51116         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
51117         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
51118         Reported by Gary V. Vaughan <gary@gnu.org>.
51119
51120 2009-02-26  Bruno Haible  <bruno@clisp.org>
51121
51122         Fix *printf behaviour regarding the %ls directive.
51123         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
51124         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
51125         NEED_PRINTF_DIRECTIVE_LS.
51126         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
51127         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
51128         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
51129         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
51130         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
51131         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
51132         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
51133         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51134         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51135         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51136         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51137         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
51138         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51139         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51140         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51141         * doc/posix-functions/fprintf.texi: Update.
51142         * doc/posix-functions/printf.texi: Update.
51143         * doc/posix-functions/snprintf.texi: Update.
51144         * doc/posix-functions/sprintf.texi: Update.
51145         * doc/posix-functions/vfprintf.texi: Update.
51146         * doc/posix-functions/vprintf.texi: Update.
51147         * doc/posix-functions/vsnprintf.texi: Update.
51148         * doc/posix-functions/vsprintf.texi: Update.
51149         * doc/glibc-functions/obstack_printf.texi: Update.
51150         * doc/glibc-functions/obstack_vprintf.texi: Update.
51151         Reported by Eric Blake.
51152
51153 2009-02-25  Bruno Haible  <bruno@clisp.org>
51154
51155         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
51156         with known value.
51157         Reported by Gary V. Vaughan <gary@gnu.org>.
51158
51159 2009-02-25  Bruno Haible  <bruno@clisp.org>
51160
51161         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
51162         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
51163         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
51164         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
51165         Reported by Gary V. Vaughan <gary@gnu.org>.
51166
51167 2009-02-25  Bruno Haible  <bruno@clisp.org>
51168
51169         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
51170         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
51171         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
51172         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
51173         Reported by Gary V. Vaughan <gary@gnu.org>.
51174
51175 2009-02-25  Eric Blake  <ebb9@byu.net>
51176
51177         tests: skip fseek/ftell tests if ungetc is broken
51178         * m4/ungetc.m4: New file.
51179         * modules/fseek-tests: Split test, so ungetc dependency is
51180         separate from rest of test.
51181         * modules/fseeko-tests: Likewise.
51182         * modules/ftell-tests: Likewise.
51183         * modules/ftello-tests: Likewise.
51184         * tests/test-fseek.c (main): Isolate ungetc dependency.
51185         * tests/test-fseeko.c (main): Likewise.
51186         * tests/test-ftell.c (main): Likewise.
51187         * tests/test-ftello.c (main): Likewise.
51188         * tests/test-fseek2.sh: New file.
51189         * tests/test-fseeko2.sh: Likewise.
51190         * tests/test-ftell2.sh: Likewise.
51191         * tests/test-ftello2.sh: Likewise.
51192
51193 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
51194
51195         test-getaddrinfo: fix usage of skip return code 77
51196         * tests/test-gettaddrinfo.c: Return skip code 77 only
51197         for first occurrence of skip (4x77 is not 77)
51198
51199 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
51200
51201         strtod: avoid C99 decl-after-statement
51202         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
51203
51204 2009-02-24  Eric Blake  <ebb9@byu.net>
51205
51206         strtod: detect HP-UX 11.31 bug
51207         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
51208         Reported by Gary V. Vaughan.
51209
51210 2009-02-23  Bruno Haible  <bruno@clisp.org>
51211
51212         Fix invalid read past end of memory block.
51213         * lib/vasnprintf.c (DCHAR_SET): Define.
51214         (local_wcslen): Define only when needed.
51215         (local_strnlen, local_wcsnlen): New functions.
51216         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
51217         directives that involve a conversion ourselves.
51218         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
51219         wcsnlen, mbrtowc, wcrtomb.
51220         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
51221         * tests/test-vasprintf-posix.c (test_function): Likewise.
51222         * tests/test-snprintf-posix.h (test_function): Likewise.
51223         * tests/test-sprintf-posix.h (test_function): Likewise.
51224         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51225
51226 2009-02-22  Bruno Haible  <bruno@clisp.org>
51227
51228         Implement new clarified decomposition of Hangul syllables.
51229         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
51230         of type LTV, return only a pairwise decomposition.
51231         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
51232         Likewise.
51233         * tests/uninorm/test-decomposition.c (main): Updated expected result.
51234         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
51235         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
51236
51237 2009-02-22  Bruno Haible  <bruno@clisp.org>
51238
51239         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
51240         zero-length results and shrink excess allocated memory.
51241         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
51242         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
51243         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
51244         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
51245         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
51246         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
51247         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
51248         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
51249         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
51250         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
51251         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
51252         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
51253
51254 2009-02-21  Bruno Haible  <bruno@clisp.org>
51255
51256         * doc/gnulib.texi: Include safe-alloc.texi earlier.
51257         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
51258         spaces after a period. Put a space between a macro name and its
51259         argument list. Trivial rewordings.
51260         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
51261         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
51262         (main): Return 0 explicitly.
51263
51264 2009-02-21  Bruno Haible  <bruno@clisp.org>
51265
51266         Tests for module 'uninorm/filter'.
51267         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
51268         * modules/uninorm/filter-tests: New file.
51269
51270         New module 'uninorm/filter'.
51271         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
51272         uninorm_filter_flush, uninorm_filter_free): New declarations.
51273         * lib/uninorm/uninorm-filter.c: New file.
51274         * modules/uninorm/filter: New file.
51275
51276 2009-02-21  Bruno Haible  <bruno@clisp.org>
51277
51278         Tests for module 'uninorm/nfkc'.
51279         * tests/uninorm/test-nfkc.c: New file.
51280         * tests/uninorm/test-u8-nfkc.c: New file.
51281         * tests/uninorm/test-u16-nfkc.c: New file.
51282         * tests/uninorm/test-u32-nfkc.c: New file.
51283         * tests/uninorm/test-u32-nfkc-big.sh: New file.
51284         * tests/uninorm/test-u32-nfkc-big.c: New file.
51285         * modules/uninorm/nfkc-tests: New file.
51286
51287         New module 'uninorm/nfkc'.
51288         * lib/uninorm/nfkc.c: New file.
51289         * modules/uninorm/nfkc: New file.
51290
51291         Tests for module 'uninorm/nfkd'.
51292         * tests/uninorm/test-nfkd.c: New file.
51293         * tests/uninorm/test-u8-nfkd.c: New file.
51294         * tests/uninorm/test-u16-nfkd.c: New file.
51295         * tests/uninorm/test-u32-nfkd.c: New file.
51296         * tests/uninorm/test-u32-nfkd-big.sh: New file.
51297         * tests/uninorm/test-u32-nfkd-big.c: New file.
51298         * modules/uninorm/nfkd-tests: New file.
51299
51300         New module 'uninorm/nfkd'.
51301         * lib/uninorm/nfkd.c: New file.
51302         * modules/uninorm/nfkd: New file.
51303
51304         Tests for module 'uninorm/nfc'.
51305         * tests/uninorm/test-nfc.c: New file.
51306         * tests/uninorm/test-u8-nfc.c: New file.
51307         * tests/uninorm/test-u16-nfc.c: New file.
51308         * tests/uninorm/test-u32-nfc.c: New file.
51309         * tests/uninorm/test-u32-nfc-big.sh: New file.
51310         * tests/uninorm/test-u32-nfc-big.c: New file.
51311         * modules/uninorm/nfc-tests: New file.
51312
51313         New module 'uninorm/nfc'.
51314         * lib/uninorm/nfc.c: New file.
51315         * modules/uninorm/nfc: New file.
51316
51317         Tests for module 'uninorm/nfd'.
51318         * tests/uninorm/test-nfd.c: New file.
51319         * tests/uninorm/test-u8-nfd.c: New file.
51320         * tests/uninorm/test-u16-nfd.c: New file.
51321         * tests/uninorm/test-u32-nfd.c: New file.
51322         * tests/uninorm/test-u32-nfd-big.sh: New file.
51323         * tests/uninorm/test-u32-nfd-big.c: New file.
51324         * tests/uninorm/test-u32-normalize-big.h: New file.
51325         * tests/uninorm/test-u32-normalize-big.c: New file.
51326         * tests/uninorm/NormalizationTest.txt: New file, created from
51327         Unicode 5.1.0 NormalizationTest.txt.
51328         * modules/uninorm/nfd-tests: New file.
51329
51330         New module 'uninorm/nfd'.
51331         * lib/uninorm/nfd.c: New file.
51332         * modules/uninorm/nfd: New file.
51333
51334         New module 'uninorm/u32-normalize'.
51335         * lib/uninorm/u32-normalize.c: New file.
51336         * modules/uninorm/u32-normalize: New file.
51337
51338         New module 'uninorm/u16-normalize'.
51339         * lib/uninorm/u16-normalize.c: New file.
51340         * modules/uninorm/u16-normalize: New file.
51341
51342         New module 'uninorm/u8-normalize'.
51343         * lib/uninorm/u8-normalize.c: New file.
51344         * lib/uninorm/normalize-internal.h: New file.
51345         * lib/uninorm/u-normalize-internal.h: New file.
51346         * modules/uninorm/u8-normalize: New file.
51347
51348         New module 'uninorm/decompose-internal'.
51349         * lib/uninorm/decompose-internal.c: New file.
51350         * modules/uninorm/decompose-internal: New file.
51351
51352         Tests for module 'uninorm/composition'.
51353         * tests/uninorm/test-composition.c: New file.
51354         * modules/uninorm/composition-tests: New file.
51355
51356         New module 'uninorm/composition'.
51357         * lib/uninorm/composition.c: New file.
51358         * lib/uninorm/composition-table.gperf: New file, generated by
51359         gen-uni-tables.
51360         * modules/uninorm/composition: New file.
51361
51362         Tests for module 'uninorm/compat-decomposition'.
51363         * tests/uninorm/test-compat-decomposition.c: New file.
51364         * modules/uninorm/compat-decomposition-tests: New file.
51365
51366         New module 'uninorm/compat-decomposition'.
51367         * lib/uninorm/decompose-internal.h: New file.
51368         * lib/uninorm/compat-decomposition.c: New file.
51369         * modules/uninorm/compat-decomposition: New file.
51370
51371         Tests for module 'uninorm/canonical-decomposition'.
51372         * tests/uninorm/test-canonical-decomposition.c: New file.
51373         * modules/uninorm/canonical-decomposition-tests: New file.
51374
51375         New module 'uninorm/canonical-decomposition'.
51376         * lib/uninorm/canonical-decomposition.c: New file.
51377         * modules/uninorm/canonical-decomposition: New file.
51378
51379         Tests for module 'uninorm/decomposition'.
51380         * tests/uninorm/test-decomposition.c: New file.
51381         * modules/uninorm/decomposition-tests: New file.
51382
51383         New module 'uninorm/decomposition'.
51384         * lib/uninorm/decomposition.c: New file.
51385         * modules/uninorm/decomposition: New file.
51386
51387         New module 'uninorm/decomposition-table'.
51388         * lib/uninorm/decomposition-table.h: New file.
51389         * lib/uninorm/decomposition-table.c: New file.
51390         * lib/uninorm/decomposition-table1.h: New file, generated by
51391         gen-uni-tables.
51392         * lib/uninorm/decomposition-table2.h: New file, generated by
51393         gen-uni-tables.
51394         * modules/uninorm/decomposition-table: New file.
51395
51396         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
51397         (UC_DECOMP_*): New enumeration items.
51398         (get_decomposition): New function.
51399         (struct decomp_table): New type.
51400         (output_decomposition, output_decomposition_tables): New functions.
51401         (unicode_composition_exclusions): New variable.
51402         (fill_composition_exclusions, debug_output_composition_tables): New
51403         functions.
51404         (main): Accept one more argument. Invoke fill_composition_exclusions.
51405         Output decomposition and composition tables.
51406
51407         New module 'uninorm/base'.
51408         * lib/uninorm.h: New file.
51409         * lib/unictype.h: Update comment.
51410         * modules/uninorm/base: New file.
51411
51412 2009-02-21  David Lutterkort  <lutter@redhat.com>
51413
51414         Tests for module 'safe-alloc'.
51415         * tests/test-safe-alloc.c: New file.
51416         * modules/safe-alloc-tests: New file.
51417
51418         New module 'safe-alloc'.
51419         * lib/safe-alloc.h: New file.
51420         * lib/safe-alloc.c: New file.
51421         * m4/safe-alloc.m4: New file.
51422         * modules/safe-alloc: New file.
51423         * doc/safe-alloc.texi: New file.
51424         * doc/gnulib.texi: Include it.
51425         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
51426         safe-alloc.
51427
51428 2009-02-18  Bruno Haible  <bruno@clisp.org>
51429
51430         Fix link error on non-glibc systems.
51431         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
51432         variable.
51433         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51434
51435 2009-02-18  Jim Meyering  <meyering@redhat.com>
51436
51437         fts: avoid used-uninitialized error due to recent change
51438         * lib/fts.c (fts_read): Guard uses of the new member,
51439         parent->fts_n_dirs_remaining, since it's not relevant for
51440         the parent of a directory specified on the command-line.
51441
51442 2009-02-17  James Youngman  <jay@gnu.org>
51443             Bruno Haible  <bruno@clisp.org>
51444
51445         * m4/include_next.m4: Reformulate comment.
51446
51447 2009-02-16  Jim Meyering  <meyering@redhat.com>
51448
51449         fts: add #if guards so that the fts_lgpl module still builds
51450         * lib/fts.c: Guard just-added hash-table-using parts with
51451         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
51452         Reported by Simon Josefsson.
51453
51454 2009-02-15  Bruno Haible  <bruno@clisp.org>
51455
51456         * modules/array-mergesort-tests: New file.
51457         * tests/test-array-mergesort.c: New file.
51458
51459         New module 'array-mergesort'.
51460         * modules/array-mergesort: New file.
51461         * lib/array-mergesort.h: New file.
51462
51463 2009-02-15  Bruno Haible  <bruno@clisp.org>
51464
51465         Fix 2009-02-07 commit.
51466         * lib/gen-uni-tables.c (output_predicate, output_category,
51467         output_combclass, output_bidi_category, output_decimal_digit,
51468         output_digit, output_numeric, output_mirror, output_scripts,
51469         output_ident_category, output_simple_mapping): Fix format directives.
51470         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
51471
51472 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
51473
51474         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
51475         fixes are available from IBM.
51476
51477 2009-02-13  Jim Meyering  <meyering@redhat.com>
51478
51479         fts: arrange not to stat non-directories in more cases
51480         This makes GNU find (when it doesn't need to stat each file)
51481         *much* more efficient at traversing reiserfs file systems.
51482         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
51483         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
51484         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
51485         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
51486         (leaf_optimization_applies): New function.
51487         (LCO_hash, LCO_compare): New helper functions.
51488         (link_count_optimize_ok): New function.
51489         (fts_stat): Initialize new member (if dir).
51490         (fts_read): Decrement parent's fts_n_dirs_remaining count if
51491         we've just stat'ed a directory.  Skip the stat call when possible.
51492         ---
51493         Note this AFS-related exchange:
51494         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
51495         and note find's pioctl call in find/fstype.c.
51496         But that is necessary only if you want to enable the
51497         optimization for AFS, and for now, I don't.
51498
51499         fts: move a function definition "up" (no semantic change)
51500         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
51501         "up" to precede upcoming use of a related function.
51502
51503 2009-02-11  Jim Meyering  <meyering@redhat.com>
51504
51505         fts: correct internal computation of nlinks (optimization-related)
51506         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
51507         whether the current entry is a directory, so don't test it.
51508
51509 2009-02-10  Bruno Haible  <bruno@clisp.org>
51510
51511         Tests for module 'uniwbrk/ulc-wordbreaks'.
51512         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
51513         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
51514         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
51515
51516         Tests for module 'uniwbrk/u32-wordbreaks'.
51517         * modules/uniwbrk/u32-wordbreaks-tests: New file.
51518         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
51519
51520         Tests for module 'uniwbrk/u16-wordbreaks'.
51521         * modules/uniwbrk/u16-wordbreaks-tests: New file.
51522         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
51523
51524         Tests for module 'uniwbrk/u8-wordbreaks'.
51525         * modules/uniwbrk/u8-wordbreaks-tests: New file.
51526         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
51527
51528 2009-02-10  Bruno Haible  <bruno@clisp.org>
51529
51530         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
51531         property.
51532         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
51533         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
51534         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
51535
51536 2009-02-10  Simon Josefsson  <simon@josefsson.org>
51537
51538         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
51539         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
51540
51541 2009-02-10  Bruno Haible  <bruno@clisp.org>
51542
51543         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
51544         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
51545         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
51546         * lib/unilbrk/u8-possible-linebreaks.c: Update.
51547         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
51548         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
51549
51550 2009-02-09  Simon Josefsson  <simon@josefsson.org>
51551
51552         * lib/sockets.h (gl_fd_to_handle): New function.
51553
51554         * tests/test-sockets.c: Call gl_fd_to_handle.
51555
51556 2009-02-09  Bruno Haible  <bruno@clisp.org>
51557
51558         * doc/havelib.texi: Document the conventions on bi-arch systems.
51559
51560 2009-02-08  Bruno Haible  <bruno@clisp.org>
51561
51562         Document the AC_LIB_LINKFLAGS macro.
51563         * doc/havelib.texi: New file, mostly written on 2005-05-24.
51564         * doc/gnulib.texi: Include it.
51565
51566 2009-02-08  Bruno Haible  <bruno@clisp.org>
51567
51568         Fix wrong order of sections, compared to TOC.
51569         * doc/gnulib.texi: Include relocatable-maint.texi after the
51570         "Regular expressions" node, not before.
51571
51572 2009-02-08  Bruno Haible  <bruno@clisp.org>
51573
51574         Tests for module 'unicase/totitle'.
51575         * modules/unicase/totitle-tests: New file.
51576
51577         Tests for module 'unicase/tolower'.
51578         * modules/unicase/tolower-tests: New file.
51579
51580         Tests for module 'unicase/toupper'.
51581         * modules/unicase/toupper-tests: New file.
51582         * tests/unicase/test-mapping-part1.h: New file.
51583         * tests/unicase/test-mapping-part2.h: New file.
51584
51585         New module 'unicase/totitle'.
51586         * modules/unicase/totitle: New file.
51587         * lib/unicase/totitle.c: New file.
51588
51589         New module 'unicase/tolower'.
51590         * modules/unicase/tolower: New file.
51591         * lib/unicase/tolower.c: New file.
51592
51593         New module 'unicase/toupper'.
51594         * modules/unicase/toupper: New file.
51595         * lib/unicase/toupper.c: New file.
51596         * lib/unicase/simple-mapping.h: New file.
51597
51598         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
51599         (mapping_table): New structure.
51600         (output_simple_mapping): New function.
51601         (main): Invoke output_simple_mapping_test and output_simple_mapping.
51602         * modules/gen-uni-tables (Description): Update.
51603         * lib/unicase/toupper.h: New file, automatically generated by
51604         gen-uni-tables.
51605         * lib/unicase/tolower.h: New file, automatically generated by
51606         gen-uni-tables.
51607         * lib/unicase/totitle.h: New file, automatically generated by
51608         gen-uni-tables.
51609         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
51610         gen-uni-tables.
51611         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
51612         gen-uni-tables.
51613         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
51614         gen-uni-tables.
51615
51616         New module 'unicase/base'.
51617         * modules/unicase/base: New file.
51618         * lib/unicase.h: New file.
51619
51620 2009-02-08  Bruno Haible  <bruno@clisp.org>
51621
51622         New module 'uniwbrk/ulc-wordbreaks'.
51623         * modules/uniwbrk/ulc-wordbreaks: New file.
51624         * lib/uniwbrk/ulc-wordbreaks.c: New file.
51625
51626         New module 'uniwbrk/u32-wordbreaks'.
51627         * modules/uniwbrk/u32-wordbreaks: New file.
51628         * lib/uniwbrk/u32-wordbreaks.c: New file.
51629
51630         New module 'uniwbrk/u16-wordbreaks'.
51631         * modules/uniwbrk/u16-wordbreaks: New file.
51632         * lib/uniwbrk/u16-wordbreaks.c: New file.
51633
51634         New module 'uniwbrk/u8-wordbreaks'.
51635         * modules/uniwbrk/u8-wordbreaks: New file.
51636         * lib/uniwbrk/u8-wordbreaks.c: New file.
51637         * lib/uniwbrk/u-wordbreaks.h: New file.
51638
51639         New module 'uniwbrk/table'.
51640         * modules/uniwbrk/table: New file.
51641         * lib/uniwbrk/wbrktable.h: New file.
51642         * lib/uniwbrk/wbrktable.c: New file.
51643
51644         New module 'uniwbrk/wordbreak-property'.
51645         * modules/uniwbrk/wordbreak-property: New file.
51646         * lib/uniwbrk/wordbreak-property.c: New file.
51647
51648         * lib/gen-uni-tables.c (WBP_*): New enum items.
51649         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
51650         (unicode_org_wbp): New variable.
51651         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
51652         New functions.
51653         (wbp_table): New structure.
51654         (output_wbp, output_wbrk_tables): New functions.
51655         (main): Accept additional argument. Invoke fill_org_wbp,
51656         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
51657         output_wbrk_tables.
51658         * modules/gen-uni-tables (Description): Update.
51659         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
51660         gen-uni-tables.
51661
51662         New module 'uniwbrk/base'.
51663         * modules/uniwbrk/base: New file.
51664         * lib/uniwbrk.h: New file.
51665
51666 2009-02-08  Bruno Haible  <bruno@clisp.org>
51667
51668         Update to Unicode 5.1.0.
51669         * lib/gen-uni-tables.c (is_property_alphabetic): Include
51670         U+2185..U+2188.
51671         (is_property_default_ignorable_code_point): Don't include characters
51672         of category Cc or Cs and not-a-characters.
51673         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
51674         U+0D79, U+109E, U+109F, U+A60C.
51675         * lib/unictype/bidi_of.h: Regenerated.
51676         * lib/unictype/blocks.h: Regenerated.
51677         * lib/unictype/categ_C.h: Regenerated.
51678         * lib/unictype/categ_Cf.h: Regenerated.
51679         * lib/unictype/categ_Cn.h: Regenerated.
51680         * lib/unictype/categ_L.h: Regenerated.
51681         * lib/unictype/categ_Ll.h: Regenerated.
51682         * lib/unictype/categ_Lm.h: Regenerated.
51683         * lib/unictype/categ_Lo.h: Regenerated.
51684         * lib/unictype/categ_Lu.h: Regenerated.
51685         * lib/unictype/categ_M.h: Regenerated.
51686         * lib/unictype/categ_Mc.h: Regenerated.
51687         * lib/unictype/categ_Me.h: Regenerated.
51688         * lib/unictype/categ_Mn.h: Regenerated.
51689         * lib/unictype/categ_N.h: Regenerated.
51690         * lib/unictype/categ_Nd.h: Regenerated.
51691         * lib/unictype/categ_Nl.h: Regenerated.
51692         * lib/unictype/categ_No.h: Regenerated.
51693         * lib/unictype/categ_P.h: Regenerated.
51694         * lib/unictype/categ_Pd.h: Regenerated.
51695         * lib/unictype/categ_Pe.h: Regenerated.
51696         * lib/unictype/categ_Pf.h: Regenerated.
51697         * lib/unictype/categ_Pi.h: Regenerated.
51698         * lib/unictype/categ_Po.h: Regenerated.
51699         * lib/unictype/categ_Ps.h: Regenerated.
51700         * lib/unictype/categ_S.h: Regenerated.
51701         * lib/unictype/categ_Sk.h: Regenerated.
51702         * lib/unictype/categ_Sm.h: Regenerated.
51703         * lib/unictype/categ_So.h: Regenerated.
51704         * lib/unictype/categ_of.h: Regenerated.
51705         * lib/unictype/combining.h: Regenerated.
51706         * lib/unictype/ctype_alnum.h: Regenerated.
51707         * lib/unictype/ctype_alpha.h: Regenerated.
51708         * lib/unictype/ctype_graph.h: Regenerated.
51709         * lib/unictype/ctype_lower.h: Regenerated.
51710         * lib/unictype/ctype_print.h: Regenerated.
51711         * lib/unictype/ctype_punct.h: Regenerated.
51712         * lib/unictype/ctype_upper.h: Regenerated.
51713         * lib/unictype/decdigit.h: Regenerated.
51714         * lib/unictype/digit.h: Regenerated.
51715         * lib/unictype/mirror.h: Regenerated.
51716         * lib/unictype/numeric.h: Regenerated.
51717         * lib/unictype/pr_alphabetic.h: Regenerated.
51718         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
51719         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
51720         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
51721         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
51722         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
51723         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
51724         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
51725         * lib/unictype/pr_combining.h: Regenerated.
51726         * lib/unictype/pr_dash.h: Regenerated.
51727         * lib/unictype/pr_decimal_digit.h: Regenerated.
51728         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
51729         * lib/unictype/pr_deprecated.h: Regenerated.
51730         * lib/unictype/pr_diacritic.h: Regenerated.
51731         * lib/unictype/pr_extender.h: Regenerated.
51732         * lib/unictype/pr_format_control.h: Regenerated.
51733         * lib/unictype/pr_grapheme_base.h: Regenerated.
51734         * lib/unictype/pr_grapheme_extend.h: Regenerated.
51735         * lib/unictype/pr_grapheme_link.h: Regenerated.
51736         * lib/unictype/pr_id_continue.h: Regenerated.
51737         * lib/unictype/pr_id_start.h: Regenerated.
51738         * lib/unictype/pr_ideographic.h: Regenerated.
51739         * lib/unictype/pr_ignorable_control.h: Regenerated.
51740         * lib/unictype/pr_lowercase.h: Regenerated.
51741         * lib/unictype/pr_math.h: Regenerated.
51742         * lib/unictype/pr_numeric.h: Regenerated.
51743         * lib/unictype/pr_other_alphabetic.h: Regenerated.
51744         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
51745         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
51746         * lib/unictype/pr_other_id_continue.h: Regenerated.
51747         * lib/unictype/pr_other_lowercase.h: Regenerated.
51748         * lib/unictype/pr_other_math.h: Regenerated.
51749         * lib/unictype/pr_punctuation.h: Regenerated.
51750         * lib/unictype/pr_sentence_terminal.h: Regenerated.
51751         * lib/unictype/pr_soft_dotted.h: Regenerated.
51752         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
51753         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
51754         * lib/unictype/pr_unified_ideograph.h: Regenerated.
51755         * lib/unictype/pr_uppercase.h: Regenerated.
51756         * lib/unictype/pr_xid_continue.h: Regenerated.
51757         * lib/unictype/pr_xid_start.h: Regenerated.
51758         * lib/unictype/pr_zero_width.h: Regenerated.
51759         * lib/unictype/scripts.h: Regenerated.
51760         * lib/unictype/scripts_byname.gperf: Regenerated.
51761         * lib/unictype/sy_java_ident.h: Regenerated.
51762         * lib/unilbrk/lbrkprop1.h: Regenerated.
51763         * lib/unilbrk/lbrkprop2.h: Regenerated.
51764         * tests/unictype/test-categ_C.c: Regenerated.
51765         * tests/unictype/test-categ_Cf.c: Regenerated.
51766         * tests/unictype/test-categ_Cn.c: Regenerated.
51767         * tests/unictype/test-categ_L.c: Regenerated.
51768         * tests/unictype/test-categ_Ll.c: Regenerated.
51769         * tests/unictype/test-categ_Lm.c: Regenerated.
51770         * tests/unictype/test-categ_Lo.c: Regenerated.
51771         * tests/unictype/test-categ_Lu.c: Regenerated.
51772         * tests/unictype/test-categ_M.c: Regenerated.
51773         * tests/unictype/test-categ_Mc.c: Regenerated.
51774         * tests/unictype/test-categ_Me.c: Regenerated.
51775         * tests/unictype/test-categ_Mn.c: Regenerated.
51776         * tests/unictype/test-categ_N.c: Regenerated.
51777         * tests/unictype/test-categ_Nd.c: Regenerated.
51778         * tests/unictype/test-categ_Nl.c: Regenerated.
51779         * tests/unictype/test-categ_No.c: Regenerated.
51780         * tests/unictype/test-categ_P.c: Regenerated.
51781         * tests/unictype/test-categ_Pd.c: Regenerated.
51782         * tests/unictype/test-categ_Pe.c: Regenerated.
51783         * tests/unictype/test-categ_Pf.c: Regenerated.
51784         * tests/unictype/test-categ_Pi.c: Regenerated.
51785         * tests/unictype/test-categ_Po.c: Regenerated.
51786         * tests/unictype/test-categ_Ps.c: Regenerated.
51787         * tests/unictype/test-categ_S.c: Regenerated.
51788         * tests/unictype/test-categ_Sk.c: Regenerated.
51789         * tests/unictype/test-categ_Sm.c: Regenerated.
51790         * tests/unictype/test-categ_So.c: Regenerated.
51791         * tests/unictype/test-ctype_alnum.c: Regenerated.
51792         * tests/unictype/test-ctype_alpha.c: Regenerated.
51793         * tests/unictype/test-ctype_graph.c: Regenerated.
51794         * tests/unictype/test-ctype_lower.c: Regenerated.
51795         * tests/unictype/test-ctype_print.c: Regenerated.
51796         * tests/unictype/test-ctype_punct.c: Regenerated.
51797         * tests/unictype/test-ctype_upper.c: Regenerated.
51798         * tests/unictype/test-decdigit.h: Regenerated.
51799         * tests/unictype/test-digit.h: Regenerated.
51800         * tests/unictype/test-numeric.h: Regenerated.
51801         * tests/unictype/test-pr_alphabetic.c: Regenerated.
51802         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
51803         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
51804         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
51805         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
51806         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
51807         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
51808         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
51809         * tests/unictype/test-pr_combining.c: Regenerated.
51810         * tests/unictype/test-pr_dash.c: Regenerated.
51811         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
51812         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
51813         * tests/unictype/test-pr_deprecated.c: Regenerated.
51814         * tests/unictype/test-pr_diacritic.c: Regenerated.
51815         * tests/unictype/test-pr_extender.c: Regenerated.
51816         * tests/unictype/test-pr_format_control.c: Regenerated.
51817         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
51818         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
51819         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
51820         * tests/unictype/test-pr_id_continue.c: Regenerated.
51821         * tests/unictype/test-pr_id_start.c: Regenerated.
51822         * tests/unictype/test-pr_ideographic.c: Regenerated.
51823         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
51824         * tests/unictype/test-pr_lowercase.c: Regenerated.
51825         * tests/unictype/test-pr_math.c: Regenerated.
51826         * tests/unictype/test-pr_numeric.c: Regenerated.
51827         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
51828         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
51829         Regenerated.
51830         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
51831         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
51832         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
51833         * tests/unictype/test-pr_other_math.c: Regenerated.
51834         * tests/unictype/test-pr_punctuation.c: Regenerated.
51835         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
51836         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
51837         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
51838         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
51839         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
51840         * tests/unictype/test-pr_uppercase.c: Regenerated.
51841         * tests/unictype/test-pr_xid_continue.c: Regenerated.
51842         * tests/unictype/test-pr_xid_start.c: Regenerated.
51843         * tests/unictype/test-pr_zero_width.c: Regenerated.
51844
51845         Update to Unicode 5.1.0.
51846         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
51847         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
51848         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
51849         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
51850         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
51851         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
51852         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
51853         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
51854         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
51855         (nonspacing_table_ind): Update.
51856         * tests/uniwidth/test-uc_width2.sh: Update expected result.
51857
51858         Update to Unicode 5.1.0.
51859         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
51860         code transform.
51861         * lib/uniname/uniname.c (unicode_character_name,
51862         unicode_name_character): Add the range 0x1Fxxx to the code transform.
51863         * lib/uniname/uninames.h: Regenerated.
51864         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
51865
51866 2009-02-07  Bruno Haible  <bruno@clisp.org>
51867
51868         Merge gen-ctype and gen-lbrk into a single program.
51869         * lib/gen-uni-tables.c: New file, incorporating
51870         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
51871         Add directory prefixes to the names of the generated files.
51872         * lib/unictype/gen-ctype.c: Remove file.
51873         * lib/unilbrk/gen-lbrk.c: Remove file.
51874         * modules/gen-uni-tables: New file.
51875         * modules/unictype/gen-ctype: Remove file.
51876         * modules/unilbrk/gen-lbrk: Remove file.
51877
51878 2009-02-07  Bruno Haible  <bruno@clisp.org>
51879
51880         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
51881
51882         New module 'unistr/u32-strcoll'.
51883         * modules/unistr/u32-strcoll: New file.
51884         * lib/unistr/u32-strcoll.c: New file.
51885
51886         New module 'unistr/u16-strcoll'.
51887         * modules/unistr/u16-strcoll: New file.
51888         * lib/unistr/u16-strcoll.c: New file.
51889
51890         New module 'unistr/u8-strcoll'.
51891         * modules/unistr/u8-strcoll: New file.
51892         * lib/unistr/u8-strcoll.c: New file.
51893         * lib/unistr/u-strcoll.h: New file.
51894
51895 2009-02-07  Bruno Haible  <bruno@clisp.org>
51896
51897         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
51898         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51899         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51900         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
51901         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
51902         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
51903
51904 2009-02-07  Bruno Haible  <bruno@clisp.org>
51905
51906         Make 64-bit clean.
51907         * lib/unictype/gen-ctype.c (output_predicate, output_category,
51908         output_combclass, output_bidi_category, output_decimal_digit,
51909         output_digit, output_numeric, output_mirror, output_scripts,
51910         output_ident_category): Use proper width specifier in format strings.
51911
51912 2009-02-07  Bruno Haible  <bruno@clisp.org>
51913
51914         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
51915         failure behaviour.
51916
51917 2009-02-07  Jim Meyering  <meyering@redhat.com>
51918
51919         regex: avoid compilation failure with upcoming gcc-4.4
51920         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
51921         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
51922         "... error: integer overflow in preprocessor expression".
51923
51924 2009-02-05  Ben Pfaff  <blp@gnu.org>
51925
51926         Fix link errors on Windows when close module is used.
51927         * modules/close: Add $(LIB_CLOSE) to Link section.
51928         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
51929         $(LIB_CLOSE) on Windows.
51930
51931 2009-02-05  Jim Meyering  <meyering@redhat.com>
51932
51933         still avoid unused-parameter warnings, but do it cleanly
51934         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
51935         (get_fs_usage): Cast to void instead.
51936         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
51937         (dev_from_mount_options, read_file_system_list): Cast to void.
51938         Prompted by Bruno Haible.
51939
51940 2009-02-04  Jim Meyering  <meyering@redhat.com>
51941
51942         fsusage.c: correct copyright year
51943         * lib/fsusage.c: Reflect year in which the change is pushed into
51944
51945         avoid misc. warnings
51946         * lib/fsusage.c (UNUSED_PARAM): Define.
51947         (get_fs_usage): Mark parameter "disk" as unused.
51948         * lib/getugroups.c (getgrent): Use "void" in prototype.
51949         * lib/mountlist.c: Mark unused parameters.
51950         (read_file_system_list): Declare a local with "const".
51951         * lib/nanosleep.c (getnow): Declare static.
51952         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
51953
51954         dirfd: set errno upon failure
51955         * lib/dirfd.c: Include <errno.h>.
51956         Set errno to ENOTSUP when returning -1.
51957         * modules/dirfd (Depends-on): Add errno.
51958         Suggested by John Kodis <kodis@comcast.net>.
51959
51960 2009-02-01  Bruno Haible  <bruno@clisp.org>
51961
51962         Don't assume sizeof (long) >= sizeof (void *).
51963         * lib/memcmp.c: Include stdint.h.
51964         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
51965         srcp2 to 'const byte *'.
51966         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
51967         types to uintptr_t.
51968         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
51969         * modules/memcmp (Depends-on): Add stdint.
51970         Reported by Ozkan Sezer <sezeroz@gmail.com>.
51971
51972 2009-01-30  Eric Blake  <ebb9@byu.net>
51973
51974         fix more require-before-expand issues
51975         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
51976         expand, AC_PROG_AWK.
51977         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
51978
51979 2009-01-28  Eric Blake  <ebb9@byu.net>
51980
51981         version-etc: use consistent URL formatting
51982         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
51983         Improve formatting.  Use fputs for string without %.
51984
51985 2009-01-28  Jim Meyering  <meyering@redhat.com>
51986
51987         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
51988         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
51989         "underquoted definition of NAME" from autoconf-2.59.
51990
51991 2009-01-28  Bruno Haible  <bruno@clisp.org>
51992
51993         * doc/gnulib.texi: Add "Obsolete modules" to index.
51994
51995 2009-01-28  Jim Meyering  <meyering@redhat.com>
51996
51997         useless-if-before-free: recognize more variants
51998         * build-aux/useless-if-before-free: Also recognize e.g.,
51999         if (NULL != p) free (p);
52000
52001 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
52002
52003         test-getaddrinfo: skip (don't fail) this test when there's no network
52004         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
52005         on the presumption that it means you lack network access.
52006
52007 2009-01-26  Jim Meyering  <meyering@redhat.com>
52008
52009         fflush: avoid warnings on modern systems
52010         * lib/fflush.c (rpl_fflush): Move declarations of locals,
52011         pos and result, into scopes where they're used.
52012
52013 2009-01-26  Eric Blake  <ebb9@byu.net>
52014
52015         Silence warning reintroduced by recent extensions patch.
52016         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
52017         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
52018         autoconf.
52019
52020         Backport improved autoconf semantics of AC_DEFUN_ONCE.
52021         * m4/00gnulib.m4: New file.
52022         * gnulib-tool (func_get_filelist): Always use it.
52023         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
52024         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
52025
52026 2009-01-25  Bruno Haible  <bruno@clisp.org>
52027
52028         Make test-quotearg work on MacOS X and AIX.
52029         * tests/test-quotearg.sh: New file.
52030         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
52031         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
52032         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
52033         include <libintl.h>.
52034         (fake_locale): Remove variable.
52035         (gettext, dgettext, dcgettext): Remove functions.
52036         (main): Instead of setting a fake locale, set a real locale. Call
52037         textdomain and bindtextdomain.
52038         * modules/quotearg-tests (Files): Add the new files.
52039         (Depends-on): Add gettext, setenv, unsetenv.
52040         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
52041         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
52042         Augment TESTS_ENVIRONMENT.
52043
52044 2009-01-25  Bruno Haible  <bruno@clisp.org>
52045
52046         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
52047         fr_FR.ISO8859-1 locale on MacOS X.
52048         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
52049         ja_JP.eucJP locale on MacOS X.
52050         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
52051         zh_CN.GB18030 locale on MacOS X.
52052
52053 2009-01-25  Bruno Haible  <bruno@clisp.org>
52054
52055         Avoid link errors on MacOS X 10.3.
52056         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
52057         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
52058
52059 2009-01-25  Bruno Haible  <bruno@clisp.org>
52060
52061         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
52062         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
52063         * modules/pipe (Files): Remove m4/posix_spawn.m4.
52064         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
52065         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
52066         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
52067         posix_spawnattr_init, posix_spawnattr_setsigmask,
52068         posix_spawnattr_setflags, posix_spawnattr_destroy.
52069
52070         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
52071         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
52072         * modules/execute (Files): Remove m4/posix_spawn.m4.
52073         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
52074         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
52075         posix_spawnattr_init, posix_spawnattr_setsigmask,
52076         posix_spawnattr_setflags, posix_spawnattr_destroy.
52077
52078 2009-01-25  Bruno Haible  <bruno@clisp.org>
52079
52080         * lib/glthread/threadlib.c: Include <stdlib.h>.
52081
52082 2009-01-25  Bruno Haible  <bruno@clisp.org>
52083
52084         * lib/glthread/threadlib.c (dummy): New declaration.
52085
52086 2009-01-25  Bruno Haible  <bruno@clisp.org>
52087
52088         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
52089         multibyte characters also for the GB18030 encoding. Don't crash when
52090         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
52091
52092 2009-01-25  Bruno Haible  <bruno@clisp.org>
52093
52094         Avoid redefining 'struct random_data' on OSF/1 5.1.
52095         * lib/stdlib.in.h: Include <random.h> if it exists.
52096         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
52097         HAVE_RANDOM_H. Include <random.h> when testing whether
52098         'struct random_data' exists.
52099         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
52100
52101 2009-01-25  Bruno Haible  <bruno@clisp.org>
52102
52103         Don't install charset.alias on MacOS X >= 10.3.
52104         * lib/localcharset.c (DARWIN7): New macro.
52105         (get_charset_aliases): Hardcode the result for Darwin7.
52106         * modules/localcharset (install-exec-local): Don't install
52107         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
52108
52109 2009-01-25  Bruno Haible  <bruno@clisp.org>
52110
52111         Don't install charset.alias on mingw and Cygwin.
52112         * modules/localcharset (install-exec-local): Don't install
52113         charset.alias on mingw and Cygwin, if the file does not yet exist.
52114         The result for these platforms is hardcoded in localcharset.c.
52115
52116 2009-01-25  Bruno Haible  <bruno@clisp.org>
52117
52118         Make it possible again to use AC_GNU_SOURCE together with gnulib.
52119         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
52120         before requiring AC_USE_SYSTEM_EXTENSIONS.
52121
52122 2009-01-25  Jim Meyering  <meyering@redhat.com>
52123
52124         c-strtod: avoid warnings
52125         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
52126         "assignment discards qualifiers from pointer target type" warnings.
52127
52128 2009-01-24  Bruno Haible  <bruno@clisp.org>
52129
52130         Add support for non-UTF-8 locales on MacOS X.
52131         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
52132         canonical encodings. For Darwin 7 and newer, don't map traditional
52133         encodings to UTF-8.
52134         Reported by Vincent Lefevre <vincent@vinc17.org>
52135         at <http://savannah.gnu.org/bugs/?25235>.
52136
52137 2009-01-24  Bruno Haible  <bruno@clisp.org>
52138
52139         * doc/gnulib.texi (Obsolete modules): New section.
52140         Reported by Mike Frysinger <vapier@gentoo.org>.
52141
52142 2009-01-24  Bruno Haible  <bruno@clisp.org>
52143
52144         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
52145         (%.dvi): New rule.
52146
52147 2009-01-24  Bruno Haible  <bruno@clisp.org>
52148
52149         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
52150         Reported by Eric Blake.
52151
52152 2009-01-24  Bruno Haible  <bruno@clisp.org>
52153
52154         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
52155         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
52156         Reported by Gary V. Vaughan <gary@gnu.org>.
52157
52158 2009-01-24  Bruno Haible  <bruno@clisp.org>
52159
52160         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
52161
52162 2009-01-23  Bruno Haible  <bruno@clisp.org>
52163
52164         Make c-strtod, c-strtold usable in libraries.
52165         * lib/c-strtod.c: Include string.h instead of xalloc.h.
52166         (C_STRTOD): Call strdup instead of xstrdup.
52167         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
52168         * modules/c-strtold (Depends-on): Likewise.
52169         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
52170         * NEWS: Mention the change.
52171         Reported by Michael Gold <mgold@ncf.ca>.
52172
52173 2009-01-23  Jim Meyering  <meyering@redhat.com>
52174
52175         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
52176         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
52177         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
52178
52179 2009-01-23  Simon Josefsson  <simon@josefsson.org>
52180
52181         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
52182         GNU CoreUtils.
52183         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
52184         * modules/version-etc (Description): Update.
52185
52186 2009-01-22  Bruno Haible  <bruno@clisp.org>
52187
52188         Cache the C locale object.
52189         * lib/c-strtod.c (c_locale_cache): New variable.
52190         (c_locale): New function.
52191         (C_STRTOD): Use it, and don't call freelocale.
52192         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
52193         Suggested by Paolo Bonzini.
52194
52195 2009-01-21  Bruno Haible  <bruno@clisp.org>
52196
52197         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
52198         conditions other than overflow.
52199
52200 2009-01-21  Bruno Haible  <bruno@clisp.org>
52201
52202         * lib/c-strtod.c: Include errno.h.
52203         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
52204         value from STRTOD_L and STRTOD.
52205
52206 2009-01-21  Bruno Haible  <bruno@clisp.org>
52207         and Jim Meyering  <meyering@redhat.com>
52208
52209         nanosleep: skip configure test (fail it) for apple universal builds
52210         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
52211         universal builds, assume that nanosleep does not work.
52212         * modules/nanosleep (Depends-on): Add multiarch.
52213
52214         mktime: skip configure test (fail it) for apple universal builds
52215         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
52216         universal builds, assume that mktime does not work.
52217         * modules/mktime (Depends-on): Add multiarch.
52218
52219 2009-01-21  Eric Blake  <ebb9@byu.net>
52220
52221         multiarch: avoid expand-before-require warning
52222         * modules/multiarch (configure.ac): Require, rather than expand,
52223         gl_MULTIARCH.
52224         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
52225         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
52226         enforce that all clients require it.  Partial reversion of
52227         2008-12-29 patch.
52228
52229         error: avoid expand-before-require warning
52230         * modules/errno (configure.ac): Require, rather than expand,
52231         gl_HEADER_ERRNO_H.
52232         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
52233         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
52234         enforce that all clients require it.
52235
52236         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
52237         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
52238         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
52239         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
52240
52241 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
52242
52243         Revert:
52244         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
52245
52246         regex: do not depend on obsolete modules.
52247         * modules/regex: Remove memcmp and memmove.
52248
52249 2009-01-20  Bruno Haible  <bruno@clisp.org>
52250
52251         Make the 'link' module link on Windows NT 4.
52252         * lib/link.c (_WIN32_WINNT): Don't define.
52253         (CreateHardLinkFuncType): New type.
52254         (CreateHardLinkFunc, initialized): New variables.
52255         (initialize): New function.
52256         (link): Invoke CreateHardLink indirectly through the function pointer.
52257
52258 2009-01-20  Bruno Haible  <bruno@clisp.org>
52259
52260         Fix compilation failure on mingw.
52261         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
52262
52263 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
52264
52265         * doc/c-strtod.texi: Mention a couple of restrictions.
52266
52267 2009-01-20  Jim Meyering  <meyering@redhat.com>
52268
52269         gettimeofday: move more declarations out of functions
52270         * lib/gettimeofday.c: Move extern declarations of tzset and
52271         gmtime out of containing functions.  Prompted by Bruno Haible.
52272
52273 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
52274
52275         regex: do not depend on obsolete modules.
52276         * modules/regex: Remove memcmp and memmove.
52277
52278 2009-01-19  Bruno Haible  <bruno@clisp.org>
52279
52280         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
52281         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
52282         gl_BIGENDIAN, not AC_C_BIGENDIAN.
52283         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
52284         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
52285
52286 2009-01-19  Bruno Haible  <bruno@clisp.org>
52287
52288         * tests/test-link.c: Include <errno.h>.
52289         (main): Exit with code 77 when a hard link cannot be created due to
52290         the file system.
52291         * tests/test-link.sh: Skip test when a hard link cannot be created due
52292         to the file system.
52293         Suggested by Eric Blake.
52294
52295 2009-01-19  Martin Lambers  <marlam@marlam.de>
52296
52297         * modules/link-tests: New file.
52298         * tests/test-link.sh: New file.
52299         * tests/test-link.c: New file.
52300
52301 2009-01-19  Eric Blake  <ebb9@byu.net>
52302
52303         doc: mention another function added in cygwin 1.7.0
52304         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
52305         Another new function in cygwin 1.7.
52306
52307 2009-01-19  Bruno Haible  <bruno@clisp.org>
52308
52309         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
52310         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
52311         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
52312         gl_BIGENDIAN, not AC_C_BIGENDIAN.
52313         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
52314         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
52315         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
52316         * m4/md4.m4 (gl_MD4): Likewise.
52317         * m4/md5.m4 (gl_MD5): Likewise.
52318         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
52319         * m4/sha1.m4 (gl_SHA1): Likewise.
52320         * m4/sha256.m4 (gl_SHA256): Likewise.
52321         * m4/sha512.m4 (gl_SHA512): Likewise.
52322
52323 2009-01-19  Bruno Haible  <bruno@clisp.org>
52324
52325         * modules/uniname/uniname-tests (Depends-on): Add progname.
52326         * tests/uniname/test-uninames.c: Include progname.h.
52327         (main): Call set_program_name.
52328
52329         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
52330         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
52331         (main): Call set_program_name.
52332
52333         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
52334         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
52335         (main): Call set_program_name.
52336
52337         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
52338         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
52339         (main): Call set_program_name.
52340
52341         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
52342         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
52343         (main): Call set_program_name.
52344
52345         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
52346         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
52347         (main): Call set_program_name.
52348
52349         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
52350         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
52351         (main): Call set_program_name.
52352
52353         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
52354         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
52355         (main): Call set_program_name.
52356
52357         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
52358         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
52359         (main): Call set_program_name.
52360
52361 2009-01-19  Eric Blake  <ebb9@byu.net>
52362
52363         test-unistd: test previous patch
52364         * tests/test-unistd.c: Test *_FILENO macros.
52365
52366         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
52367         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52368         Guarantee a definition.
52369         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
52370         * modules/unistd-safer (Depends-on): Add dependency on unistd.
52371         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
52372         * lib/dup-safer.c (STDERR_FILENO): Likewise.
52373         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52374         Likewise.
52375         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
52376         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
52377         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52378         Likewise.
52379         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
52380         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
52381         (STDERR_FILENO): Likewise.
52382         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
52383         (STDERR_FILENO): Likewise.
52384         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
52385         (STDERR_FILENO): Likewise.
52386         Reported by Elbert Pol.
52387
52388 2009-01-19  Eric Blake  <ebb9@byu.net>
52389
52390         doc: mention more functions added in cygwin 1.7.0
52391         * doc/posix-functions/abort.texi (abort): Update wording related
52392         to cygwin.
52393         * doc/posix-functions/daylight.texi (daylight): Likewise.
52394         * doc/posix-functions/optarg.texi (optarg): Likewise.
52395         * doc/posix-functions/optarg.texi (opterr): Likewise.
52396         * doc/posix-functions/optarg.texi (optind): Likewise.
52397         * doc/posix-functions/optarg.texi (optopt): Likewise.
52398         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
52399         worked in 1.5.x, and was withdrawn in 1.7.
52400         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
52401         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
52402         cygwin versions.
52403         * doc/posix-functions/perror.texi (perror): Likewise.
52404         * doc/posix-functions/printf.texi (printf): Likewise.
52405         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
52406         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
52407         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
52408         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
52409         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
52410         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
52411         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
52412         Likewise.
52413         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
52414         Likewise.
52415         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
52416         this function.
52417         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
52418         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
52419         Likewise.
52420         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
52421         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
52422         * doc/posix-functions/confstr.texi (confstr): Likewise.
52423         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
52424         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
52425         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
52426         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
52427         * doc/posix-functions/fputws.texi (fputws): Likewise.
52428         * doc/posix-functions/fwide.texi (fwide): Likewise.
52429         * doc/posix-functions/getwc.texi (getwc): Likewise.
52430         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
52431         * doc/posix-functions/putwc.texi (putwc): Likewise.
52432         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
52433         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
52434         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
52435         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
52436         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
52437         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
52438         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
52439         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
52440         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
52441         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
52442         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
52443
52444 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
52445
52446         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
52447         * lib/ioctl.c: Include <sys/ioctl.h>.
52448
52449 2009-01-19  Simon Josefsson  <simon@josefsson.org>
52450
52451         * modules/getdate-tests (Depends-on): Add progname.
52452         * tests/test-getdate.c: Use progname module, to avoid link errors
52453         on non-glibc systems.
52454
52455 2009-01-18  Simon Josefsson  <simon@josefsson.org>
52456
52457         * modules/filenamecat-tests (Depends-on): Add progname.
52458         * modules/fstrcmp-tests (Depends-on): Likewise.
52459
52460         * tests/test-filenamecat.c: Use progname module, to avoid link
52461         errors on non-glibc systems.
52462         * tests/test-fstrcmp.c: Likewise.
52463
52464 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
52465
52466         gettimeofday: avoid warning: nested extern declaration of 'localtime'
52467         * lib/gettimeofday.c: Move extern declaration out of function.
52468
52469 2009-01-18  Bruno Haible  <bruno@clisp.org>
52470
52471         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
52472         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
52473         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
52474
52475 2009-01-18  Bruno Haible  <bruno@clisp.org>
52476
52477         * lib/strftime.c (MEMPCPY): Remove unused macro.
52478         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
52479
52480 2009-01-18  Martin Lambers  <marlam@marlam.de>
52481
52482         New module 'link'.
52483         * lib/unistd.in.h (link): New declaration.
52484         * lib/link.c: New file.
52485         * m4/link.m4: New file.
52486         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
52487         HAVE_LINK.
52488         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
52489         * modules/link: New file.
52490         * doc/posix-functions/link.texi: Mention the new module.
52491
52492 2009-01-18  Bruno Haible  <bruno@clisp.org>
52493
52494         * tests/test-avltree_list.c (main): Call set_program_name.
52495         * tests/test-avltree_oset.c (main): Likewise.
52496         * tests/test-obstack-printf.c: Include progname.h.
52497         (main): Call set_program_name.
52498         * tests/test-quotearg.c: Include progname.h.
52499         (main): Call set_program_name.
52500         * tests/test-xmemdup0.c: Include progname.h.
52501         (main): Call set_program_name.
52502
52503 2009-01-18  Bruno Haible  <bruno@clisp.org>
52504
52505         New module 'alphasort'.
52506         * lib/dirent.in.h (alphasort): New declaration.
52507         * lib/alphasort.c: New file, from glibc with modifications.
52508         * m4/alphasort.m4: New file.
52509         * modules/alphasort: New file.
52510         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
52511         HAVE_ALPHASORT.
52512         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
52513         HAVE_ALPHASORT.
52514         * doc/posix-functions/alphasort.texi: Mention the new module and the
52515         portability problems.
52516
52517 2009-01-18  Bruno Haible  <bruno@clisp.org>
52518
52519         New module 'scandir'.
52520         * lib/dirent.in.h (scandir): New declaration.
52521         * lib/scandir.c: New file, from glibc with modifications.
52522         * m4/scandir.m4: New file.
52523         * modules/scandir: New file.
52524         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
52525         HAVE_SCANDIR.
52526         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
52527         HAVE_SCANDIR.
52528         * doc/posix-functions/scandir.texi: Mention the new module and the
52529         portability problems.
52530
52531 2009-01-17  Bruno Haible  <bruno@clisp.org>
52532
52533         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
52534         Update documentation.
52535         (func_remove_suffix): Escape all dots in the suffix. Update
52536         documentation.
52537         (func_filter_filelist): Update documentation.
52538         Reported by Ralf Wildenhues.
52539
52540 2009-01-17  Bruno Haible  <bruno@clisp.org>
52541
52542         * modules/dprintf-posix-tests: New file.
52543         * tests/test-dprintf-posix.sh: New file.
52544         * tests/test-dprintf-posix.c: New file.
52545
52546         New modules 'dprintf', 'dprintf-posix'.
52547         * lib/stdio.in.h (dprintf): New declaration.
52548         * lib/dprintf.c: New file.
52549         * m4/dprintf.m4: New file.
52550         * m4/dprintf-posix.m4: New file.
52551         * modules/dprintf: New file.
52552         * modules/dprintf-posix: New file.
52553         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
52554         HAVE_DPRINTF, REPLACE_DPRINTF.
52555         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
52556         HAVE_DPRINTF, REPLACE_DPRINTF.
52557         * doc/posix-functions/dprintf.texi: Mention the new modules.
52558
52559 2009-01-17  Bruno Haible  <bruno@clisp.org>
52560
52561         * modules/vdprintf-posix-tests: New file.
52562         * tests/test-vdprintf-posix.sh: New file.
52563         * tests/test-vdprintf-posix.c: New file.
52564
52565         New modules 'vdprintf', 'vdprintf-posix'.
52566         * lib/stdio.in.h (vdprintf): New declaration.
52567         * lib/vdprintf.c: New file.
52568         * m4/vdprintf.m4: New file.
52569         * m4/vdprintf-posix.m4: New file.
52570         * modules/vdprintf: New file.
52571         * modules/vdprintf-posix: New file.
52572         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
52573         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52574         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
52575         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52576         * doc/posix-functions/vdprintf.texi: Mention the new modules.
52577
52578 2009-01-17  Bruno Haible  <bruno@clisp.org>
52579
52580         Fix replacement of fopen on mingw.
52581         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
52582         mingw.
52583
52584 2009-01-17  Bruno Haible  <bruno@clisp.org>
52585
52586         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
52587         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
52588
52589 2009-01-17  Bruno Haible  <bruno@clisp.org>
52590
52591         Avoid test-fflush2.sh failure on mingw.
52592         * tests/test-fflush2.c: Include binary-io.h.
52593         (main): Put standard input into binary mode.
52594         * modules/fflush-tests (Depends-on): Add binary-io.
52595
52596 2009-01-17  Bruno Haible  <bruno@clisp.org>
52597
52598         * lib/wchar.in.h: In another particular situation, include only the
52599         system's <wchar.h> file.
52600         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
52601         Reported by Albert Chin-A-Young <china@thewrittenword.com>
52602         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
52603
52604 2009-01-17  Bruno Haible  <bruno@clisp.org>
52605
52606         Support for stripping executables in --enable-relocatable.
52607         * build-aux/install-reloc: Expect one more argument, or an environment
52608         variable RELOC_STRIP_PROG. If set, strip the destination program and
52609         its wrapper.
52610         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
52611         RELOC_STRIP_PROG.
52612         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
52613         to set RELOCATABLE_STRIP.
52614         * NEWS: Mention the new Makefile requirement.
52615
52616 2009-01-17  Bruno Haible  <bruno@clisp.org>
52617
52618         * build-aux/install-reloc: Remove debugging information left over by
52619         C compiler on MacOS X.
52620
52621 2009-01-17  Bruno Haible  <bruno@clisp.org>
52622
52623         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
52624         * lib/progreloc.c (find_executable): Fix type of pointer passed to
52625         _NSGetExecutablePath.
52626
52627 2009-01-16  Jim Meyering  <meyering@redhat.com>
52628
52629         strerror: avoid warnings about discarding "const"
52630         * lib/strerror.c (rpl_strerror): Instead of returning a const
52631         string from each and every "case", use a variable, and add a single
52632         cast after the switch.
52633
52634 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
52635
52636         * lib/arpa_inet.in.h: Add extern "C" block for C++.
52637
52638 2009-01-16  Bruno Haible  <bruno@clisp.org>
52639
52640         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
52641         array initializer syntax that also works in C++ mode.
52642         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52643
52644 2009-01-16  Jim Meyering  <meyering@redhat.com>
52645
52646         poll: suppress a warning
52647         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
52648         to ignore "...unsigned expression < 0 is always false" warnings.
52649
52650 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
52651
52652         poll: remove declarations of unused variables
52653         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
52654         sockbuf and optlen.
52655
52656 2009-01-15  Bruno Haible  <bruno@clisp.org>
52657
52658         Make fflush-after-ungetc POSIX compliant on BSD systems.
52659         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
52660         (clear_ungetc_buffer): Implement also for other systems.
52661         (rpl_fflush): On glibc systems, invoke
52662         clear_ungetc_buffer_preserving_position. Otherwise, invoke
52663         clear_ungetc_buffer after fetching the stream's position, not before.
52664
52665 2009-01-15  Bruno Haible  <bruno@clisp.org>
52666
52667         Make fflush-after-ungetc POSIX compliant on glibc systems.
52668         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
52669         after ungetc.
52670         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
52671         (rpl_fflush): On glibc systems, simply call the system's fflush
52672         function after clearing the ungetc buffer.
52673         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
52674         Instead, lseek only to the end of file, then use the system's fseeko
52675         for the rest. On glibc systems, reset the EOF indicator bit.
52676
52677 2009-01-15  Jim Meyering  <meyering@redhat.com>
52678
52679         openmp.m4: revert quote-adding change, for portability to older autoconf
52680         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
52681         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
52682         Simon Josefsson noticed the problem when using autoconf-2.61.
52683
52684 2009-01-15  Bruno Haible  <bruno@clisp.org>
52685
52686         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
52687         * tests/test-fflush2.c (ASSERT): Always fail.
52688         (main): Add two tests for fflush() after ungetc(), taking into account
52689         the Austin Group's clarification.
52690         Suggested by Eric Blake.
52691
52692 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
52693
52694         mktime.m4: remove K&R-style function prototypes
52695         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
52696         for the Sun C++ compiler.
52697
52698 2009-01-14  Bruno Haible  <bruno@clisp.org>
52699
52700         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
52701         while including <wchar.h>.
52702         * lib/wchar.in.h: In two particular situations on HP-UX, include only
52703         the system's <wchar.h> file.
52704         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52705
52706 2009-01-14  Bruno Haible  <bruno@clisp.org>
52707
52708         * m4/csharp.m4: Don't mention gettext on the serial number line.
52709         * m4/csharpexec.m4: Likewise.
52710         * m4/eaccess.m4: Likewise.
52711         * m4/javaexec.m4: Likewise.
52712         * m4/sig_atomic_t.m4: Likewise.
52713         * m4/tmpdir.m4: Likewise.
52714         * m4/intldir.m4: Bump gettext version.
52715         * m4/lib-ld.m4: Likewise.
52716
52717 2009-01-14  Bruno Haible  <bruno@clisp.org>
52718
52719         * lib/progname.c (set_program_name): Add more comments.
52720         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
52721
52722 2009-01-14  Simon Josefsson  <simon@josefsson.org>
52723
52724         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
52725         were sys/stat.h does not define it.
52726
52727 2009-01-14  Jim Meyering  <meyering@redhat.com>
52728
52729         many *.m4 files: improve m4 quoting
52730         99% of this change was performed by running the following commands:
52731         git ls-files | grep '\.m4$' | xargs perl -pi \
52732           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
52733           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52734           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52735           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
52736         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
52737         The remainder were to add Copyright dates, increment serial numbers,
52738         undo some changes in comments, exclude m4/intl.m4, and add quotes
52739         around the "1" in ",1" where the unusual spacing prohibited the
52740         above regexps from doing the job.  For more details, see
52741         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
52742         * m4/acl.m4: Modified.
52743         * m4/afs.m4: Likewise.
52744         * m4/alloca.m4: Likewise.
52745         * m4/argp.m4: Likewise.
52746         * m4/argz.m4: Likewise.
52747         * m4/atexit.m4: Likewise.
52748         * m4/bison-i18n.m4: Likewise.
52749         * m4/bison.m4: Likewise.
52750         * m4/byteswap.m4: Likewise.
52751         * m4/c-stack.m4: Likewise.
52752         * m4/c-strtod.m4: Likewise.
52753         * m4/calloc.m4: Likewise.
52754         * m4/canonicalize-lgpl.m4: Likewise.
52755         * m4/chown.m4: Likewise.
52756         * m4/clock_time.m4: Likewise.
52757         * m4/codeset.m4: Likewise.
52758         * m4/copy-file.m4: Likewise.
52759         * m4/csharp.m4: Likewise.
52760         * m4/csharpcomp.m4: Likewise.
52761         * m4/csharpexec.m4: Likewise.
52762         * m4/d-ino.m4: Likewise.
52763         * m4/d-type.m4: Likewise.
52764         * m4/dirfd.m4: Likewise.
52765         * m4/double-slash-root.m4: Likewise.
52766         * m4/eaccess.m4: Likewise.
52767         * m4/eealloc.m4: Likewise.
52768         * m4/environ.m4: Likewise.
52769         * m4/errno_h.m4: Likewise.
52770         * m4/euidaccess.m4: Likewise.
52771         * m4/execute.m4: Likewise.
52772         * m4/fatal-signal.m4: Likewise.
52773         * m4/fchdir.m4: Likewise.
52774         * m4/fcntl_h.m4: Likewise.
52775         * m4/fileblocks.m4: Likewise.
52776         * m4/filenamecat.m4: Likewise.
52777         * m4/findprog.m4: Likewise.
52778         * m4/flexmember.m4: Likewise.
52779         * m4/fnmatch.m4: Likewise.
52780         * m4/fopen.m4: Likewise.
52781         * m4/fpending.m4: Likewise.
52782         * m4/fprintf-posix.m4: Likewise.
52783         * m4/free.m4: Likewise.
52784         * m4/frexp.m4: Likewise.
52785         * m4/frexpl.m4: Likewise.
52786         * m4/fsusage.m4: Likewise.
52787         * m4/ftruncate.m4: Likewise.
52788         * m4/gc-camellia.m4: Likewise.
52789         * m4/gc-random.m4: Likewise.
52790         * m4/gc.m4: Likewise.
52791         * m4/getaddrinfo.m4: Likewise.
52792         * m4/getcwd-abort-bug.m4: Likewise.
52793         * m4/getcwd-path-max.m4: Likewise.
52794         * m4/getdate.m4: Likewise.
52795         * m4/getdomainname.m4: Likewise.
52796         * m4/getgroups.m4: Likewise.
52797         * m4/gethostname.m4: Likewise.
52798         * m4/gethrxtime.m4: Likewise.
52799         * m4/getline.m4: Likewise.
52800         * m4/getloadavg.m4: Likewise.
52801         * m4/getndelim2.m4: Likewise.
52802         * m4/getpass.m4: Likewise.
52803         * m4/gettext.m4: Likewise.
52804         * m4/gettime.m4: Likewise.
52805         * m4/gettimeofday.m4: Likewise.
52806         * m4/gnulib-common.m4: Likewise.
52807         * m4/group-member.m4: Likewise.
52808         * m4/host-os.m4: Likewise.
52809         * m4/iconv.m4: Likewise.
52810         * m4/iconv_open.m4: Likewise.
52811         * m4/inet_ntop.m4: Likewise.
52812         * m4/inet_pton.m4: Likewise.
52813         * m4/inline.m4: Likewise.
52814         * m4/intldir.m4: Likewise.
52815         * m4/intlmacosx.m4: Likewise.
52816         * m4/intmax.m4: Likewise.
52817         * m4/intmax_t.m4: Likewise.
52818         * m4/inttypes.m4: Likewise.
52819         * m4/inttypes_h.m4: Likewise.
52820         * m4/inttypes-pri.m4: Likewise.
52821         * m4/isapipe.m4: Likewise.
52822         * m4/isnand.m4: Likewise.
52823         * m4/isnanf.m4: Likewise.
52824         * m4/isnanl.m4: Likewise.
52825         * m4/javacomp.m4: Likewise.
52826         * m4/javaexec.m4: Likewise.
52827         * m4/jm-winsz1.m4: Likewise.
52828         * m4/jm-winsz2.m4: Likewise.
52829         * m4/lchown.m4: Likewise.
52830         * m4/lcmessage.m4: Likewise.
52831         * m4/ldexpl.m4: Likewise.
52832         * m4/lib-ld.m4: Likewise.
52833         * m4/lib-link.m4: Likewise.
52834         * m4/libsigsegv.m4: Likewise.
52835         * m4/link-follow.m4: Likewise.
52836         * m4/localcharset.m4: Likewise.
52837         * m4/locale-fr.m4: Likewise.
52838         * m4/locale-ja.m4: Likewise.
52839         * m4/locale-tr.m4: Likewise.
52840         * m4/locale-zh.m4: Likewise.
52841         * m4/lock.m4: Likewise.
52842         * m4/longlong.m4: Likewise.
52843         * m4/ls-mntd-fs.m4: Likewise.
52844         * m4/lstat.m4: Likewise.
52845         * m4/malloc.m4: Likewise.
52846         * m4/mathl.m4: Likewise.
52847         * m4/mbrtowc.m4: Likewise.
52848         * m4/mbstate_t.m4: Likewise.
52849         * m4/mbswidth.m4: Likewise.
52850         * m4/memchr.m4: Likewise.
52851         * m4/memcmp.m4: Likewise.
52852         * m4/memcpy.m4: Likewise.
52853         * m4/memmem.m4: Likewise.
52854         * m4/memmove.m4: Likewise.
52855         * m4/mempcpy.m4: Likewise.
52856         * m4/memrchr.m4: Likewise.
52857         * m4/memset.m4: Likewise.
52858         * m4/minmax.m4: Likewise.
52859         * m4/mkdir-slash.m4: Likewise.
52860         * m4/mkdtemp.m4: Likewise.
52861         * m4/mktime.m4: Likewise.
52862         * m4/mmap-anon.m4: Likewise.
52863         * m4/mountlist.m4: Likewise.
52864         * m4/nanosleep.m4: Likewise.
52865         * m4/nls.m4: Likewise.
52866         * m4/nocrash.m4: Likewise.
52867         * m4/open.m4: Likewise.
52868         * m4/openat.m4: Likewise.
52869         * m4/openmp.m4: Likewise.
52870         * m4/pathmax.m4: Likewise.
52871         * m4/perl.m4: Likewise.
52872         * m4/physmem.m4: Likewise.
52873         * m4/pipe.m4: Likewise.
52874         * m4/po.m4: Likewise.
52875         * m4/poll.m4: Likewise.
52876         * m4/posixtm.m4: Likewise.
52877         * m4/posixver.m4: Likewise.
52878         * m4/printf-frexp.m4: Likewise.
52879         * m4/printf-frexpl.m4: Likewise.
52880         * m4/printf-posix.m4: Likewise.
52881         * m4/printf-posix-rpl.m4: Likewise.
52882         * m4/printf.m4: Likewise.
52883         * m4/progtest.m4: Likewise.
52884         * m4/putenv.m4: Likewise.
52885         * m4/readline.m4: Likewise.
52886         * m4/readlink.m4: Likewise.
52887         * m4/readutmp.m4: Likewise.
52888         * m4/realloc.m4: Likewise.
52889         * m4/regex.m4: Likewise.
52890         * m4/relocatable.m4: Likewise.
52891         * m4/relocatable-lib.m4: Likewise.
52892         * m4/rename-dest-slash.m4: Likewise.
52893         * m4/rename.m4: Likewise.
52894         * m4/rmdir-errno.m4: Likewise.
52895         * m4/rmdir.m4: Likewise.
52896         * m4/roundf.m4: Likewise.
52897         * m4/roundl.m4: Likewise.
52898         * m4/rpmatch.m4: Likewise.
52899         * m4/save-cwd.m4: Likewise.
52900         * m4/selinux-selinux-h.m4: Likewise.
52901         * m4/setenv.m4: Likewise.
52902         * m4/settime.m4: Likewise.
52903         * m4/sig2str.m4: Likewise.
52904         * m4/sig_atomic_t.m4: Likewise.
52905         * m4/signalblocking.m4: Likewise.
52906         * m4/signbit.m4: Likewise.
52907         * m4/sigpipe.m4: Likewise.
52908         * m4/sockets.m4: Likewise.
52909         * m4/sockpfaf.m4: Likewise.
52910         * m4/st_dm_mode.m4: Likewise.
52911         * m4/stat-time.m4: Likewise.
52912         * m4/stdbool.m4: Likewise.
52913         * m4/stdint.m4: Likewise.
52914         * m4/stdint_h.m4: Likewise.
52915         * m4/stpcpy.m4: Likewise.
52916         * m4/stpncpy.m4: Likewise.
52917         * m4/strcase.m4: Likewise.
52918         * m4/strchrnul.m4: Likewise.
52919         * m4/strcspn.m4: Likewise.
52920         * m4/strdup.m4: Likewise.
52921         * m4/strftime.m4: Likewise.
52922         * m4/strndup.m4: Likewise.
52923         * m4/strnlen.m4: Likewise.
52924         * m4/strpbrk.m4: Likewise.
52925         * m4/strptime.m4: Likewise.
52926         * m4/strsep.m4: Likewise.
52927         * m4/strtod.m4: Likewise.
52928         * m4/strtoimax.m4: Likewise.
52929         * m4/strtok_r.m4: Likewise.
52930         * m4/strtol.m4: Likewise.
52931         * m4/strtoll.m4: Likewise.
52932         * m4/strtoul.m4: Likewise.
52933         * m4/strtoull.m4: Likewise.
52934         * m4/strtoumax.m4: Likewise.
52935         * m4/strverscmp.m4: Likewise.
52936         * m4/threadlib.m4: Likewise.
52937         * m4/timegm.m4: Likewise.
52938         * m4/tm_gmtoff.m4: Likewise.
52939         * m4/tmpdir.m4: Likewise.
52940         * m4/tmpfile.m4: Likewise.
52941         * m4/tzset.m4: Likewise.
52942         * m4/uintmax_t.m4: Likewise.
52943         * m4/unlinkdir.m4: Likewise.
52944         * m4/unlocked-io.m4: Likewise.
52945         * m4/uptime.m4: Likewise.
52946         * m4/userspec.m4: Likewise.
52947         * m4/utimbuf.m4: Likewise.
52948         * m4/utime.m4: Likewise.
52949         * m4/utimes-null.m4: Likewise.
52950         * m4/utimes.m4: Likewise.
52951         * m4/vararrays.m4: Likewise.
52952         * m4/vasnprintf.m4: Likewise.
52953         * m4/vfprintf-posix.m4: Likewise.
52954         * m4/vprintf-posix.m4: Likewise.
52955         * m4/wait-process.m4: Likewise.
52956         * m4/wchar_t.m4: Likewise.
52957         * m4/wint_t.m4: Likewise.
52958         * m4/write-any-file.m4: Likewise.
52959         * m4/yield.m4: Likewise.
52960
52961 2009-01-13  Bruno Haible  <bruno@clisp.org>
52962
52963         Avoid test-copy-file.sh failures when ACL support insufficient.
52964         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
52965         TESTS_ENVIRONMENT.
52966         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
52967         Reported by Jim Meyering.
52968
52969 2009-01-13  Bruno Haible  <bruno@clisp.org>
52970
52971         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
52972         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
52973         * modules/unistdio/u8-printf-parse (Files): Likewise.
52974         * modules/unistdio/u32-printf-parse (Files): Likewise.
52975         * modules/unistdio/ulc-printf-parse (Files): Likewise.
52976
52977 2009-01-13  Simon Josefsson  <simon@josefsson.org>
52978
52979         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
52980         and m4/inttypes_h.m4 too.
52981
52982 2009-01-12  Eric Blake  <ebb9@byu.net>
52983
52984         tests: IRIX 6.2 cc can't compile -0.0 into .data
52985         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
52986         rather than at compile-time.
52987         * tests/test-floorl.c (minus_zero): Likewise.
52988         * tests/test-frexpl.c (minus_zero): Likewise.
52989         * tests/test-isnan.c (minus_zerol): Likewise.
52990         * tests/test-isnanl.h (minus_zero): Likewise.
52991         * tests/test-ldexpl.c (minus_zero): Likewise.
52992         * tests/test-roundl.c (minus_zero): Likewise.
52993         * tests/test-signbit.c (minus_zerol): Likewise.
52994         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52995         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52996         * tests/test-truncl.c (minus_zero): Likewise.
52997         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52998         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52999         Reported by Tom G. Christensen and Nelson H. F. Beebe.
53000
53001 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
53002
53003         regex: fix glibc bug 9697
53004         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
53005         handling.
53006
53007 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
53008
53009         regex: fix glibc bug 697
53010         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
53011         being NULL also if there are no backreferences.
53012
53013 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
53014
53015         regex: merge glibc changes
53016         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
53017         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
53018         re_string_skip_chars, re_string_reconstruct): Likewise.
53019         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
53020
53021 2009-01-07  Jim Meyering  <meyering@redhat.com>
53022
53023         poll: filter through cppi
53024         * lib/poll.c: Indent cpp directives to reflect nesting.
53025
53026 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
53027
53028         poll: don't return uninitialized
53029         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
53030
53031 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
53032
53033         avoid compile failure on AIX 6.1
53034         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
53035         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
53036
53037 2009-01-04  Jim Meyering  <meyering@redhat.com>
53038
53039         remove duplicate inclusion of <stdio.h>
53040         * tests/test-fprintf-posix.c: Likewise.
53041         * tests/test-printf-posix.c: Likewise.
53042         * tests/test-snprintf-posix.c: Likewise.
53043         * tests/test-sprintf-posix.c: Likewise.
53044         * tests/test-vasprintf-posix.c: Likewise.
53045         * tests/test-vfprintf-posix.c: Likewise.
53046         * tests/test-vprintf-posix.c: Likewise.
53047         * tests/test-vsnprintf-posix.c: Likewise.
53048         * tests/test-vsprintf-posix.c: Likewise.
53049
53050 2009-01-03  Jim Meyering  <meyering@redhat.com>
53051
53052         gnulib-tool: fix sed-based filtering
53053         * gnulib-tool (func_filter_filelist): Remove extra backslash
53054         in sed_fff_filter definition.
53055
53056 2009-01-02  Jim Meyering  <meyering@redhat.com>
53057
53058         strftime: avoid compilation failure on Solaris 2.6
53059         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
53060         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
53061         Don't #define mbrlen or mbsinit, since now they're guaranteed to
53062         be available.  Reported by Tom G. Christensen.  Details in
53063         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
53064
53065 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53066             Bruno Haible  <bruno@clisp.org>
53067
53068         Speed up gnulib-tool by doing more string processing through shell
53069         built-ins.
53070         * gnulib-tool (fast_func_append): New variable.
53071         (func_remove_prefix, func_remove_suffix): New functions.
53072         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
53073         (func_filter_filelist): New function.
53074         (func_get_dependencies): Use func_remove_suffix instead of sed.
53075         (func_get_automake_snippet): Use func_filter_filelist instead of a
53076         subshell and sed invocation.
53077
53078 2009-01-01  Bruno Haible  <bruno@clisp.org>
53079
53080         Fix a security bug.
53081         * gnulib-tool (func_import, import, update): Don't allow the characters
53082         '"', '$', '`', '\' in macro arguments that become part of commands that
53083         are evaluated.
53084
53085 2009-01-01  Bruno Haible  <bruno@clisp.org>
53086
53087         * gnulib-tool (func_reset_sigpipe): Add more comments.
53088
53089 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53090
53091         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
53092         func_emit_tests_Makefile_am, func_import): Abort loops early if we
53093         already know the answer.
53094
53095 2009-01-01  Jim Meyering  <meyering@redhat.com>
53096
53097         * lib/version-etc.c (version_etc_va): Update copyright year.
53098
53099 2008-12-30  Bruno Haible  <bruno@clisp.org>
53100
53101         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
53102         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
53103         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
53104
53105 2008-12-29  Eric Blake  <ebb9@byu.net>
53106
53107         multiarch: avoid autoconf AC_REQUIRE bug
53108         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
53109         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
53110         2.63 and older.
53111         Reported by Bruno Haible, and analyzed in
53112         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
53113
53114 2008-12-29  Bruno Haible  <bruno@clisp.org>
53115
53116         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
53117         files in subdirectories correctly.
53118         Reported by Ralf Wildenhues.
53119
53120 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53121
53122         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
53123         rather than 'join FILE -', for Solaris join.
53124
53125 2008-12-29  Bruno Haible  <bruno@clisp.org>
53126
53127         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
53128         quoting.
53129         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
53130         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
53131         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
53132         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
53133         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
53134         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
53135         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
53136         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
53137         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
53138         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
53139         * m4/nls.m4 (AM_NLS): Likewise.
53140         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
53141         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
53142         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
53143         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
53144         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
53145         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
53146         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
53147         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
53148         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
53149         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
53150         * m4/xsize.m4 (gl_XSIZE): Likewise.
53151         Suggested by Jim Meyering.
53152
53153 2008-11-17  Bruce Korb  <bkorb@gnu.org>
53154
53155         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
53156         * lib/parse-duration.c: use a switch instead of cascading if's.
53157
53158 2008-12-29  Eric Blake  <ebb9@byu.net>
53159
53160         wchar.h: supply WEOF on Irix 5.3
53161         * lib/wchar.in.h (wint_t): Also supply WEOF.
53162         * lib/wctype.in.h (wint_t): Likewise.
53163         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
53164         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
53165         Reported by Tom G. Christensen.
53166
53167 2008-12-26  Bruno Haible  <bruno@clisp.org>
53168
53169         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
53170         i486, i586, i686.
53171
53172 2008-12-26  Bruno Haible  <bruno@clisp.org>
53173
53174         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
53175
53176 2008-12-26  Bruno Haible  <bruno@clisp.org>
53177
53178         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
53179         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
53180         not __STDC_CONSTANT_MACROS.
53181         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
53182
53183 2008-12-25  Bruno Haible  <bruno@clisp.org>
53184
53185         Add support for universal builds to vasnprintf.
53186         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
53187         universal builds, guess no.
53188         * modules/vasnprintf-posix (Depends-on): Add multiarch.
53189         * modules/vasprintf-posix (Depends-on): Likewise.
53190         * modules/fprintf-posix (Depends-on): Likewise.
53191         * modules/vfprintf-posix (Depends-on): Likewise.
53192         * modules/snprintf-posix (Depends-on): Likewise.
53193         * modules/vsnprintf-posix (Depends-on): Likewise.
53194         * modules/sprintf-posix (Depends-on): Likewise.
53195         * modules/vsprintf-posix (Depends-on): Likewise.
53196         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
53197         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
53198         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
53199         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
53200         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
53201         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
53202         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
53203
53204         Add support for universal builds to <inttypes.h>.
53205         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
53206         _SCNu64_PREFIX): In Apple
53207         universal builds, define directly, using _LP64.
53208         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
53209         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
53210         * modules/inttypes (Depends-on): Add multiarch.
53211         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
53212
53213         Add support for universal builds to <stdint.h>.
53214         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
53215         universal builds, define directly, using _LP64.
53216         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
53217         Apple universal builds, don't test for the size and suffix of ptrdiff_t
53218         and size_t.
53219         * modules/stdint (Depends-on): Add multiarch.
53220         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
53221
53222         New module 'multiarch'.
53223         * modules/multiarch: New file.
53224         * m4/multiarch.m4: New file.
53225
53226 2008-12-25  Bruno Haible  <bruno@clisp.org>
53227
53228         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
53229
53230 2008-12-25  Bruno Haible  <bruno@clisp.org>
53231
53232         * modules/btowc (License): Relicense under LGPLv2+.
53233         * modules/mbsinit (License): Likewise.
53234         * modules/mbrtowc (License): Likewise.
53235         * modules/wcrtomb (License): Likewise.
53236         * modules/streq (License): Likewise.
53237         Reported by David Lutterkort <lutter@redhat.com>.
53238
53239 2008-12-23  Bruno Haible  <bruno@clisp.org>
53240
53241         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
53242
53243 2008-12-23  Bruno Haible  <bruno@clisp.org>
53244
53245         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
53246         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
53247         GETADDRINFO_LIB, not in LIBS.
53248         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
53249         * modules/canon-host (Link): Likewise.
53250         * NEWS: Mention the change.
53251         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
53252         GETADDRINFO_LIB.
53253
53254 2008-12-22  Bruno Haible  <bruno@clisp.org>
53255
53256         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
53257         * doc/posix-functions/iswalpha_l.texi: Likewise.
53258         * doc/posix-functions/iswblank_l.texi: Likewise.
53259         * doc/posix-functions/iswcntrl_l.texi: Likewise.
53260         * doc/posix-functions/iswctype_l.texi: Likewise.
53261         * doc/posix-functions/iswdigit_l.texi: Likewise.
53262         * doc/posix-functions/iswgraph_l.texi: Likewise.
53263         * doc/posix-functions/iswlower_l.texi: Likewise.
53264         * doc/posix-functions/iswprint_l.texi: Likewise.
53265         * doc/posix-functions/iswpunct_l.texi: Likewise.
53266         * doc/posix-functions/iswspace_l.texi: Likewise.
53267         * doc/posix-functions/iswupper_l.texi: Likewise.
53268         * doc/posix-functions/iswxdigit_l.texi: Likewise.
53269         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
53270         * doc/posix-functions/open_wmemstream.texi: Likewise.
53271         * doc/posix-functions/swscanf.texi: Likewise.
53272         * doc/posix-functions/towctrans_l.texi: Likewise.
53273         * doc/posix-functions/towlower.texi: Likewise.
53274         * doc/posix-functions/towlower_l.texi: Likewise.
53275         * doc/posix-functions/towupper.texi: Likewise.
53276         * doc/posix-functions/towupper_l.texi: Likewise.
53277         * doc/posix-functions/vfwprintf.texi: Likewise.
53278         * doc/posix-functions/vfwscanf.texi: Likewise.
53279         * doc/posix-functions/vswscanf.texi: Likewise.
53280         * doc/posix-functions/vwprintf.texi: Likewise.
53281         * doc/posix-functions/vwscanf.texi: Likewise.
53282         * doc/posix-functions/wcpcpy.texi: Likewise.
53283         * doc/posix-functions/wcpncpy.texi: Likewise.
53284         * doc/posix-functions/wcscasecmp.texi: Likewise.
53285         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
53286         * doc/posix-functions/wcscoll_l.texi: Likewise.
53287         * doc/posix-functions/wcsdup.texi: Likewise.
53288         * doc/posix-functions/wcsncasecmp.texi: Likewise.
53289         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
53290         * doc/posix-functions/wcsnlen.texi: Likewise.
53291         * doc/posix-functions/wcsnrtombs.texi: Likewise.
53292         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
53293         * doc/posix-functions/wctrans_l.texi: Likewise.
53294         * doc/posix-functions/wctype_l.texi: Likewise.
53295         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
53296         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
53297         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
53298         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
53299         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
53300         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
53301         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
53302         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
53303         * doc/glibc-functions/wcschrnul.texi: Likewise.
53304         * doc/glibc-functions/wcsftime_l.texi: Likewise.
53305         * doc/glibc-functions/wcstod_l.texi: Likewise.
53306         * doc/glibc-functions/wcstof_l.texi: Likewise.
53307         * doc/glibc-functions/wcstol_l.texi: Likewise.
53308         * doc/glibc-functions/wcstold_l.texi: Likewise.
53309         * doc/glibc-functions/wcstoll_l.texi: Likewise.
53310         * doc/glibc-functions/wcstoq.texi: Likewise.
53311         * doc/glibc-functions/wcstoul_l.texi: Likewise.
53312         * doc/glibc-functions/wcstoull_l.texi: Likewise.
53313         * doc/glibc-functions/wcstouq.texi: Likewise.
53314         * doc/glibc-functions/wmempcpy.texi: Likewise.
53315
53316 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
53317             Eric Blake  <ebb9@byu.net>
53318             Paolo Bonzini  <bonzini@gnu.org>
53319             Bruno Haible  <bruno@clisp.org>
53320
53321         Make c-stack work on Haiku.
53322         * lib/c-stack.c (SA_ONSTACK): Define fallback.
53323         (c_stack_action): Use SA_ONSTACK flag.
53324
53325 2008-12-22  Bruno Haible  <bruno@clisp.org>
53326
53327         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
53328
53329 2008-12-22  Bruno Haible  <bruno@clisp.org>
53330
53331         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
53332         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
53333         being overridden.
53334         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
53335         New macros.
53336         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
53337         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
53338         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
53339         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
53340
53341 2008-12-22  Bruno Haible  <bruno@clisp.org>
53342
53343         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
53344         from test code.
53345
53346 2008-12-22  Eric Blake  <ebb9@byu.net>
53347
53348         Avoid gcc warnings on cygwin.
53349         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
53350         Avoid unused variable.
53351         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
53352         Likewise.
53353
53354 2008-12-22  Bruno Haible  <bruno@clisp.org>
53355
53356         Remove HAVE_MBRTOWC conditionals.
53357         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
53358         (mbscasecmp): Assume mbrtowc function.
53359         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
53360         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
53361         * lib/mbschr.c: Include mbuiter.h unconditionally.
53362         (mbschr): Assume mbrtowc function.
53363         * lib/mbscspn.c: Include mbuiter.h unconditionally.
53364         (mbscspn): Assume mbrtowc function.
53365         * lib/mbslen.c: Include mbuiter.h unconditionally.
53366         (mbslen): Assume mbrtowc function.
53367         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
53368         (mbsncasecmp): Assume mbrtowc function.
53369         * lib/mbsnlen.c: Include mbiter.h unconditionally.
53370         (mbsnlen): Assume mbrtowc function.
53371         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
53372         (mbspbrk): Assume mbrtowc function.
53373         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
53374         (mbspcasecmp): Assume mbrtowc function.
53375         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
53376         (mbsrchr): Assume mbrtowc function.
53377         * lib/mbssep.c: Include mbuiter.h unconditionally.
53378         (mbssep): Assume mbrtowc function.
53379         * lib/mbsspn.c: Include mbuiter.h unconditionally.
53380         (mbsspn): Assume mbrtowc function.
53381         * lib/mbsstr.c: Include mbuiter.h unconditionally.
53382         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
53383         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
53384         (mbstok_r): Assume mbrtowc function.
53385         * lib/propername.c: Include mbuiter.h unconditionally.
53386         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
53387         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
53388         (trim2): Assume mbrtowc function.
53389         * lib/mbswidth.c (mbsinit): Remove fallback definition.
53390         (mbsnwidth): Assume mbrtowc function.
53391         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
53392         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
53393         fallback definitions.
53394         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
53395
53396 2008-12-22  Bruno Haible  <bruno@clisp.org>
53397
53398         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
53399
53400 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
53401
53402         * modules/regex: Request emulations for the mb*/wc* functions we need.
53403         * m4/regex.m4: Don't look for those functions here.
53404         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
53405
53406 2008-12-22  Bruno Haible  <bruno@clisp.org>
53407
53408         * modules/fnmatch (Depends-on): Remove duplicated dependency.
53409
53410 2008-12-21  Bruno Haible  <bruno@clisp.org>
53411
53412         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
53413         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
53414         (Include): Remove conditionalization.
53415         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
53416         (Include): Remove conditionalization.
53417         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
53418         (Include): Remove conditionalization.
53419         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
53420         * m4/mbfile.m4 (gl_MBFILE): Likewise.
53421         * NEWS: Mention the change.
53422         Reported by Alan Hourihane <alanh@fairlite.co.uk>
53423         via Sergey Poznyakoff <gray@gnu.org.ua>.
53424
53425 2008-12-21  Bruno Haible  <bruno@clisp.org>
53426
53427         * MODULES.html.sh (Extended multibyte and wide character utilities
53428         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
53429         wcrtomb, wcsrtombs.
53430         (Support for systems lacking POSIX:2008): Add accept, bind, close,
53431         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
53432         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
53433         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
53434
53435 2008-12-21  Bruno Haible  <bruno@clisp.org>
53436
53437         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
53438
53439 2008-12-21  Bruno Haible  <bruno@clisp.org>
53440
53441         * modules/wcsnrtombs-tests: New file.
53442         * tests/test-wcsnrtombs1.sh: New file.
53443         * tests/test-wcsnrtombs2.sh: New file.
53444         * tests/test-wcsnrtombs3.sh: New file.
53445         * tests/test-wcsnrtombs4.sh: New file.
53446         * tests/test-wcsnrtombs.c: New file.
53447
53448         New module 'wcsnrtombs'.
53449         * lib/wchar.in.h (wcsnrtombs): New declaration.
53450         * lib/wcsnrtombs.c: New file.
53451         * lib/wcsrtombs-state.c: New file.
53452         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
53453         (internal_state): Remove variable.
53454         * m4/wcsnrtombs.m4: New file.
53455         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
53456         compilation units.
53457         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
53458         HAVE_WCSNRTOMBS.
53459         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
53460         HAVE_WCSNRTOMBS.
53461         * modules/wcsnrtombs: New file.
53462         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
53463         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
53464
53465 2008-12-21  Bruno Haible  <bruno@clisp.org>
53466
53467         * modules/wcsrtombs-tests: New file.
53468         * tests/test-wcsrtombs1.sh: New file.
53469         * tests/test-wcsrtombs2.sh: New file.
53470         * tests/test-wcsrtombs3.sh: New file.
53471         * tests/test-wcsrtombs4.sh: New file.
53472         * tests/test-wcsrtombs.c: New file.
53473
53474         New module 'wcsrtombs'.
53475         * lib/wchar.in.h (wcsrtombs): New declaration.
53476         * lib/wcsrtombs.c: New file.
53477         * m4/wcsrtombs.m4: New file.
53478         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
53479         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
53480         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
53481         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
53482         * modules/wcsrtombs: New file.
53483         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
53484         bugs.
53485
53486 2008-12-21  Bruno Haible  <bruno@clisp.org>
53487
53488         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
53489         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
53490         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
53491         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
53492         if not correct.
53493         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
53494         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
53495         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53496         m4/locale-zh.m4, m4/codeset.m4.
53497         * doc/posix-functions/wcrtomb.texi: Document the bug.
53498
53499 2008-12-21  Bruno Haible  <bruno@clisp.org>
53500
53501         Work around a btowc() bug on IRIX 6.5.
53502         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
53503         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
53504         REPLACE_WTOBC if not.
53505         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
53506         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
53507         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
53508
53509 2008-12-21  Bruno Haible  <bruno@clisp.org>
53510
53511         * modules/wcrtomb-tests: New file.
53512         * tests/test-wcrtomb.sh: New file.
53513         * tests/test-wcrtomb.c: New file.
53514
53515         New module 'wcrtomb'.
53516         * lib/wchar.in.h (wcrtomb): New declaration.
53517         * lib/wcrtomb.c: New file.
53518         * m4/wcrtomb.m4: New file.
53519         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
53520         HAVE_WCRTOMB.
53521         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
53522         HAVE_WCRTOMB.
53523         * modules/wcrtomb: New file.
53524         * doc/posix-functions/wcrtomb.texi: Mention the new module.
53525
53526 2008-12-21  Bruno Haible  <bruno@clisp.org>
53527
53528         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
53529         * modules/mbsrtowcs (Files): Likewise.
53530         * modules/wctob (Files): Likewise.
53531         * modules/c-strcase-tests (Files): Likewise.
53532         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
53533         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
53534         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
53535         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
53536         * modules/vasnprintf-posix-tests (Files): Likewise.
53537
53538 2008-12-21  William Pursell  <bill.pursell@gmail.com>
53539
53540         gitlog-to-changelog: pass all command-line arguments to git-log
53541         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
53542         it is sometimes convenient to filter the commits in various ways.
53543         gitlog-to-changelog only allows --since to specify a start date,
53544         but git-log itself supports many other filtering mechanisms.
53545         At the moment, I want to filter by branch name.  Rather than
53546         adding a --branch option to gitlog-to-changelog, it seems more
53547         flexible to simply pass all options directly to git-log and let
53548         git do the work.  Notice that this effectively makes --since a
53549         redundant option for gitlog-to-changelog, but removing it would
53550         require current usage to change since calls would then require
53551         an additional '--'.
53552
53553 2008-12-21  Bruno Haible  <bruno@clisp.org>
53554
53555         * modules/mbsnrtowcs-tests: New file.
53556         * tests/test-mbsnrtowcs1.sh: New file.
53557         * tests/test-mbsnrtowcs2.sh: New file.
53558         * tests/test-mbsnrtowcs3.sh: New file.
53559         * tests/test-mbsnrtowcs4.sh: New file.
53560         * tests/test-mbsnrtowcs.c: New file.
53561
53562         New module 'mbsnrtowcs'.
53563         * lib/wchar.in.h (mbsnrtowcs): New declaration.
53564         * lib/mbsnrtowcs.c: New file.
53565         * lib/mbsrtowcs-state.c: New file.
53566         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
53567         (internal_state): Remove variable.
53568         * m4/mbsnrtowcs.m4: New file.
53569         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
53570         compilation units.
53571         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
53572         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53573         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
53574         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53575         * modules/mbsnrtowcs: New file.
53576         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
53577         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
53578         portability problem.
53579
53580 2008-12-21  Bruno Haible  <bruno@clisp.org>
53581
53582         Work around mbsrtowcs bug.
53583         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
53584         (gl_FUNC_MBSRTOWCS): Invoke it.
53585         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53586         m4/locale-zh.m4.
53587         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
53588
53589 2008-12-21  Bruno Haible  <bruno@clisp.org>
53590
53591         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
53592
53593 2008-12-21  Bruno Haible  <bruno@clisp.org>
53594
53595         Update doc for AIX.
53596         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
53597         16-bit wchar_t type.
53598         * doc/posix-functions/btowc.texi: Likewise.
53599         * doc/posix-functions/fgetwc.texi: Likewise.
53600         * doc/posix-functions/fgetws.texi: Likewise.
53601         * doc/posix-functions/fputwc.texi: Likewise.
53602         * doc/posix-functions/fputws.texi: Likewise.
53603         * doc/posix-functions/fwide.texi: Likewise.
53604         * doc/posix-functions/fwprintf.texi: Likewise.
53605         * doc/posix-functions/fwscanf.texi: Likewise.
53606         * doc/posix-functions/getwchar.texi: Likewise.
53607         * doc/posix-functions/getwc.texi: Likewise.
53608         * doc/posix-functions/iswalnum.texi: Likewise.
53609         * doc/posix-functions/iswalpha.texi: Likewise.
53610         * doc/posix-functions/iswblank.texi: Likewise.
53611         * doc/posix-functions/iswcntrl.texi: Likewise.
53612         * doc/posix-functions/iswctype.texi: Likewise.
53613         * doc/posix-functions/iswdigit.texi: Likewise.
53614         * doc/posix-functions/iswgraph.texi: Likewise.
53615         * doc/posix-functions/iswlower.texi: Likewise.
53616         * doc/posix-functions/iswprint.texi: Likewise.
53617         * doc/posix-functions/iswpunct.texi: Likewise.
53618         * doc/posix-functions/iswspace.texi: Likewise.
53619         * doc/posix-functions/iswupper.texi: Likewise.
53620         * doc/posix-functions/iswxdigit.texi: Likewise.
53621         * doc/posix-functions/mbrtowc.texi: Likewise.
53622         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53623         * doc/posix-functions/mbstowcs.texi: Likewise.
53624         * doc/posix-functions/mbtowc.texi: Likewise.
53625         * doc/posix-functions/putwchar.texi: Likewise.
53626         * doc/posix-functions/putwc.texi: Likewise.
53627         * doc/posix-functions/swprintf.texi: Likewise.
53628         * doc/posix-functions/tolower.texi: Likewise.
53629         * doc/posix-functions/toupper.texi: Likewise.
53630         * doc/posix-functions/towctrans.texi: Likewise.
53631         * doc/posix-functions/ungetwc.texi: Likewise.
53632         * doc/posix-functions/vswprintf.texi: Likewise.
53633         * doc/posix-functions/wcrtomb.texi: Likewise.
53634         * doc/posix-functions/wcscat.texi: Likewise.
53635         * doc/posix-functions/wcschr.texi: Likewise.
53636         * doc/posix-functions/wcscmp.texi: Likewise.
53637         * doc/posix-functions/wcscoll.texi: Likewise.
53638         * doc/posix-functions/wcscpy.texi: Likewise.
53639         * doc/posix-functions/wcscspn.texi: Likewise.
53640         * doc/posix-functions/wcsftime.texi: Likewise.
53641         * doc/posix-functions/wcslen.texi: Likewise.
53642         * doc/posix-functions/wcsncat.texi: Likewise.
53643         * doc/posix-functions/wcsncmp.texi: Likewise.
53644         * doc/posix-functions/wcsncpy.texi: Likewise.
53645         * doc/posix-functions/wcspbrk.texi: Likewise.
53646         * doc/posix-functions/wcsrchr.texi: Likewise.
53647         * doc/posix-functions/wcsrtombs.texi: Likewise.
53648         * doc/posix-functions/wcsspn.texi: Likewise.
53649         * doc/posix-functions/wcsstr.texi: Likewise.
53650         * doc/posix-functions/wcstod.texi: Likewise.
53651         * doc/posix-functions/wcstof.texi: Likewise.
53652         * doc/posix-functions/wcstoimax.texi: Likewise.
53653         * doc/posix-functions/wcstok.texi: Likewise.
53654         * doc/posix-functions/wcstold.texi: Likewise.
53655         * doc/posix-functions/wcstoll.texi: Likewise.
53656         * doc/posix-functions/wcstol.texi: Likewise.
53657         * doc/posix-functions/wcstombs.texi: Likewise.
53658         * doc/posix-functions/wcstoull.texi: Likewise.
53659         * doc/posix-functions/wcstoul.texi: Likewise.
53660         * doc/posix-functions/wcstoumax.texi: Likewise.
53661         * doc/posix-functions/wcswidth.texi: Likewise.
53662         * doc/posix-functions/wcsxfrm.texi: Likewise.
53663         * doc/posix-functions/wctob.texi: Likewise.
53664         * doc/posix-functions/wctomb.texi: Likewise.
53665         * doc/posix-functions/wctrans.texi: Likewise.
53666         * doc/posix-functions/wctype.texi: Likewise.
53667         * doc/posix-functions/wcwidth.texi: Likewise.
53668         * doc/posix-functions/wmemchr.texi: Likewise.
53669         * doc/posix-functions/wmemcmp.texi: Likewise.
53670         * doc/posix-functions/wmemcpy.texi: Likewise.
53671         * doc/posix-functions/wmemmove.texi: Likewise.
53672         * doc/posix-functions/wmemset.texi: Likewise.
53673         * doc/posix-functions/wprintf.texi: Likewise.
53674         * doc/posix-functions/wscanf.texi: Likewise.
53675
53676 2008-12-21  Bruno Haible  <bruno@clisp.org>
53677
53678         Update doc for HP-UX 11.11.
53679         * doc/posix-functions/btowc.texi: Clarify that the function is missing
53680         in HP-UX version 11.00, not in all versions of HP-UX 11.
53681         * doc/posix-functions/fwide.texi: Likewise.
53682         * doc/posix-functions/fwprintf.texi: Likewise.
53683         * doc/posix-functions/fwscanf.texi: Likewise.
53684         * doc/posix-functions/inet_ntop.texi: Likewise.
53685         * doc/posix-functions/inet_pton.texi: Likewise.
53686         * doc/posix-functions/mbrlen.texi: Likewise.
53687         * doc/posix-functions/mbrtowc.texi: Likewise.
53688         * doc/posix-functions/mbsinit.texi: Likewise.
53689         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53690         * doc/posix-functions/swprintf.texi: Likewise.
53691         * doc/posix-functions/swscanf.texi: Likewise.
53692         * doc/posix-functions/towctrans.texi: Likewise.
53693         * doc/posix-functions/vfwprintf.texi: Likewise.
53694         * doc/posix-functions/vswprintf.texi: Likewise.
53695         * doc/posix-functions/vwprintf.texi: Likewise.
53696         * doc/posix-functions/wcrtomb.texi: Likewise.
53697         * doc/posix-functions/wcsrtombs.texi: Likewise.
53698         * doc/posix-functions/wcsstr.texi: Likewise.
53699         * doc/posix-functions/wctob.texi: Likewise.
53700         * doc/posix-functions/wctrans.texi: Likewise.
53701         * doc/posix-functions/wmemchr.texi: Likewise.
53702         * doc/posix-functions/wmemcmp.texi: Likewise.
53703         * doc/posix-functions/wmemcpy.texi: Likewise.
53704         * doc/posix-functions/wmemmove.texi: Likewise.
53705         * doc/posix-functions/wmemset.texi: Likewise.
53706         * doc/posix-functions/wprintf.texi: Likewise.
53707         * doc/posix-functions/wscanf.texi: Likewise.
53708
53709 2008-12-21  Bruno Haible  <bruno@clisp.org>
53710
53711         Work around a portability problem.
53712         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
53713         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
53714
53715 2008-12-20  Bruno Haible  <bruno@clisp.org>
53716
53717         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
53718         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
53719         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
53720         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
53721         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
53722
53723         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
53724         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
53725         set.
53726         (GNULIB_defined_mbstate_t): New macro.
53727         (mbsinit): Redefine if REPLACE_MBSINIT is set.
53728         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
53729         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
53730         reuses the system's mbrtowc function but works around the bugs.
53731         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
53732         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
53733         macros.
53734         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
53735         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
53736         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
53737         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
53738         REPLACE_MBSINIT if mbsinit needs to be overridden.
53739         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
53740         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53741         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
53742         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53743         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53744         m4/locale-zh.m4.
53745         (Depends): Add mbsinit.
53746         * modules/mbsinit (Depends): Add mbrtowc.
53747         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
53748
53749 2008-12-20  Bruno Haible  <bruno@clisp.org>
53750
53751         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
53752         so that there are no conversion errors on AIX.
53753         * tests/test-mbsrtowcs.c (main): LIkewise.
53754
53755 2008-12-20  Bruno Haible  <bruno@clisp.org>
53756
53757         Work around wctob bug on Solaris <= 9.
53758         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
53759         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
53760         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
53761         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
53762         * modules/wctob (Files): Add m4/locale-fr.m4.
53763         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
53764
53765 2008-12-20  Bruno Haible  <bruno@clisp.org>
53766
53767         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
53768         /dev/null.
53769         * tests/test-select-in.sh: Likewise.
53770         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53771
53772 2008-12-20  Bruno Haible  <bruno@clisp.org>
53773
53774         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
53775         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
53776         Cygwin 1.5.x.
53777
53778 2008-12-20  Bruno Haible  <bruno@clisp.org>
53779
53780         Ensure mbstate_t is defined on HP-UX 11.11.
53781         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
53782         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
53783         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
53784         AC_USE_SYSTEM_EXTENSIONS.
53785         * modules/fnmatch (Depends-on): Add extensions.
53786         * modules/mbrlen (Depends-on): Likewise.
53787         * modules/mbrtowc (Depends-on): Likewise.
53788         * modules/mbsinit (Depends-on): Likewise.
53789         * modules/mbsrtowcs (Depends-on): Likewise.
53790         * modules/mbswidth (Depends-on): Likewise.
53791         * modules/quotearg (Depends-on): Likewise.
53792         * modules/strftime (Depends-on): Likewise.
53793
53794 2008-12-20  Bruno Haible  <bruno@clisp.org>
53795
53796         Ensure wctob is declared on IRIX 6.5.
53797         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
53798         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
53799         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
53800         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
53801         of HAVE_WCTOB.
53802         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
53803         HAVE_WCTOB.
53804         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
53805
53806 2008-12-19  Bruno Haible  <bruno@clisp.org>
53807
53808         * modules/mbsrtowcs-tests: New file.
53809         * tests/test-mbsrtowcs1.sh: New file.
53810         * tests/test-mbsrtowcs2.sh: New file.
53811         * tests/test-mbsrtowcs3.sh: New file.
53812         * tests/test-mbsrtowcs4.sh: New file.
53813         * tests/test-mbsrtowcs.c: New file.
53814
53815         New module 'mbsrtowcs'.
53816         * lib/wchar.in.h (mbsrtowcs): New declaration.
53817         * lib/mbsrtowcs.c: New file.
53818         * m4/mbsrtowcs.m4: New file.
53819         * modules/mbsrtowcs: New file.
53820         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
53821         HAVE_MBSRTOWCS.
53822         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
53823         HAVE_MBSRTOWCS.
53824         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
53825
53826 2008-12-19  Bruno Haible  <bruno@clisp.org>
53827
53828         New module 'mbrlen'.
53829         * lib/wchar.in.h (mbrlen): New declaration.
53830         * lib/mbrlen.c: New file.
53831         * m4/mbrlen.m4: New file.
53832         * modules/mbrlen: New file.
53833         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
53834         HAVE_MBRLEN.
53835         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
53836         HAVE_MBRLEN.
53837         * doc/posix-functions/mbrlen.texi: Document the new module.
53838
53839 2008-12-19  Bruno Haible  <bruno@clisp.org>
53840
53841         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
53842         * modules/mbrtowc (Depends-on): Add verify.
53843         Suggested by Paul Eggert.
53844
53845 2008-12-18  Bruno Haible  <bruno@clisp.org>
53846
53847         * modules/mbsinit-tests: New file.
53848         * tests/test-mbsinit.sh: New file.
53849         * tests/test-mbsinit.c: New file.
53850
53851 2008-12-18  Bruno Haible  <bruno@clisp.org>
53852
53853         * modules/mbrtowc-tests: New file.
53854         * tests/test-mbrtowc1.sh: New file.
53855         * tests/test-mbrtowc2.sh: New file.
53856         * tests/test-mbrtowc3.sh: New file.
53857         * tests/test-mbrtowc4.sh: New file.
53858         * tests/test-mbrtowc.c: New file.
53859
53860         New module 'mbrtowc'.
53861         * lib/wchar.in.h (mbstate_t): Override when the system does not have
53862         mbsinit and mbrtowc.
53863         (mbrtowc): New declaration.
53864         * lib/mbrtowc.c: New file.
53865         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
53866         * modules/mbrtowc: New file.
53867         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
53868         HAVE_MBRTOWC.
53869         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
53870         HAVE_MBRTOWC.
53871         * doc/posix-functions/mbrtowc.texi: Document the new module.
53872
53873 2008-12-18  Bruno Haible  <bruno@clisp.org>
53874
53875         New module 'wctob'.
53876         * lib/wchar.in.h (wctob): New declaration.
53877         * lib/wctob.c: New file.
53878         * m4/wctob.m4: New file.
53879         * modules/wctob: New file.
53880         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
53881         HAVE_WCTOB.
53882         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
53883         * doc/posix-functions/wctob.texi: Document the new module.
53884
53885 2008-12-18  Bruno Haible  <bruno@clisp.org>
53886
53887         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
53888         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
53889
53890 2008-12-18  Simon Josefsson  <simon@josefsson.org>
53891
53892         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
53893         G. Christensen" <tgc@jupiterrise.com>.
53894
53895         * lib/flock.c: Need to include errno.h.  Reported by "Tom
53896         G. Christensen" <tgc@jupiterrise.com>.
53897
53898         * lib/flock.c: Need to include string.h.  Reported by "Tom
53899         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
53900         <ebb9@byu.net>.
53901
53902 2008-12-18  Bruno Haible  <bruno@clisp.org>
53903
53904         * m4/locale-ja.m4: New file, from GNU gettext.
53905
53906 2008-12-17  Bruno Haible  <bruno@clisp.org>
53907
53908         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
53909         Suggested by Eric Blake.
53910
53911 2008-12-17  Bruno Haible  <bruno@clisp.org>
53912
53913         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
53914
53915 2008-12-17  Bruno Haible  <bruno@clisp.org>
53916
53917         * lib/mbsinit.c: Include verify.h. Verify an assumption.
53918         * modules/mbsinit (Depends-on): Add verify.
53919         Suggested by Paul Eggert.
53920
53921 2008-12-17  Bruno Haible  <bruno@clisp.org>
53922
53923         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
53924         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
53925         gl_FUNC_MBRTOWC.
53926         * m4/mbiter.m4 (gl_MBITER): LIkewise.
53927         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
53928         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
53929         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
53930         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
53931         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
53932         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
53933         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
53934         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
53935         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
53936         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
53937         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
53938         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
53939         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
53940         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
53941         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53942         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
53943         * modules/trim (configure.ac): Likewise.
53944
53945 2008-12-17  Bruno Haible  <bruno@clisp.org>
53946
53947         * modules/btowc-tests: New file.
53948         * tests/test-btowc1.sh: New file.
53949         * tests/test-btowc2.sh: New file.
53950         * tests/test-btowc.c: New file.
53951
53952         New module 'btowc'.
53953         * lib/wchar.in.h (btowc): New declaration.
53954         * lib/btowc.c: New file.
53955         * m4/btowc.m4: New file.
53956         * modules/btowc: New file.
53957         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
53958         HAVE_BTOWC.
53959         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
53960         * doc/posix-functions/btowc.texi: Document the new module.
53961
53962 2008-12-17  Bruno Haible  <bruno@clisp.org>
53963
53964         New module 'mbsinit'.
53965         * lib/wchar.in.h (mbsinit): New declaration.
53966         * lib/mbsinit.c: New file.
53967         * m4/mbsinit.m4: New file.
53968         * modules/mbsinit: New file.
53969         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
53970         HAVE_MBSINIT.
53971         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
53972         HAVE_MBSINIT.
53973         * doc/posix-functions/mbsinit.texi: Document the new module.
53974
53975 2008-12-16  Bruno Haible  <bruno@clisp.org>
53976
53977         * lib/unistd.in.h: Add comment.
53978         * tests/test-environ.c: Don't include <stdlib.h>.
53979
53980 2008-12-16  Bruno Haible  <bruno@clisp.org>
53981
53982         * lib/parse-duration.h (parse_duration): Document return value
53983         convention.
53984         * lib/parse-duration.c: Include specification header first. Add
53985         comments.
53986         (_): Remove macro.
53987         (parse_year_month_day, parse_hour_minute_second): Move side effects
53988         outside of strchr call.
53989         (parse_non_iso8601): Move side effects outside of isspace call.
53990         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
53991         call.
53992
53993 2008-12-16  Bruno Haible  <bruno@clisp.org>
53994
53995         * tests/test-parse-duration.sh: Produce no output when the test
53996         succeeds.
53997
53998 2008-12-16  Bruno Haible  <bruno@clisp.org>
53999
54000         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
54001         expressions.
54002
54003 2008-12-15  Bruno Haible  <bruno@clisp.org>
54004
54005         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
54006         * doc/glibc-functions/flistxattr.texi: Likewise.
54007         * doc/glibc-functions/fopencookie.texi: Likewise.
54008         * doc/glibc-functions/fremovexattr.texi: Likewise.
54009         * doc/glibc-functions/fsetxattr.texi: Likewise.
54010         * doc/glibc-functions/getxattr.texi: Likewise.
54011         * doc/glibc-functions/lgetxattr.texi: Likewise.
54012         * doc/glibc-functions/listxattr.texi: Likewise.
54013         * doc/glibc-functions/llistxattr.texi: Likewise.
54014         * doc/glibc-functions/lremovexattr.texi: Likewise.
54015         * doc/glibc-functions/lsetxattr.texi: Likewise.
54016         * doc/glibc-functions/removexattr.texi: Likewise.
54017         * doc/glibc-functions/setxattr.texi: Likewise.
54018         * doc/posix-functions/open_memstream.texi: Likewise.
54019
54020 2008-12-15  Eric Blake  <ebb9@byu.net>
54021
54022         Update doc for cygwin 1.7.
54023         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
54024         functions.
54025         * doc/posix-functions/fchmodat.texi: Likewise.
54026         * doc/posix-functions/fchownat.texi: Likewise.
54027         * doc/posix-functions/fdopendir.texi: Likewise.
54028         * doc/posix-functions/fmemopen.texi: Likewise.
54029         * doc/posix-functions/freeaddrinfo.texi: Likewise.
54030         * doc/posix-functions/fstatat.texi: Likewise.
54031         * doc/posix-functions/futimens.texi: Likewise.
54032         * doc/posix-functions/gai_strerror.texi: Likewise.
54033         * doc/posix-functions/getaddrinfo.texi: Likewise.
54034         * doc/posix-functions/getnameinfo.texi: Likewise.
54035         * doc/posix-functions/if_freenameindex.texi: Likewise.
54036         * doc/posix-functions/if_indextoname.texi: Likewise.
54037         * doc/posix-functions/if_nameindex.texi: Likewise.
54038         * doc/posix-functions/if_nametoindex.texi: Likewise.
54039         * doc/posix-functions/insque.texi: Likewise.
54040         * doc/posix-functions/linkat.texi: Likewise.
54041         * doc/posix-functions/llrint.texi: Likewise.
54042         * doc/posix-functions/llrintf.texi: Likewise.
54043         * doc/posix-functions/llrintl.texi: Likewise.
54044         * doc/posix-functions/lockf.texi: Likewise.
54045         * doc/posix-functions/lrintl.texi: Likewise.
54046         * doc/posix-functions/mkdirat.texi: Likewise.
54047         * doc/posix-functions/mkfifoat.texi: Likewise.
54048         * doc/posix-functions/mknodat.texi: Likewise.
54049         * doc/posix-functions/mq_close.texi: Likewise.
54050         * doc/posix-functions/mq_getattr.texi: Likewise.
54051         * doc/posix-functions/mq_notify.texi: Likewise.
54052         * doc/posix-functions/mq_open.texi: Likewise.
54053         * doc/posix-functions/mq_receive.texi: Likewise.
54054         * doc/posix-functions/mq_send.texi: Likewise.
54055         * doc/posix-functions/mq_setattr.texi: Likewise.
54056         * doc/posix-functions/mq_timedreceive.texi: Likewise.
54057         * doc/posix-functions/mq_timedsend.texi: Likewise.
54058         * doc/posix-functions/mq_unlink.texi: Likewise.
54059         * doc/posix-functions/open_memstream.texi: Likewise.
54060         * doc/posix-functions/openat.texi: Likewise.
54061         * doc/posix-functions/posix_fadvise.texi: Likewise.
54062         * doc/posix-functions/posix_fallocate.texi: Likewise.
54063         * doc/posix-functions/posix_madvise.texi: Likewise.
54064         * doc/posix-functions/posix_memalign.texi: Likewise.
54065         * doc/posix-functions/posix_openpt.texi: Likewise.
54066         * doc/posix-functions/readlinkat.texi: Likewise.
54067         * doc/posix-functions/remque.texi: Likewise.
54068         * doc/posix-functions/renameat.texi: Likewise.
54069         * doc/posix-functions/rintl.texi: Likewise.
54070         * doc/posix-functions/sem_unlink.texi: Likewise.
54071         * doc/posix-functions/shm_open.texi: Likewise.
54072         * doc/posix-functions/shm_unlink.texi: Likewise.
54073         * doc/posix-functions/signgam.texi: Likewise.
54074         * doc/posix-functions/sigset.texi: Likewise.
54075         * doc/posix-functions/stpcpy.texi: Likewise.
54076         * doc/posix-functions/stpncpy.texi: Likewise.
54077         * doc/posix-functions/strerror.texi: Likewise.
54078         * doc/posix-functions/strtod.texi: Likewise.
54079         * doc/posix-functions/symlinkat.texi: Likewise.
54080         * doc/posix-functions/unlinkat.texi: Likewise.
54081         * doc/posix-functions/utimensat.texi: Likewise.
54082         * doc/glibc-functions/bindresvport.texi: Likewise.
54083         * doc/glibc-functions/dn_expand.texi: Likewise.
54084         * doc/glibc-functions/exp10.texi: Likewise.
54085         * doc/glibc-functions/exp10f.texi: Likewise.
54086         * doc/glibc-functions/fgetxattr.texi: Likewise.
54087         * doc/glibc-functions/flistxattr.texi: Likewise.
54088         * doc/glibc-functions/fopencookie.texi: Likewise.
54089         * doc/glibc-functions/freeifaddrs.texi: Likewise.
54090         * doc/glibc-functions/fremovexattr.texi: Likewise.
54091         * doc/glibc-functions/fsetxattr.texi: Likewise.
54092         * doc/glibc-functions/getifaddrs.texi: Likewise.
54093         * doc/glibc-functions/getxattr.texi: Likewise.
54094         * doc/glibc-functions/lgetxattr.texi: Likewise.
54095         * doc/glibc-functions/listxattr.texi: Likewise.
54096         * doc/glibc-functions/llistxattr.texi: Likewise.
54097         * doc/glibc-functions/lremovexattr.texi: Likewise.
54098         * doc/glibc-functions/lsetxattr.texi: Likewise.
54099         * doc/glibc-functions/pow10.texi: Likewise.
54100         * doc/glibc-functions/pow10f.texi: Likewise.
54101         * doc/glibc-functions/rcmd_af.texi: Likewise.
54102         * doc/glibc-functions/removexattr.texi: Likewise.
54103         * doc/glibc-functions/res_init.texi: Likewise.
54104         * doc/glibc-functions/res_mkquery.texi: Likewise.
54105         * doc/glibc-functions/res_query.texi: Likewise.
54106         * doc/glibc-functions/res_querydomain.texi: Likewise.
54107         * doc/glibc-functions/res_send.texi: Likewise.
54108         * doc/glibc-functions/rresvport_af.texi: Likewise.
54109         * doc/glibc-functions/setxattr.texi: Likewise.
54110         * doc/glibc-functions/strcasestr.texi: Likewise.
54111
54112 2008-12-15  Bruno Haible  <bruno@clisp.org>
54113
54114         Fix compilation error on OSF/1 4.0.
54115         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
54116         <sys/time.h>, simply delegate to the system header.
54117         Reported by Daniel Richard G. <oss@teragram.com>.
54118
54119 2008-12-15  Bruno Haible  <bruno@clisp.org>
54120
54121         * doc/posix-functions/openat.texi: Mention the 'openat' module.
54122         * doc/posix-functions/fchmodat.texi: Likewise.
54123         * doc/posix-functions/fchownat.texi: Likewise.
54124         * doc/posix-functions/fdopendir.texi: Likewise.
54125         * doc/posix-functions/fstatat.texi: Likewise.
54126         * doc/posix-functions/mkdirat.texi: Likewise.
54127         * doc/posix-functions/unlinkat.texi: Likewise.
54128
54129 2008-12-14  Bruno Haible  <bruno@clisp.org>
54130
54131         Update doc for POSIX:2008.
54132         * doc/posix-functions/faccessat.texi: New file.
54133         * doc/posix-functions/fchmodat.texi: New file.
54134         * doc/posix-functions/fchownat.texi: New file.
54135         * doc/posix-functions/fdopendir.texi: New file.
54136         * doc/posix-functions/fstatat.texi: New file.
54137         * doc/posix-functions/futimens.texi: New file.
54138         * doc/posix-functions/linkat.texi: New file.
54139         * doc/posix-functions/mkdirat.texi: New file.
54140         * doc/posix-functions/mkfifoat.texi: New file.
54141         * doc/posix-functions/mknodat.texi: New file.
54142         * doc/posix-functions/open_wmemstream.texi: New file.
54143         * doc/posix-functions/openat.texi: New file.
54144         * doc/posix-functions/psiginfo.texi: New file.
54145         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
54146         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
54147         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
54148         * doc/posix-functions/readlinkat.texi: New file.
54149         * doc/posix-functions/renameat.texi: New file.
54150         * doc/posix-functions/strerror_l.texi: New file.
54151         * doc/posix-functions/symlinkat.texi: New file.
54152         * doc/posix-functions/unlinkat.texi: New file.
54153         * doc/posix-functions/utimensat.texi: New file.
54154         * doc/gnulib.texi (Function Substitutes): Add these subsections.
54155
54156 2008-12-14  Bruno Haible  <bruno@clisp.org>
54157
54158         Update doc for POSIX:2008.
54159         * doc/posix-functions/alphasort.texi: Renamed from
54160         doc/glibc-functions/alphasort.texi.
54161         * doc/posix-functions/dirfd.texi: Renamed from
54162         doc/glibc-functions/dirfd.texi.
54163         * doc/posix-functions/dprintf.texi: Renamed from
54164         doc/glibc-functions/dprintf.texi.
54165         * doc/posix-functions/duplocale.texi: Renamed from
54166         doc/glibc-functions/duplocale.texi.
54167         * doc/posix-functions/fexecve.texi: Renamed from
54168         doc/glibc-functions/fexecve.texi.
54169         * doc/posix-functions/fmemopen.texi: Renamed from
54170         doc/glibc-functions/fmemopen.texi.
54171         * doc/posix-functions/freelocale.texi: Renamed from
54172         doc/glibc-functions/freelocale.texi.
54173         * doc/posix-functions/getdate_err.texi: Renamed from
54174         doc/glibc-functions/getdate_err.texi.
54175         * doc/posix-functions/isalnum_l.texi: Renamed from
54176         doc/glibc-functions/isalnum_l.texi.
54177         * doc/posix-functions/isalpha_l.texi: Renamed from
54178         doc/glibc-functions/isalpha_l.texi.
54179         * doc/posix-functions/isblank_l.texi: Renamed from
54180         doc/glibc-functions/isblank_l.texi.
54181         * doc/posix-functions/iscntrl_l.texi: Renamed from
54182         doc/glibc-functions/iscntrl_l.texi.
54183         * doc/posix-functions/isdigit_l.texi: Renamed from
54184         doc/glibc-functions/isdigit_l.texi.
54185         * doc/posix-functions/isgraph_l.texi: Renamed from
54186         doc/glibc-functions/isgraph_l.texi.
54187         * doc/posix-functions/islower_l.texi: Renamed from
54188         doc/glibc-functions/islower_l.texi.
54189         * doc/posix-functions/isprint_l.texi: Renamed from
54190         doc/glibc-functions/isprint_l.texi.
54191         * doc/posix-functions/ispunct_l.texi: Renamed from
54192         doc/glibc-functions/ispunct_l.texi.
54193         * doc/posix-functions/isspace_l.texi: Renamed from
54194         doc/glibc-functions/isspace_l.texi.
54195         * doc/posix-functions/isupper_l.texi: Renamed from
54196         doc/glibc-functions/isupper_l.texi.
54197         * doc/posix-functions/iswalnum_l.texi: Renamed from
54198         doc/glibc-functions/iswalnum_l.texi.
54199         * doc/posix-functions/iswalpha_l.texi: Renamed from
54200         doc/glibc-functions/iswalpha_l.texi.
54201         * doc/posix-functions/iswblank_l.texi: Renamed from
54202         doc/glibc-functions/iswblank_l.texi.
54203         * doc/posix-functions/iswcntrl_l.texi: Renamed from
54204         doc/glibc-functions/iswcntrl_l.texi.
54205         * doc/posix-functions/iswctype_l.texi: Renamed from
54206         doc/glibc-functions/iswctype_l.texi.
54207         * doc/posix-functions/iswdigit_l.texi: Renamed from
54208         doc/glibc-functions/iswdigit_l.texi.
54209         * doc/posix-functions/iswgraph_l.texi: Renamed from
54210         doc/glibc-functions/iswgraph_l.texi.
54211         * doc/posix-functions/iswlower_l.texi: Renamed from
54212         doc/glibc-functions/iswlower_l.texi.
54213         * doc/posix-functions/iswprint_l.texi: Renamed from
54214         doc/glibc-functions/iswprint_l.texi.
54215         * doc/posix-functions/iswpunct_l.texi: Renamed from
54216         doc/glibc-functions/iswpunct_l.texi.
54217         * doc/posix-functions/iswspace_l.texi: Renamed from
54218         doc/glibc-functions/iswspace_l.texi.
54219         * doc/posix-functions/iswupper_l.texi: Renamed from
54220         doc/glibc-functions/iswupper_l.texi.
54221         * doc/posix-functions/iswxdigit_l.texi: Renamed from
54222         doc/glibc-functions/iswxdigit_l.texi.
54223         * doc/posix-functions/isxdigit_l.texi: Renamed from
54224         doc/glibc-functions/isxdigit_l.texi.
54225         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
54226         doc/glibc-functions/mbsnrtowcs.texi.
54227         * doc/posix-functions/mkdtemp.texi: Renamed from
54228         doc/glibc-functions/mkdtemp.texi.
54229         * doc/posix-functions/newlocale.texi: Renamed from
54230         doc/glibc-functions/newlocale.texi.
54231         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
54232         doc/glibc-functions/nl_langinfo_l.texi.
54233         * doc/posix-functions/open_memstream.texi: Renamed from
54234         doc/glibc-functions/open_memstream.texi.
54235         * doc/posix-functions/opterr.texi: Renamed from
54236         doc/glibc-functions/opterr.texi.
54237         * doc/posix-functions/optind.texi: Renamed from
54238         doc/glibc-functions/optind.texi.
54239         * doc/posix-functions/optopt.texi: Renamed from
54240         doc/glibc-functions/optopt.texi.
54241         * doc/posix-functions/psignal.texi: Renamed from
54242         doc/glibc-functions/psignal.texi.
54243         * doc/posix-functions/scandir.texi: Renamed from
54244         doc/glibc-functions/scandir.texi.
54245         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
54246         doc/glibc-functions/sched_get_priority_min.texi.
54247         * doc/posix-functions/signgam.texi: Renamed from
54248         doc/glibc-functions/signgam.texi.
54249         * doc/posix-functions/stpcpy.texi: Renamed from
54250         doc/glibc-functions/stpcpy.texi.
54251         * doc/posix-functions/stpncpy.texi: Renamed from
54252         doc/glibc-functions/stpncpy.texi.
54253         * doc/posix-functions/strcasecmp_l.texi: Renamed from
54254         doc/glibc-functions/strcasecmp_l.texi.
54255         * doc/posix-functions/strcoll_l.texi: Renamed from
54256         doc/glibc-functions/strcoll_l.texi.
54257         * doc/posix-functions/strfmon_l.texi: Renamed from
54258         doc/glibc-functions/strfmon_l.texi.
54259         * doc/posix-functions/strftime_l.texi: Renamed from
54260         doc/glibc-functions/strftime_l.texi.
54261         * doc/posix-functions/strncasecmp_l.texi: Renamed from
54262         doc/glibc-functions/strncasecmp_l.texi.
54263         * doc/posix-functions/strndup.texi: Renamed from
54264         doc/glibc-functions/strndup.texi.
54265         * doc/posix-functions/strnlen.texi: Renamed from
54266         doc/glibc-functions/strnlen.texi.
54267         * doc/posix-functions/strsignal.texi: Renamed from
54268         doc/glibc-functions/strsignal.texi.
54269         * doc/posix-functions/strxfrm_l.texi: Renamed from
54270         doc/glibc-functions/strxfrm_l.texi.
54271         * doc/posix-functions/timer_gettime.texi: Renamed from
54272         doc/glibc-functions/timer_gettime.texi.
54273         * doc/posix-functions/tolower_l.texi: Renamed from
54274         doc/glibc-functions/tolower_l.texi.
54275         * doc/posix-functions/toupper_l.texi: Renamed from
54276         doc/glibc-functions/toupper_l.texi.
54277         * doc/posix-functions/towctrans_l.texi: Renamed from
54278         doc/glibc-functions/towctrans_l.texi.
54279         * doc/posix-functions/towlower_l.texi: Renamed from
54280         doc/glibc-functions/towlower_l.texi.
54281         * doc/posix-functions/towupper_l.texi: Renamed from
54282         doc/glibc-functions/towupper_l.texi.
54283         * doc/posix-functions/uselocale.texi: Renamed from
54284         doc/glibc-functions/uselocale.texi.
54285         * doc/posix-functions/vdprintf.texi: Renamed from
54286         doc/glibc-functions/vdprintf.texi.
54287         * doc/posix-functions/wcpcpy.texi:
54288         Renamed from doc/glibc-functions/wcpcpy.texi.
54289         * doc/posix-functions/wcpncpy.texi: Renamed from
54290         doc/glibc-functions/wcpncpy.texi.
54291         * doc/posix-functions/wcscasecmp.texi: Renamed from
54292         doc/glibc-functions/wcscasecmp.texi.
54293         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
54294         doc/glibc-functions/wcscasecmp_l.texi.
54295         * doc/posix-functions/wcscoll_l.texi: Renamed from
54296         doc/glibc-functions/wcscoll_l.texi.
54297         * doc/posix-functions/wcsdup.texi: Renamed from
54298         doc/glibc-functions/wcsdup.texi.
54299         * doc/posix-functions/wcsncasecmp.texi: Renamed from
54300         doc/glibc-functions/wcsncasecmp.texi.
54301         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
54302         doc/glibc-functions/wcsncasecmp_l.texi.
54303         * doc/posix-functions/wcsnlen.texi: Renamed from
54304         doc/glibc-functions/wcsnlen.texi.
54305         * doc/posix-functions/wcsnrtombs.texi: Renamed from
54306         doc/glibc-functions/wcsnrtombs.texi.
54307         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
54308         doc/glibc-functions/wcsxfrm_l.texi.
54309         * doc/posix-functions/wctrans_l.texi: Renamed from
54310         doc/glibc-functions/wctrans_l.texi.
54311         * doc/posix-functions/wctype_l.texi: Renamed from
54312         doc/glibc-functions/wctype_l.texi.
54313         * doc/gnulib.texi (Function Substitutes): Add these subsections.
54314         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
54315         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
54316         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
54317         these subsections.
54318         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
54319         Remove sections.
54320
54321 2008-12-14  Bruno Haible  <bruno@clisp.org>
54322
54323         Update doc for POSIX:2008.
54324         * doc/posix-functions/*.texi: Update URL of POSIX specification.
54325
54326 2008-12-14  Bruno Haible  <bruno@clisp.org>
54327
54328         Update doc for POSIX:2008.
54329         * doc/pastposix-functions/bcmp.texi: Renamed from
54330         doc/posix-functions/bcmp.texi.
54331         * doc/pastposix-functions/bcopy.texi: Renamed from
54332         doc/posix-functions/bcopy.texi.
54333         * doc/pastposix-functions/bsd_signal.texi: Renamed from
54334         doc/posix-functions/bsd_signal.texi.
54335         * doc/pastposix-functions/bzero.texi: Renamed from
54336         doc/posix-functions/bzero.texi.
54337         * doc/pastposix-functions/ecvt.texi: Renamed from
54338         doc/posix-functions/ecvt.texi.
54339         * doc/pastposix-functions/fcvt.texi: Renamed from
54340         doc/posix-functions/fcvt.texi.
54341         * doc/pastposix-functions/ftime.texi: Renamed from
54342         doc/posix-functions/ftime.texi.
54343         * doc/pastposix-functions/gcvt.texi: Renamed from
54344         doc/posix-functions/gcvt.texi.
54345         * doc/pastposix-functions/getcontext.texi: Renamed from
54346         doc/posix-functions/getcontext.texi.
54347         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
54348         doc/posix-functions/gethostbyaddr.texi.
54349         * doc/pastposix-functions/gethostbyname.texi: Renamed from
54350         doc/posix-functions/gethostbyname.texi.
54351         * doc/pastposix-functions/getwd.texi: Renamed from
54352         doc/posix-functions/getwd.texi.
54353         * doc/pastposix-functions/h_errno.texi: Renamed from
54354         doc/posix-functions/h_errno.texi.
54355         * doc/pastposix-functions/index.texi: Renamed from
54356         doc/posix-functions/index.texi.
54357         * doc/pastposix-functions/makecontext.texi: Renamed from
54358         doc/posix-functions/makecontext.texi.
54359         * doc/pastposix-functions/mktemp.texi: Renamed from
54360         doc/posix-functions/mktemp.texi.
54361         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
54362         doc/posix-functions/pthread_attr_getstackaddr.texi.
54363         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
54364         doc/posix-functions/pthread_attr_setstackaddr.texi.
54365         * doc/pastposix-functions/rindex.texi: Renamed from
54366         doc/posix-functions/rindex.texi.
54367         * doc/pastposix-functions/scalb.texi: Renamed from
54368         doc/posix-functions/scalb.texi.
54369         * doc/pastposix-functions/setcontext.texi: Renamed from
54370         doc/posix-functions/setcontext.texi.
54371         * doc/pastposix-functions/swapcontext.texi: Renamed from
54372         doc/posix-functions/swapcontext.texi.
54373         * doc/pastposix-functions/ualarm.texi: Renamed from
54374         doc/posix-functions/ualarm.texi.
54375         * doc/pastposix-functions/usleep.texi: Renamed from
54376         doc/posix-functions/usleep.texi.
54377         * doc/pastposix-functions/vfork.texi: Renamed from
54378         doc/posix-functions/vfork.texi.
54379         * doc/pastposix-functions/wcswcs.texi: Renamed from
54380         doc/posix-functions/wcswcs.texi.
54381         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
54382         (Function Substitutes): Update.
54383
54384 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54385
54386         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
54387         m4/strerror.m4.
54388
54389 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54390             Bruno Haible  <bruno@clisp.org>
54391
54392         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
54393
54394 2008-12-13  Bruno Haible  <bruno@clisp.org>
54395
54396         * modules/strtoull (Depends-on): Remove unistd.
54397
54398 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54399
54400         * modules/strtoull (Depends-on): Add stdlib.
54401
54402 2008-12-11  Simon Josefsson  <simon@josefsson.org>
54403
54404         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
54405
54406 2008-12-10  Jim Meyering  <meyering@redhat.com>
54407
54408         gl_ASSERT: don't say assertions are disabled when they're not
54409         * m4/assert.m4 (gl_ASSERT): Do not make configure report
54410         "checking whether to enable assertions... no", when they are in
54411         fact enabled.  This is solely a bug in the output of configure.
54412         In spite of saying "no", NDEBUG was not defined in that case.
54413         Also, as noted by Eric Blake, leave assertions enabled upon
54414         --enable-assert=INVALID.
54415
54416 2008-12-10  Bruno Haible  <bruno@clisp.org>
54417
54418         Change MODULES.html to refer to POSIX:2008 where possible.
54419         * MODULES.html.sh (POSIX2008_URL): New variable.
54420         (posix_headers): Remove sys/timeb, ucontext.
54421         (posix2001_headers): New variable.
54422         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
54423         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
54424         index, makecontext, mktemp, pthread_attr_getstackaddr,
54425         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
54426         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
54427         (posix2001_functions): New variable.
54428         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
54429         otherwise.
54430
54431 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54432
54433         add missing include to parse-duration.c
54434         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
54435         * modules/parse-duration (Depends-on): Add xalloc.
54436
54437         fix sed script reading maint.mk
54438         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
54439         (syntax-check-rules): Use it.
54440
54441 2008-12-09  Bruno Haible  <bruno@clisp.org>
54442
54443         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
54444         MacOS X 10.4/PowerPC.
54445         Reported by Simon Josefsson.
54446
54447 2008-12-08  Jim Meyering  <meyering@redhat.com>
54448
54449         work around mingw's lack of some S_IF definitions
54450         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
54451         Reported by Simon Josefsson.
54452
54453 2008-12-08  Bruno Haible  <bruno@clisp.org>
54454
54455         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
54456         applied to variables. Needed on MacOS X 10.4/PowerPC.
54457         Reported by Simon Josefsson.
54458
54459 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
54460         and Eric Blake  <ebb9@byu.net>
54461
54462         assert: honor --enable-assert
54463         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
54464         order to honor --enable-assert, rather than treating it as a
54465         synonym for --disable-assert.
54466
54467 2008-12-08  Jim Meyering  <meyering@redhat.com>
54468
54469         * lib/posixtm.c: Remove now-useless declaration of mktime.
54470
54471         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
54472
54473 2008-12-07  Bruno Haible  <bruno@clisp.org>
54474
54475         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
54476         test_once): Mark functions as static.
54477         * tests/test-tls.c (test_tls): Likewise.
54478
54479 2008-12-07  Bruno Haible  <bruno@clisp.org>
54480
54481         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
54482         iconv_register_autodetect.
54483
54484 2008-12-07  Jim Meyering  <meyering@redhat.com>
54485
54486         posixtm.c: avoid a warning
54487         * lib/posixtm.c (posixtime): Don't initialize tm0.
54488         It's no longer needed to placate gcc4's -Wuninitialized,
54489         and the attempt to placate would elicit a new warning.
54490
54491         unicodeio.c: mark unused parameters
54492         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
54493         (fallback_failure_callback): Likewise.
54494
54495 2008-12-07  Bruno Haible  <bruno@clisp.org>
54496
54497         * gnulib-tool (func_create_testdir): When building the tests
54498         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
54499         Reported by Simon Josefsson.
54500
54501 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54502
54503         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
54504
54505 2008-12-06  Bruno Haible  <bruno@clisp.org>
54506
54507         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
54508         Suggested by Eric Blake.
54509
54510 2008-12-06  Bruno Haible  <bruno@clisp.org>
54511
54512         Fix a c-stack test failure on MacOS X.
54513         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
54514         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
54515         handler for SIGBUS as well.
54516         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
54517         install a signal handler for SIGBUS as well.
54518         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
54519
54520 2008-12-06  Bruno Haible  <bruno@clisp.org>
54521
54522         Advocacy documentation.
54523         * doc/gnulib-intro.texi (Benefits): New section.
54524         * doc/gnulib.texi: Update.
54525
54526 2008-12-06  Bruno Haible  <bruno@clisp.org>
54527
54528         Document the 'manywarnings' module.
54529         * doc/manywarnings.texi: New file.
54530         * doc/gnulib.texi: Include it.
54531
54532 2008-12-05  Eric Blake  <ebb9@byu.net>
54533
54534         tests: silence some gcc warnings
54535         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
54536         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
54537         type mismatches.
54538
54539 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54540             Bruno Haible  <bruno@clisp.org>
54541
54542         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
54543
54544 2008-11-29  Jim Meyering  <meyering@redhat.com>
54545
54546         unicodeio.c: mark unused parameters
54547         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
54548         (fallback_failure_callback): Likewise.
54549
54550         fts: fix a thinko
54551         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
54552         (set_stat_type): Return S_IF*-valued "type" directly.
54553         Prompted by James Youngman's spotting a related bug.
54554         Confirmed by further testing through find.
54555
54556         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
54557         * lib/fts.c (D_TYPE): Define.
54558         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
54559         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
54560         (s_ifmt_shift_bits): New function.
54561         (set_stat_type): New function.
54562         (fts_build): When not calling fts_stat, call set_stat_type
54563         to propagate dirent.d_type info to fts_read caller.
54564         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
54565         fts_statp->st_mode type information may be valid.
54566
54567 2008-11-28  Simon Josefsson  <simon@josefsson.org>
54568
54569         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
54570         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
54571         <sds@gnu.org>.
54572
54573 2008-11-20  Bruno Haible  <bruno@clisp.org>
54574
54575         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
54576         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
54577         INCLUDE_NEXT.
54578         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
54579         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
54580         * modules/math (Makefile.am): Substitute
54581         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
54582         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54583
54584 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
54585             Bruno Haible  <bruno@clisp.org>
54586
54587         * lib/stdint.in.h: Define all type macros so that their expansion is
54588         a single typedef'ed token. Fixes a compilation failure in Boost which
54589         does "using ::int8_t;".
54590
54591 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54592
54593         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
54594         gl_MANYWARN_ALL_GCC.
54595         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
54596         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
54597         * modules/manywarnings: New file.
54598         * MODULES.html.sh: Mention manywarnings module.
54599
54600 2008-11-18  Bruno Haible  <bruno@clisp.org>
54601
54602         * doc/gnulib-tool.texi (Unit tests): New section.
54603
54604 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54605
54606         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
54607         paths like 'lib/po/foo.po'.
54608
54609 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54610
54611         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
54612         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
54613
54614 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54615
54616         * m4/warnings.m4: Use CPPFLAGS to really check whether the
54617         parameter works.
54618
54619 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54620
54621         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
54622
54623 2008-11-17  Bruce Korb  <bkorb@gnu.org>
54624
54625         * modules/parse-duration-tests: New file.
54626         * tests/test-parse-duration.sh: New file.
54627         * tests/test-parse-duration.c: New file.
54628
54629         New module 'parse-duration'.
54630         * lib/parse-duration.h: New file.
54631         * lib/parse-duration.c: New file.
54632         * modules/parse-duration: New file.
54633
54634 2008-11-17  Bruno Haible  <bruno@clisp.org>
54635
54636         * tests/test-select-out.sh: Comment out the first pipe test.
54637         Reported by Simon Josefsson.
54638
54639 2008-11-17  Bruno Haible  <bruno@clisp.org>
54640
54641         * modules/getaddrinfo (Depends-on): Add servent, hostent.
54642         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
54643         gl_HOSTENT.
54644
54645 2008-11-17  Bruno Haible  <bruno@clisp.org>
54646
54647         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
54648         -lnetwork and -lnet. Needed for Haiku and BeOS.
54649
54650 2008-11-16  Bruno Haible  <bruno@clisp.org>
54651
54652         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
54653
54654 2008-11-16  Bruno Haible  <bruno@clisp.org>
54655
54656         Avoid test failure on Haiku.
54657         * tests/test-fsync.c: Include <errno.h>.
54658         (main): Don't require that fsync (0) fails.
54659
54660 2008-11-15  Bruno Haible  <bruno@clisp.org>
54661
54662         New module 'hostent'.
54663         * modules/hostent: New file.
54664         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
54665
54666 2008-11-15  Bruno Haible  <bruno@clisp.org>
54667
54668         New module 'servent'.
54669         * modules/servent: New file.
54670         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
54671
54672 2008-11-15  Bruno Haible  <bruno@clisp.org>
54673
54674         Avoid generating same test program with two different rules.
54675         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
54676         test-frexp to test-frexp-nolibm.
54677         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
54678         test-frexpl to test-frexpl-nolibm.
54679
54680 2008-11-15  Bruno Haible  <bruno@clisp.org>
54681
54682         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
54683         $(FREXPL_LIBM).
54684
54685 2008-11-15  Bruno Haible  <bruno@clisp.org>
54686
54687         * lib/netdb.in.h: Activate the definitions also when the system's
54688         <netdb.h> has 'struct addrinfo'.
54689         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
54690         EAI_OVERFLOW or AI_NUMERICSERV.
54691         * doc/posix-headers/netdb.texi: Document the problem.
54692
54693 2008-11-15  Bruno Haible  <bruno@clisp.org>
54694
54695         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
54696
54697         Make the 'sched' module work on platforms where <sched.h> exists but
54698         is incomplete (such as Haiku).
54699         * lib/sched.in.h; Include the system's <sched.h> if it exists.
54700         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
54701         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
54702         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
54703         HAVE_STRUCT_SCHED_PARAM.
54704         * modules/sched (Depends-on): Add include_next.
54705         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
54706         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
54707         * doc/posix-headers/sched.texi: Document the issue.
54708
54709 2008-11-13  Jim Meyering  <meyering@redhat.com>
54710
54711         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
54712         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
54713         test would fail due to the difference in the Report bugs to ...
54714         line.  The expected address is empty, "<>", while the actual
54715         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
54716
54717 2008-11-12  Bruno Haible  <bruno@clisp.org>
54718
54719         lstat: don't compile lstat.c on systems lacking lstat
54720         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
54721         which don't have lstat; this is handled by lib/sys_stat.in.h already.
54722         Reported by Daniel P. Berrange via Jim Meyering.
54723
54724 2008-11-12  Jim Meyering  <meyering@redhat.com>
54725
54726         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
54727
54728 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54729
54730         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
54731         instead.
54732
54733 2008-11-12  Bruno Haible  <bruno@clisp.org>
54734
54735         * lib/unicodeio.c: Include unistr.h.
54736         (utf8_wctomb): Remove function.
54737         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
54738
54739 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54740
54741         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
54742         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
54743         <bruno@clisp.org>.
54744         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
54745
54746 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54747
54748         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
54749         * doc/gnulib.texi: Add section for warnings.
54750
54751 2008-11-11  Bruno Haible  <bruno@clisp.org>
54752
54753         * lib/sockets.h: Add a comment.
54754
54755 2008-11-11  Karl Berry  <karl@gnu.org>
54756
54757         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
54758
54759 2008-11-11  Eric Blake  <ebb9@byu.net>
54760
54761         fdl.texi: avoid git symlinks
54762         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
54763
54764 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54765
54766         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
54767
54768 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54769
54770         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
54771         (gl_WARN_ADD): Substitute $2 if literal.
54772
54773 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54774
54775         * m4/warning.m4: Remove.
54776
54777 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54778
54779         * m4/warnings.m4: Almost complete rewrite. :-)
54780
54781 2008-11-10  Simon Josefsson  <simon@josefsson.org>
54782
54783         * modules/warnings: New module.
54784         * m4/warnings.m4: New file.
54785         * MODULES.html.sh: Mention warnings module.
54786         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
54787         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54788
54789 2008-11-10  Eric Blake  <ebb9@byu.net>
54790
54791         fdl.texi: make a symlink to the latest version
54792         * doc/standards.texi: Revert today's earlier change.
54793         * doc/fdl-1.2.texi: Rename from old fdl.texi...
54794         * doc/fdl.texi: ...and replace this with a symlink to the newer
54795         fdl-1.3.texi.
54796
54797 2008-11-10  Bruno Haible  <bruno@clisp.org>
54798
54799         * tests/test-select-fd.c (main): Accept the result file name as fourth
54800         argument.
54801         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
54802         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
54803
54804 2008-11-10  Bruno Haible  <bruno@clisp.org>
54805
54806         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
54807         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
54808         as autoconf-substituted macros.
54809         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
54810         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
54811         gl_NETDB_H_DEFAULTS. Set these variables.
54812         * modules/netdb (Makefile.am): Substitute these variables.
54813
54814 2008-11-10  Eric Blake  <ebb9@byu.net>
54815
54816         standards.texi: include correct file for FDL 1.3
54817         * doc/standards.texi (GNU Free Documentation License): Change
54818         include file to pull in FDL 1.3, not 1.2.
54819
54820         fdl.texi: revert accidental change to license
54821         * doc/fdl.texi: This is FDL 1.2, not 1.3.
54822
54823 2008-11-10  Bruno Haible  <bruno@clisp.org>
54824
54825         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
54826         cross-compiling guesses also when the native compile gives no result.
54827
54828 2008-11-10  Bruno Haible  <bruno@clisp.org>
54829
54830         * lib/spawni.c (__spawni): Force variable into the stack.
54831
54832 2008-11-10  Bruno Haible  <bruno@clisp.org>
54833
54834         Add support for Haiku.
54835         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
54836         glibc and BeOS, but also on Haiku.
54837         * lib/fpurge.c (fpurge): Likewise.
54838         * lib/freadable.c (freadable): Likewise.
54839         * lib/freadahead.c (freadahead): Likewise.
54840         * lib/freading.c (freading): Likewise.
54841         * lib/freadptr.c (freadptr): Likewise.
54842         * lib/freadseek.c (freadptrinc): Likewise.
54843         * lib/fseeko.c (rpl_fseeko): Likewise.
54844         * lib/fseterr.c (fseterr): Likewise.
54845         * lib/fwritable.c (fwritable): Likewise.
54846         * lib/fwriting.c (fwriting): Likewise.
54847         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
54848
54849 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54850
54851         * lib/config.charset: Treat Haiku like BeOS.
54852
54853 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54854
54855         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
54856         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
54857
54858 2008-11-08  Bruno Haible  <bruno@clisp.org>
54859
54860         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
54861         AC_CACHE_CHECK.
54862
54863 2008-11-08  Bruno Haible  <bruno@clisp.org>
54864
54865         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
54866
54867 2008-11-08  Bruno Haible  <bruno@clisp.org>
54868
54869         * tests/test-select-fd.c: New file.
54870         * tests/test-select-in.sh: New file.
54871         * tests/test-select-out.sh: New file.
54872         * tests/test-select-stdin.c: New file.
54873         * modules/select-tests (Files): Add the new files.
54874         (Depends-on): Add gettimeofday.
54875         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
54876         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
54877         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
54878
54879 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
54880             Bruno Haible  <bruno@clisp.org>
54881
54882         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
54883
54884 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
54885
54886         * build-aux/pmccabe2html: Added support for C++ source files.
54887
54888 2008-11-05  Ben Pfaff  <blp@gnu.org>
54889
54890         Fix lib/close.c build on Windows.
54891         * modules/close (Files): Add lib/w32sock.h.
54892
54893 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
54894
54895         Accept Bison's NEWS format.
54896         * build-aux/announce-gen (print_news_deltas): Tweak
54897         $re_prefix.
54898
54899 2008-11-04  Bruno Haible  <bruno@clisp.org>
54900
54901         * modules/random_r (Maintainer): Add glibc.
54902
54903 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54904
54905         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
54906         by karl@freefriends.org (Karl Berry).
54907         * doc/alloca.texi: Likewise.
54908         * doc/c-ctype.texi: Likewise.
54909         * doc/c-strcase.texi: Likewise.
54910         * doc/c-strcaseeq.texi: Likewise.
54911         * doc/c-strcasestr.texi: Likewise.
54912         * doc/c-strstr.texi: Likewise.
54913         * doc/c-strtod.texi: Likewise.
54914         * doc/c-strtold.texi: Likewise.
54915         * doc/ctime.texi: Likewise.
54916         * doc/error.texi: Likewise.
54917         * doc/fdl.texi: Likewise.
54918         * doc/gcd.texi: Likewise.
54919         * doc/getdate.texi: Likewise.
54920         * doc/gnulib-intro.texi: Likewise.
54921         * doc/gnulib-tool.texi: Likewise.
54922         * doc/gnulib.texi: Likewise.
54923         * doc/inet_ntoa.texi: Likewise.
54924         * doc/maintain.texi: Likewise.
54925         * doc/make-stds.texi: Likewise.
54926         * doc/quote.texi: Likewise.
54927         * doc/regexprops-generic.texi: Likewise.
54928         * doc/standards.texi: Likewise.
54929         * doc/verify.texi: Likewise.
54930         * doc/visibility.texi: Likewise.
54931         * doc/gnulib.texi (GNU Free Documentation License): Include
54932         fdl-1.3.texi instead of fdl.texi.
54933
54934 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54935
54936         * doc/fdl-1.3.texi: New file, from
54937         <http://www.gnu.org/licenses/fdl-1.3.texi>.
54938         * modules/fdl-1.3: Add.
54939         * MODULES.html.sh: Add fdl-1.3.
54940
54941 2008-11-03  Bruno Haible  <bruno@clisp.org>
54942
54943         Make determination of absolute name of header file work with AIX xlc.
54944         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
54945         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
54946         preprocessing.
54947         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54948         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
54949
54950 2008-11-03  Simon Josefsson  <simon@josefsson.org>
54951
54952         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
54953         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
54954         <ludo@gnu.org>.
54955
54956 2008-11-02  Bruno Haible  <bruno@clisp.org>
54957
54958         Mark 'strpbrk' obsolete.
54959         * modules/strpbrk (Status, Notice): New sections.
54960         * modules/strtok_r (Depends-on): Add strpbrk.
54961
54962 2008-11-02  Bruno Haible  <bruno@clisp.org>
54963
54964         Mark 'strdup' obsolete.
54965         * modules/strdup (Status, Notice): New sections.
54966         * modules/findprog (Depends-on): Add strdup.
54967         * modules/getaddrinfo (Depends-on): Likewise.
54968         * modules/localename (Depends-on): Likewise.
54969         * modules/relocatable-lib (Depends-on): Likewise.
54970         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
54971         * modules/relocatable-prog (Depends-on): Likewise.
54972         * modules/trim (Depends-on): Likewise.
54973         * modules/unictype/gen-ctype (Depends-on): Likewise.
54974         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54975
54976 2008-11-02  Bruno Haible  <bruno@clisp.org>
54977
54978         Mark 'strcspn' obsolete.
54979         * modules/strcspn (Status, Notice): New sections.
54980
54981 2008-11-02  Bruno Haible  <bruno@clisp.org>
54982
54983         Mark 'rmdir' obsolete.
54984         * modules/rmdir (Status, Notice): New sections.
54985         * modules/clean-temp (Depends-on): Add rmdir.
54986         * modules/openat (Depends-on): Likewise.
54987
54988 2008-11-02  Bruno Haible  <bruno@clisp.org>
54989
54990         Mark 'raise' obsolete.
54991         * modules/raise (Status, Notice): New sections.
54992         (Include): Specify <signal.h>.
54993         * modules/stdio (Depends-on): Add raise.
54994         * modules/write (Depends-on): Likewise.
54995
54996 2008-11-02  Bruno Haible  <bruno@clisp.org>
54997
54998         Mark 'memset' obsolete.
54999         * modules/memset (Status, Notice): New sections.
55000
55001 2008-11-02  Bruno Haible  <bruno@clisp.org>
55002
55003         Mark 'memmove' obsolete.
55004         * modules/memmove (Status, Notice): New sections.
55005         * modules/argp (Depends-on): Add memmove.
55006         * modules/argz (Depends-on): Likewise.
55007         * modules/canonicalize (Depends-on): Likewise.
55008         * modules/canonicalize-lgpl (Depends-on): Likewise.
55009         * modules/fts (Depends-on): Likewise.
55010         * modules/getcwd (Depends-on): Likewise.
55011         * modules/human (Depends-on): Likewise.
55012         * modules/regex (Depends-on): Likewise.
55013         * modules/striconveh (Depends-on): Likewise.
55014         * modules/trim (Depends-on): Likewise.
55015         * modules/unistr/u8-move (Depends-on): Likewise.
55016         * modules/unistr/u16-move (Depends-on): Likewise.
55017         * modules/unistr/u32-move (Depends-on): Likewise.
55018
55019 2008-11-02  Bruno Haible  <bruno@clisp.org>
55020
55021         Mark 'memcpy' obsolete.
55022         * modules/memcpy (Status, Notice): New sections.
55023
55024 2008-11-02  Bruno Haible  <bruno@clisp.org>
55025
55026         Mark 'memcmp' obsolete.
55027         * modules/memcmp (Status, Notice): New sections.
55028         * modules/argmatch (Depends-on): Add memchr.
55029         * modules/backupfile (Depends-on): Likewise.
55030         * modules/c-strcasestr (Depends-on): Likewise.
55031         * modules/crypto/des (Depends-on): Likewise.
55032         * modules/csharpcomp (Depends-on): Likewise.
55033         * modules/fnmatch (Depends-on): Likewise.
55034         * modules/git-merge-changelog (Depends-on): Likewise.
55035         * modules/isnand (Depends-on): Likewise.
55036         * modules/isnand-nolibm (Depends-on): Likewise.
55037         * modules/isnanf (Depends-on): Likewise.
55038         * modules/isnanf-nolibm (Depends-on): Likewise.
55039         * modules/isnanl (Depends-on): Likewise.
55040         * modules/isnanl-nolibm (Depends-on): Likewise.
55041         * modules/mbchar (Depends-on): Likewise.
55042         * modules/memcoll (Depends-on): Likewise.
55043         * modules/quotearg (Depends-on): Likewise.
55044         * modules/regex (Depends-on): Likewise.
55045         * modules/relocatable-prog (Depends-on): Likewise.
55046         * modules/same (Depends-on): Likewise.
55047         * modules/signbit (Depends-on): Likewise.
55048         * modules/strcasestr-simple (Depends-on): Likewise.
55049         * modules/unictype/gen-ctype (Depends-on): Likewise.
55050         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
55051         * modules/uniname/uniname (Depends-on): Likewise.
55052         * modules/unistr/u8-cmp (Depends-on): Likewise.
55053
55054 2008-11-02  Bruno Haible  <bruno@clisp.org>
55055
55056         Mark 'memchr' obsolete.
55057         * modules/memchr (Status, Notice): New sections.
55058         * modules/argp (Depends-on): Add memchr.
55059         * modules/base64 (Depends-on): Likewise.
55060         * modules/c-strcasestr (Depends-on): Likewise.
55061         * modules/chdir-long (Depends-on): Likewise.
55062         * modules/fnmatch (Depends-on): Likewise.
55063         * modules/getsubopt (Depends-on): Likewise.
55064         * modules/git-merge-changelog (Depends-on): Likewise.
55065         * modules/glob (Depends-on): Likewise.
55066         * modules/strcasestr-simple (Depends-on): Likewise.
55067         * modules/strnlen (Depends-on): Likewise.
55068
55069 2008-11-02  Bruno Haible  <bruno@clisp.org>
55070
55071         Mark 'atexit' obsolete.
55072         * modules/atexit (Status, Notice): New sections.
55073         * modules/chdir-long (Depends-on): Add atexit.
55074         * modules/wait-process (Depends-on): Likewise.
55075
55076 2008-11-02  Bruno Haible  <bruno@clisp.org>
55077
55078         * gnulib-tool: New option --with-obsolete.
55079         (func_usage): Document it.
55080         (func_modules_transitive_closure): Drop obsolete dependencies if
55081         incobsolete is not true.
55082         (func_import): Read and save the incobsolete variable to the cache.
55083
55084 2008-11-02  Bruno Haible  <bruno@clisp.org>
55085
55086         * modules/TEMPLATE-EXTENDED: New field 'Status'.
55087         * gnulib-tool: New option --extract-status.
55088         (func_usage): Document it.
55089         (sed_extract_prog): Recognize it.
55090         (func_get_status): New function.
55091
55092 2008-10-30  Simon Josefsson  <simon@josefsson.org>
55093
55094         * modules/sockets (License): Change from LGPL to LGPLv2+.
55095
55096 2008-10-28  Simon Josefsson  <simon@josefsson.org>
55097
55098         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
55099
55100 2008-10-28  Simon Josefsson  <simon@josefsson.org>
55101
55102         * MODULES.html.sh (Support for systems lacking POSIX:2001):
55103         Mention times and sys_times.
55104         * modules/sys_times, modules/sys_times-tests: New modules.
55105         * modules/times, modules/times-tests: Likewise
55106         * m4/sys_times_h.m4: New file.
55107         * lib/sys_times.in.h: Likewise
55108         * lib/times.c: Likewise.
55109         * tests/test-sys_times.c: Likewise.
55110         * tests/test-times.c: Likewise.
55111         * doc/posix-headers/sys_times.texi: Update.
55112         * doc/posix-functions/times.texi: Update.
55113
55114 2008-10-28  Jim Meyering  <meyering@redhat.com>
55115
55116         * modules/tempname (Depends-on): Add lstat.
55117
55118         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
55119
55120 2008-10-28  Simon Josefsson  <simon@josefsson.org>
55121
55122         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
55123         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
55124         using idiom used elsewhere in gnulib.
55125
55126 2008-10-27  Jim Meyering  <meyering@redhat.com>
55127
55128         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
55129
55130 2008-10-27  Simon Josefsson  <simon@josefsson.org>
55131
55132         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
55133         TESTS_ENVIRONMENT, for shell scripts that needs to call built
55134         programs.
55135         * tests/test-argp-2.sh: Use $EXEEXT when needed.
55136
55137 2008-10-27  Simon Josefsson  <simon@josefsson.org>
55138
55139         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
55140
55141 2008-10-27  Bruno Haible  <bruno@clisp.org>
55142
55143         * tests/test-lstat.c: Include <stdio.h>.
55144
55145 2008-10-27  Simon Josefsson  <simon@josefsson.org>
55146
55147         * modules/lstat-tests: New module.
55148         * tests/test-lstat.c: New file.
55149
55150 2008-10-26  Jim Meyering  <meyering@redhat.com>
55151
55152         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
55153
55154 2008-10-26  Simon Josefsson  <simon@josefsson.org>
55155             Bruno Haible  <bruno@clisp.org>
55156
55157         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
55158         * modules/configmake (Include): Add a note that the include must come
55159         after all system headers.
55160         * lib/javaversion.c: Include configmake.h after all other includes.
55161
55162 2008-10-26  Bruno Haible  <bruno@clisp.org>
55163
55164         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
55165         HAVE_STRUCT_RANDOM_DATA to 1.
55166         (gl_STDLIB_H): Simplify.
55167
55168 2008-10-26  Simon Josefsson  <simon@josefsson.org>
55169
55170         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
55171         substitute HAVE_STRUCT_RANDOM_DATA.
55172         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
55173         random_data.
55174         * modules/stdlib (Makefile.am): Substitute
55175         HAVE_STRUCT_RANDOM_DATA.
55176
55177 2008-10-26  Simon Josefsson  <simon@josefsson.org>
55178
55179         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
55180         * doc/gnulib-intro.texi (Copyright): Likewise.
55181
55182 2008-10-26  Simon Josefsson  <simon@josefsson.org>
55183
55184         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
55185         findings.
55186
55187 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
55188             Bruno Haible  <bruno@clisp.org>
55189
55190         * lib/unistd.in.h: Include <winsock2.h>.
55191         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
55192         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
55193         Provide dummy declarations.
55194         (gethostname): Override.
55195         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
55196         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
55197         gl_PREREQ_SYS_H_WINSOCK2.
55198         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
55199         * doc/posix-functions/gethostname.texi: More details.
55200
55201 2008-10-25  Bruno Haible  <bruno@clisp.org>
55202
55203         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
55204         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
55205         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
55206
55207         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
55208         here ...
55209         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
55210         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
55211         gl_UNISTD_H_DEFAULTS.
55212
55213 2008-10-25  Eric Blake  <ebb9@byu.net>
55214
55215         signbit: avoid spurious compiler failure
55216         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
55217         declarations inside function.
55218
55219 2008-10-24  Simon Josefsson  <simon@josefsson.org>
55220             Bruno Haible  <bruno@clisp.org>
55221
55222         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
55223         * modules/random_r (Depends-on): Add stdint.
55224
55225 2008-10-24  Bruno Haible  <bruno@clisp.org>
55226
55227         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
55228         Eggert.
55229         * modules/strerror (License): Likewise.
55230
55231 2008-10-24  Jim Meyering  <meyering@redhat.com>
55232
55233         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
55234         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
55235
55236 2008-10-24  Eric Blake  <ebb9@byu.net>
55237
55238         getgroups: fix compilation when getgroups is available
55239         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
55240         but with <config.h> override of getgroups disabled.
55241
55242 2008-10-24  Simon Josefsson  <simon@josefsson.org>
55243
55244         * doc/gnulib.texi (Header files): Add note about C++ problems.
55245         Explained by Bruno Haible <bruno@clisp.org>.
55246
55247 2008-10-23  Bruno Haible  <bruno@clisp.org>
55248
55249         Define a dummy SA_NODEFER macro on Interix.
55250         * lib/signal.in.h (SA_NODEFER): Define fallback.
55251         Reported by Aleksey Cheusov <cheusov@tut.by> via
55252         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
55253
55254 2008-10-23  Bruno Haible  <bruno@clisp.org>
55255
55256         * modules/freadahead (License): Change to LGPLv2+.
55257         Suggested by Simon Josefsson.
55258
55259 2008-10-23  Jim Meyering  <meyering@redhat.com>
55260
55261         random_r: new module
55262         * modules/random_r: New file.
55263         * m4/random_r.m4: New file.
55264         * lib/random_r.c: New file, from glibc.
55265         * modules/random_r-tests: New file.
55266         * tests/test-random_r.c: New file.
55267         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
55268          Declare.
55269         (RAND_MAX): Define.
55270         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
55271         * modules/stdlib: Substitute them, too.
55272         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
55273         * doc/glibc-functions/initstate_r.texi: Mention the new module.
55274         * doc/glibc-functions/random_r.texi: Likewise.
55275         * doc/glibc-functions/setstate_r.texi: Likewise.
55276         * doc/glibc-functions/srandom_r.texi: Likewise.
55277         * config/srclist.txt: Mention it.
55278
55279 2008-10-23  David Lutterkort  <lutter@redhat.com>
55280
55281         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
55282         link requirement
55283
55284 2008-10-23  Jim Meyering  <meyering@redhat.com>
55285
55286         selinux-h: mark parameters of stub functions as intentionally unused
55287         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
55288         * lib/se-context.in.h: Likewise.
55289
55290 2008-10-22  Simon Josefsson  <simon@josefsson.org>
55291
55292         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
55293
55294 2008-10-22  Simon Josefsson  <simon@josefsson.org>
55295
55296         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
55297
55298 2008-10-22  Eric Blake  <ebb9@byu.net>
55299
55300         glthread/thread: avoid compiler warning
55301         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
55302         Add unreachable abort to silence compiler.
55303
55304 2008-10-22  Eric Blake  <ebb9@byu.net>
55305
55306         netdb: also supply struct addrinfo for cygwin 1.5.x
55307         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
55308         older cygwin.
55309         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
55310         cygwin.
55311         * doc/posix-headers/netdb.texi (netdb.h): Document this.
55312
55313 2008-10-22  Bruno Haible  <bruno@clisp.org>
55314
55315         * users.txt: Update entry about pspp.
55316
55317 2008-10-21  Bruno Haible  <bruno@clisp.org>
55318
55319         Simplification.
55320         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
55321         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
55322
55323         Simplification.
55324         * lib/ioctl.c (ioctl): Don't undefine.
55325         * lib/socket.c (socket): Don't undefine.
55326
55327         Remove unused module indicator macros.
55328         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
55329         GNULIB_$1 as a C macro.
55330
55331         * doc/posix-functions/close.texi: Undo last change.
55332         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
55333         Windows platforms.
55334
55335 2008-10-21  Bruno Haible  <bruno@clisp.org>
55336
55337         Add gethostname() declaration to <unistd.h>.
55338         * lib/unistd.in.h (gethostname): New declaration.
55339         * lib/gethostname.c: Include <unistd.h>.
55340         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
55341         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
55342         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
55343         and HAVE_GETHOSTNAME.
55344         * modules/gethostname (Depends-on): Add unistd.
55345         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55346         (Include): Specify <unistd.h>.
55347         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
55348         HAVE_GETHOSTNAME.
55349         * tests/test-gethostname.c: Include <unistd.h> first.
55350
55351 2008-10-21  Bruno Haible  <bruno@clisp.org>
55352
55353         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
55354         * modules/select-tests (Depends-on): Likewise.
55355         Reported by Simon Josefsson.
55356
55357 2008-10-21  Simon Josefsson  <simon@josefsson.org>
55358
55359         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
55360         * lib/accept.c: New file, based on winsock.c.
55361         * lib/bind.c: New file, based on winsock.c.
55362         * lib/connect.c: New file, based on winsock.c.
55363         * lib/getpeername.c: New file, based on winsock.c.
55364         * lib/getsockname.c: New file, based on winsock.c.
55365         * lib/getsockopt.c: New file, based on winsock.c.
55366         * lib/ioctl.c: New file, based on winsock.c.
55367         * lib/listen.c: New file, based on winsock.c.
55368         * lib/recv.c: New file, based on winsock.c.
55369         * lib/recvfrom.c: New file, based on winsock.c.
55370         * lib/send.c: New file, based on winsock.c.
55371         * lib/sendto.c: New file, based on winsock.c.
55372         * lib/setsockopt.c: New file, based on winsock.c.
55373         * lib/shutdown.c: New file, based on winsock.c.
55374         * lib/socket.c: New file, based on winsock.c.
55375         * lib/w32sock.h: New file, based on winsock.c.
55376         * lib/winsock.c: Remove file.
55377         * modules/accept: Likewise.
55378         * modules/bind: Likewise.
55379         * modules/connect: Likewise.
55380         * modules/getpeername: Likewise.
55381         * modules/getsockname: Likewise.
55382         * modules/getsockopt: Likewise.
55383         * modules/ioctl: Likewise.
55384         * modules/listen: Likewise.
55385         * modules/recv: Likewise.
55386         * modules/recvfrom: Likewise.
55387         * modules/send: Likewise.
55388         * modules/sendto: Likewise.
55389         * modules/setsockopt: Likewise.
55390         * modules/shutdown: Likewise.
55391         * modules/socket: Use socket.c instead of winsock.c.
55392         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
55393         * doc/posix-functions/accept.texi: Doc fix.
55394         * doc/posix-functions/bind.texi: Doc fix.
55395         * doc/posix-functions/close.texi: Doc fix.
55396         * doc/posix-functions/connect.texi: Doc fix.
55397         * doc/posix-functions/getpeername.texi: Doc fix.
55398         * doc/posix-functions/getsockname.texi: Doc fix.
55399         * doc/posix-functions/getsockopt.texi: Doc fix.
55400         * doc/posix-functions/ioctl.texi: Doc fix.
55401         * doc/posix-functions/listen.texi: Doc fix.
55402         * doc/posix-functions/recv.texi: Doc fix.
55403         * doc/posix-functions/recvfrom.texi: Doc fix.
55404         * doc/posix-functions/send.texi: Doc fix.
55405         * doc/posix-functions/sendto.texi: Doc fix.
55406         * doc/posix-functions/setsockopt.texi: Doc fix.
55407         * doc/posix-functions/shutdown.texi: Doc fix.
55408         * doc/posix-functions/socket.texi: Doc fix.
55409
55410 2008-10-20  Bruno Haible  <bruno@clisp.org>
55411
55412         Take into account the role of SIGABRT_COMPAT on Windows 2008.
55413         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
55414         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
55415         as an alias for SIGABRT.
55416         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
55417         (sigaction): Map it to SIGABRT.
55418         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
55419
55420 2008-10-20  Bruno Haible  <bruno@clisp.org>
55421
55422         * lib/fts.c: Don't include lstat.h.
55423         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
55424
55425         Move the lstat() declaration to <sys/stat.h>.
55426         * lib/lstat.h: Remove file.
55427         * lib/sys_stat.in.h: Add special invocation convention.
55428         (lstat): New declaration.
55429         * lib/lstat.c (orig_lstat): New function.
55430         (rpl_lstat): Use orig_lstat instead of lstat.
55431         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
55432         AC_C_INLINE. Set REPLACE_LSTAT.
55433         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
55434         and REPLACE_LSTAT.
55435         * modules/lstat (Files): Remove lib/lstat.h.
55436         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
55437         (Include): Specify <sys/stat.h> instead of lstat.h.
55438         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
55439         REPLACE_LSTAT.
55440         * NEWS: Mention the change.
55441
55442 2008-10-20  Bruno Haible  <bruno@clisp.org>
55443
55444         * modules/posix_spawn-tests: New file.
55445         * tests/test-posix_spawn3.c: New file.
55446
55447 2008-10-20  Bruno Haible  <bruno@clisp.org>
55448
55449         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
55450         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
55451         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
55452         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
55453         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
55454
55455 2008-10-20  Bruno Haible  <bruno@clisp.org>
55456
55457         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
55458         of posix_spawn on AIX 5.3.
55459
55460 2008-10-20  Bruno Haible  <bruno@clisp.org>
55461
55462         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
55463
55464 2008-10-20  Bruno Haible  <bruno@clisp.org>
55465
55466         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
55467         of AC_LANG_PROGRAM.
55468
55469 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55470
55471         * lib/netdb.in.h: Don't define GNU specific constants until they
55472         are supported or needed.  Reported by Bruno Haible
55473         <bruno@clisp.org>.
55474
55475 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55476
55477         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
55478
55479 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55480
55481         * lib/getaddrinfo.h: Remove file.
55482         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
55483         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
55484         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
55485         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
55486         * modules/netdb: Substitute GNULIB_GETADDRINFO.
55487         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
55488         * tests/test-getaddrinfo.c: Likewise.
55489         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
55490         * NEWS: Mention change.
55491
55492 2008-10-19  Bruno Haible  <bruno@clisp.org>
55493
55494         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
55495
55496 2008-10-19  Bruno Haible  <bruno@clisp.org>
55497
55498         * lib/wait-process.c: Include simply <sys/wait.h>.
55499         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
55500         WIFSTOPPED): Remove fallback definitions.
55501         * modules/wait-process (Depends-on): Add sys_wait.
55502
55503         New module 'sys_wait'.
55504         * modules/sys_wait: New file.
55505         * lib/sys_wait.in.h: New file, partially copied from
55506         lib/wait-process.c.
55507         * m4/sys_wait_h.m4: New file.
55508         * doc/posix-headers/sys_wait.texi: Mention the new module.
55509
55510 2008-10-19  Bruno Haible  <bruno@clisp.org>
55511
55512         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
55513
55514 2008-10-19  Bruno Haible  <bruno@clisp.org>
55515
55516         Assume that waitpid() fills an 'int' status, not a 'union wait'.
55517         * lib/wait-process.c (WAIT_T): Remove type.
55518         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
55519         (wait_subprocess): Update.
55520
55521 2008-10-19  Bruno Haible  <bruno@clisp.org>
55522
55523         New module 'atoll'.
55524         * modules/atoll: New file.
55525         * lib/stdlib.in.h (atoll): New declaration.
55526         * lib/atoll.c: New file, from glibc with modifications.
55527         * m4/atoll.m4: New file.
55528         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
55529         HAVE_ATOLL.
55530         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
55531         * doc/posix-functions/atoll.texi: Mention the new module.
55532
55533 2008-10-19  Bruno Haible  <bruno@clisp.org>
55534
55535         Add strtoull() declaration to <stdlib.h>.
55536         * lib/stdlib.in.h (strtoull): New declaration.
55537         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
55538         Set HAVE_STRTOULL.
55539         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
55540         HAVE_STRTOULL.
55541         * modules/strtoull (Depends-on): Add stdlib.
55542         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55543         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
55544         HAVE_STRTOULL.
55545
55546 2008-10-19  Bruno Haible  <bruno@clisp.org>
55547
55548         Add strtoll() declaration to <stdlib.h>.
55549         * lib/stdlib.in.h (strtoll): New declaration.
55550         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
55551         Set HAVE_STRTOLL.
55552         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
55553         HAVE_STRTOLL.
55554         * modules/strtoll (Depends-on): Add stdlib.
55555         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55556         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
55557
55558 2008-10-19  Bruno Haible  <bruno@clisp.org>
55559
55560         * modules/bcopy (Depends-on): Add strings.
55561         (Include): Specify <strings.h>.
55562
55563 2008-10-19  Bruno Haible  <bruno@clisp.org>
55564
55565         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
55566
55567 2008-10-19  Bruno Haible  <bruno@clisp.org>
55568
55569         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
55570         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
55571         mingw.
55572
55573 2008-10-19  Bruno Haible  <bruno@clisp.org>
55574
55575         * lib/atanl.c: Don't include isnanl.h.
55576         * lib/cosl.c: Likewise.
55577         * lib/ldexpl.c: Likewise.
55578         * lib/logl.c: Likewise.
55579         * lib/sinl.c: Likewise.
55580         * lib/sqrtl.c: Likewise.
55581         * lib/tanl.c: Likewise.
55582
55583         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
55584         * lib/isnanf.h: Remove file.
55585         * lib/isnand.h: Remove file.
55586         * lib/isnanl.h: Remove file.
55587         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
55588         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
55589         macros.
55590         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
55591         HAVE_ISNANF, don't define it as a C macro.
55592         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
55593         HAVE_ISNAND, don't define it as a C macro.
55594         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
55595         HAVE_ISNANL, don't define it as a C macro.
55596         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
55597         HAVE_ISNAN[FDL].
55598         * modules/isnanf (Files): Remove lib/isnanf.h.
55599         (Depends-on): Add math.
55600         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55601         (Include): Specify <math.h> instead of isnanf.h.
55602         * modules/isnand (Files): Remove lib/isnand.h.
55603         (Depends-on): Add math.
55604         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55605         (Include): Specify <math.h> instead of isnand.h.
55606         * modules/isnanl (Files): Remove lib/isnanl.h.
55607         (Depends-on): Add math.
55608         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55609         (Include): Specify <math.h> instead of isnanl.h.
55610         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
55611         HAVE_ISNAN[FDL].
55612         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
55613         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
55614         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
55615         * NEWS: Mention the change.
55616
55617 2008-10-18  Bruno Haible  <bruno@clisp.org>
55618
55619         Add getusershell(), setusershell(), endusershell() declarations to
55620         <unistd.h>.
55621         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
55622         declarations.
55623         * lib/getusershell.c: Include unistd.h.
55624         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
55625         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55626         HAVE_GETUSERSHELL.
55627         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
55628         and HAVE_GETUSERSHELL.
55629         * modules/getusershell (Depends-on): Add unistd, extensions.
55630         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55631         (Include): Specify <unistd.h>.
55632         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
55633         HAVE_GETUSERSHELL.
55634
55635 2008-10-18  Bruno Haible  <bruno@clisp.org>
55636
55637         Add a getloadavg() declaration to <stdlib.h>.
55638         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
55639         getloadavg declaration.
55640         (getloadavg): New declaration.
55641         * lib/getloadavg.c: Include <stdlib.h> first.
55642         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
55643         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
55644         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
55645         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
55646         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55647         * modules/getloadavg (Depends-on): Add stdlib, extensions.
55648         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55649         (Include): Specify <stdlib.h>.
55650         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
55651         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55652
55653 2008-10-18  Bruno Haible  <bruno@clisp.org>
55654
55655         * lib/dirchownmod.c: Don't include lchmod.h.
55656
55657         Move the lchmod() declaration to <sys/stat.h>.
55658         * lib/lchmod.h: Remove file.
55659         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
55660         (lchmod): New declaration, moved here from lib/lchown.h.
55661         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
55662         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
55663         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
55664         and HAVE_LCHMOD.
55665         * modules/lchmod (Files): Remove lib/lchmod.h.
55666         (Depends-on): Add sys_stat, extensions.
55667         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
55668         (Include): Specify <sys/stat.h> instead of lchmod.h.
55669         * modules/sys_stat (Depends-on): Add link-warning.
55670         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
55671         definition of GL_LINK_WARNING.
55672         * NEWS: Mention the change.
55673
55674 2008-10-18  Bruno Haible  <bruno@clisp.org>
55675
55676         * lib/fchdir.c: Don't include dirfd.h.
55677         * lib/fts.c: Likewise.
55678         * lib/getcwd.c: Likewise.
55679         * lib/glob.c: Likewise.
55680
55681         Move the dirfd() declaration to <dirent.h>.
55682         * lib/dirfd.h: Remove file.
55683         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
55684         (dirfd): New declaration.
55685         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
55686         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
55687         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
55688         HAVE_DECL_DIRFD.
55689         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
55690         HAVE_DECL_DIRFD.
55691         * modules/dirfd (Files): Remove lib/dirfd.h.
55692         (Depends-on): Add dirent, extensions.
55693         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
55694         (Include): Specify <dirent.h> instead of dirfd.h.
55695         * modules/dirent (Depends-on): Add link-warning.
55696         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
55697         definition of GL_LINK_WARNING.
55698         * NEWS: Mention the change.
55699
55700 2008-10-18  Bruno Haible  <bruno@clisp.org>
55701
55702         Move the euidaccess() declaration to <unistd.h>.
55703         * lib/euidaccess.h: Remove file.
55704         * lib/unistd.in.h (euidaccess): New declaration.
55705         * lib/euidaccess.c: Don't include euidaccess.h.
55706         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
55707         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
55708         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
55709         and HAVE_EUIDACCESS.
55710         * modules/euidaccess (Files): Remove lib/euidaccess.h.
55711         (Depends-on): Add unistd.
55712         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55713         (Include): Specify <unistd.h> instead of euidaccess.h.
55714         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
55715         HAVE_EUIDACCESS.
55716         * NEWS: Mention the change.
55717
55718 2008-10-18  Bruno Haible  <bruno@clisp.org>
55719
55720         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
55721
55722         Move the getdomainname() declaration to <unistd.h>.
55723         * lib/getdomainname.h: Remove file.
55724         * lib/unistd.in.h (getdomainname): New declaration.
55725         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
55726         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
55727         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55728         HAVE_GETDOMAINNAME.
55729         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55730         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
55731         * modules/getdomainname (Files): Remove lib/getdomainname.h.
55732         (Depends-on): Add unistd, extensions.
55733         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55734         (Includes): Specify <unistd.h> instead of getdomainname.h.
55735         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
55736         HAVE_GETDOMAINNAME.
55737         * NEWS: Mention the change.
55738
55739 2008-10-18  Bruno Haible  <bruno@clisp.org>
55740
55741         * modules/dirent: New file.
55742         * m4/dirent_h.m4: New file.
55743         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
55744         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
55745         * modules/fchdir (Files): Remove lib/dirent.in.h.
55746         (Depends-on): Add dirent.
55747         (Makefile.am): Move rules to modules/dirent.
55748         * doc/posix-headers/dirent.texi: Mention the new module.
55749
55750 2008-10-18  Bruno Haible  <bruno@clisp.org>
55751
55752         Avoid -Wunused-parameter warnings in public gnulib header files.
55753         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
55754         macro.
55755         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
55756
55757 2008-10-18  Bruno Haible  <bruno@clisp.org>
55758
55759         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
55760         * doc/glibc-functions/error.texi: Mention the module 'error'.
55761         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
55762         * doc/glibc-functions/getdomainname.texi: Mention the module
55763         'getdomainname'.
55764         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
55765         * doc/glibc-functions/getpagesize.texi: Mention the module
55766         'getpagesize'.
55767         * doc/glibc-functions/getusershell.texi: Mention the module
55768         'getusershell'.
55769         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
55770         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
55771         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
55772         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
55773         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
55774         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
55775         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
55776         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
55777         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
55778         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
55779         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
55780         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
55781         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
55782         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
55783
55784 2008-10-17  Bruno Haible  <bruno@clisp.org>
55785
55786         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
55787         HP-UX and IRIX, use -0.0L.
55788         * tests/test-ceill.c (minus_zero): Likewise.
55789         * tests/test-floorl.c (minus_zero): Likewise.
55790         * tests/test-frexpl.c (minus_zero): Likewise.
55791         * tests/test-isnan.c (minus_zerol): Likewise.
55792         * tests/test-isnanl.h (minus_zero): Likewise.
55793         * tests/test-ldexpl.c (minus_zero): Likewise.
55794         * tests/test-roundl.c (minus_zero): Likewise.
55795         * tests/test-signbit.c (minus_zerol): Likewise.
55796         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
55797         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
55798         * tests/test-truncl.c (minus_zero): Likewise.
55799         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
55800         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
55801         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
55802         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
55803
55804 2008-10-17  Bruno Haible  <bruno@clisp.org>
55805
55806         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
55807         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
55808         that it gets activated only for gcc >= 3.0.
55809         * lib/dirent.in.h: Likewise.
55810         * lib/errno.in.h: Likewise.
55811         * lib/fcntl.in.h: Likewise.
55812         * lib/float.in.h: Likewise.
55813         * lib/iconv.in.h: Likewise.
55814         * lib/inttypes.in.h: Likewise.
55815         * lib/locale.in.h: Likewise.
55816         * lib/math.in.h: Likewise.
55817         * lib/netdb.in.h: Likewise.
55818         * lib/netinet_in.in.h: Likewise.
55819         * lib/search.in.h: Likewise.
55820         * lib/signal.in.h: Likewise.
55821         * lib/spawn.in.h: Likewise.
55822         * lib/stdarg.in.h: Likewise.
55823         * lib/stdint.in.h: Likewise.
55824         * lib/stdio.in.h: Likewise.
55825         * lib/stdlib.in.h: Likewise.
55826         * lib/string.in.h: Likewise.
55827         * lib/strings.in.h: Likewise.
55828         * lib/sys_file.in.h: Likewise.
55829         * lib/sys_ioctl.in.h: Likewise.
55830         * lib/sys_select.in.h: Likewise.
55831         * lib/sys_socket.in.h: Likewise.
55832         * lib/sys_stat.in.h: Likewise.
55833         * lib/sys_time.in.h: Likewise.
55834         * lib/sysexits.in.h: Likewise.
55835         * lib/time.in.h: Likewise.
55836         * lib/unistd.in.h: Likewise.
55837         * lib/wchar.in.h: Likewise.
55838         * lib/wctype.in.h: Likewise.
55839         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55840
55841 2008-10-17  Jim Meyering  <meyering@redhat.com>
55842
55843         ignore-value: don't depend on inline module
55844         * modules/ignore-value (Depends-on): Remove 'inline'.
55845         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
55846         Suggestion from Bruno Haible.
55847
55848 2008-10-17  Bruno Haible  <bruno@clisp.org>
55849
55850         New implementation of condition variables for Win32.
55851         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
55852         (gl_linked_waitqueue_t): New type.
55853         (gl_cond_t): Use it.
55854         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
55855         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
55856         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
55857         (glthread_cond_init_func, glthread_cond_wait_func,
55858         glthread_cond_timedwait_func, glthread_cond_signal_func,
55859         glthread_cond_broadcast_func, glthread_cond_destroy_func):
55860         Reimplemented on the basis of gl_linked_waitqueue_t.
55861         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
55862         gl_waitqueue_t.
55863         (gl_rwlock_t): Update.
55864         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
55865
55866 2008-10-17  Simon Josefsson  <simon@josefsson.org>
55867
55868         * modules/recvfrom (Depends-on): Add dependency on getpeername.
55869         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55870
55871 2008-10-17  Jim Meyering  <meyering@redhat.com>
55872
55873         ignore-value: new module
55874         * modules/ignore-value: New file.
55875         * lib/ignore-value.h: New file.
55876         * MODULES.html.sh (Compiler warning management): New section,
55877         just for this module.  More to come.
55878
55879 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55880
55881         open-safer.c: avoid 'signed and unsigned in conditional...' warning
55882         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
55883         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
55884
55885 2008-10-16  Jim Meyering  <meyering@redhat.com>
55886
55887         openat-die.c: avoid 'no previous prototype' warning
55888         * lib/openat-die.c: Include "openat.h".
55889         Reported by Reuben Thomas <rrt@sc3d.org>.
55890
55891 2008-10-16  Simon Josefsson  <simon@josefsson.org>
55892
55893         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
55894         * lib/netdb.in.h: Fix typo.
55895         Reported by Bruno Haible  <bruno@clisp.org>
55896
55897         * lib/netdb.in.h: Include sys/socket.h for platforms without
55898         netdb.h, to get structures like hostent on MinGW.
55899         * modules/netdb (Depends-on): Add sys_socket.
55900
55901 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55902
55903         * modules/netdb, modules/netdb-tests: New file.
55904         * m4/netdb_h.m4: New file.
55905         * lib/netdb.in.h: Add, currently just an empty file pending
55906         definitions.
55907         * tests/test-netdb.c: New file.
55908         * doc/posix-headers/netdb.texi: Mention that we replace it if
55909         needed.
55910         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55911         netdb.
55912
55913 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55914
55915         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
55916         with code.
55917
55918 2008-10-13  Bruno Haible  <bruno@clisp.org>
55919
55920         * lib/glthread/cond.c (glthread_cond_wait_func,
55921         glthread_cond_timedwait_func): Add a comment.
55922
55923 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55924
55925         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
55926         * tests/test-select.c: Likewise,
55927
55928 2008-10-13  Bruno Haible  <bruno@clisp.org>
55929
55930         * lib/glthread/cond.c (glthread_cond_wait_func,
55931         glthread_cond_timedwait_func): Fix variable name.
55932         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55933
55934 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
55935
55936         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
55937         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
55938         struct sockaddr.sa_len.
55939         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
55940
55941 2008-10-13  Simon Josefsson  <simon@josefsson.org>
55942
55943         * build-aux/pmccabe2html: Add css and css_url parameters.
55944
55945 2008-10-12  Bruno Haible  <bruno@clisp.org>
55946
55947         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
55948         calling aclx_get.
55949         Reported by Rainer Tammer <tammer@tammer.net>.
55950
55951 2008-10-12  Bruno Haible  <bruno@clisp.org>
55952
55953         Use msvcrt aware primitives for creation/termination of Win32 threads.
55954         * lib/glthread/thread.c: Include <process.h>.
55955         (glthread_create_func): Use _beginthreadex instead of CreateThread.
55956         (wrapper_func): Update signature.
55957         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
55958
55959 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55960             Bruno Haible  <bruno@clisp.org>
55961
55962         Provide a Win32 implementation of the 'cond' module.
55963         * lib/glthread/cond.h [USE_WIN32]: New implementation.
55964         * lib/glthread/cond.c (glthread_cond_init_func,
55965         glthread_cond_wait_func, glthread_cond_timedwait_func,
55966         glthread_cond_signal_func, glthread_cond_broadcast_func,
55967         glthread_cond_destroy_func) [USE_WIN32]: New functions.
55968         * modules/cond (Dependencies): Add gettimeofday.
55969
55970 2008-10-11  Bruno Haible  <bruno@clisp.org>
55971
55972         Make sleep work on older versions of mingw.
55973         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
55974         only whether it exists.
55975         * doc/posix-functions/sleep.texi: Mention the problem with older
55976         versions of mingw.
55977
55978 2008-10-11  Bruno Haible  <bruno@clisp.org>
55979
55980         New module 'shutdown'.
55981         * modules/shutdown: New file.
55982         * lib/sys_socket.in.h (shutdown): New declaration.
55983         * lib/winsock.c (shutdown): New function.
55984         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
55985         GNULIB_SHUTDOWN.
55986         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
55987         * doc/posix-functions/shutdown.texi: Document the new module.
55988
55989 2008-10-11  Jim Meyering  <meyering@redhat.com>
55990
55991         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
55992
55993 2008-10-11  Bruno Haible  <bruno@clisp.org>
55994
55995         New module 'fclose'.
55996         * modules/fclose: New file.
55997         * lib/stdio.in.h (fclose): New declaration.
55998         * lib/fclose.c: New file.
55999         * m4/fclose.m4: New file.
56000         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
56001         REPLACE_FCLOSE.
56002         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
56003         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
56004         REPLACE_FCLOSE.
56005         * modules/close (Depends-on): fclose.
56006         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
56007
56008 2008-10-11  Bruno Haible  <bruno@clisp.org>
56009
56010         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
56011         set errno and don't call _close.
56012
56013 2008-10-10  Bruno Haible  <bruno@clisp.org>
56014
56015         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
56016         ACL, not afterwards. Fixes test failure on Cygwin.
56017
56018 2008-10-09  Ben Pfaff  <blp@gnu.org>
56019
56020         * build-aux/announce-gen: Fix gnulib version related part of usage
56021         message.  Die with a useful error message if no tarballs are
56022         found.
56023
56024 2008-10-10  Jim Meyering  <meyering@redhat.com>
56025
56026         bootstrap: use git's --depth=N option only if it's supported
56027         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
56028         recognize the --depth option.  Reported by Pádraig Brady.
56029
56030 2008-10-09  Bruno Haible  <bruno@clisp.org>
56031
56032         New module 'ioctl'.
56033         * modules/ioctl: New file.
56034         * lib/sys_socket.in.h (ioctl): Remove declaration.
56035         * lib/winsock.c: Include <sys/ioctl.h>.
56036         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
56037         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
56038         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
56039         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
56040         * doc/posix-functions/ioctl.texi: Mention the new module.
56041
56042 2008-10-09  Bruno Haible  <bruno@clisp.org>
56043
56044         New module 'sys_ioctl'.
56045         * lib/sys_ioctl.in.h: New file.
56046         * m4/sys_ioctl_h.m4: New file.
56047         * modules/sys_ioctl: New file.
56048         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
56049
56050 2008-10-09  Bruno Haible  <bruno@clisp.org>
56051
56052         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
56053         * lib/winsock.c: Include <stdarg.h>.
56054         (rpl_ioctl): Change to second argument 'int' and then varargs.
56055
56056 2008-10-09  Bruno Haible  <bruno@clisp.org>
56057
56058         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
56059         when the sys_socket module is present and the system has <winsock2.h>.
56060
56061 2008-10-09  Bruno Haible  <bruno@clisp.org>
56062
56063         * doc/posix-functions/close.texi: Mention module 'close' instead of
56064         module 'sys_socket'.
56065
56066 2008-10-09  Bruno Haible  <bruno@clisp.org>
56067
56068         * doc/glibc-headers/sys_ioctl.texi: New file.
56069         * doc/gnulib.texi: Include it.
56070
56071 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
56072             Bruno Haible  <bruno@clisp.org>
56073
56074         Combine the two replacements of 'close'.
56075         * lib/sys_socket.in.h (close): Define to a reminder to include
56076         <unistd.h>.
56077         (_gl_close_fd_maybe_socket): New declaration.
56078         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
56079         * lib/winsock.c (close): Remove undefinition.
56080         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
56081         needed for the gnulib module 'close'.
56082         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
56083         define to an error symbol or to a warning, if suitable.
56084         * lib/close.c: Include <sys/socket.h>.
56085         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
56086         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
56087         UNISTD_H_HAVE_WINSOCK2_H.
56088         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
56089         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56090         UNISTD_H_HAVE_WINSOCK2_H.
56091         * modules/sys_socket (Files): Add m4/unistd_h.m4.
56092         (configure.ac): Set a module indicator.
56093         (Makefile.am): Substitute GNULIB_CLOSE.
56094         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
56095         * modules/poll-tests (Depends-on): Add close.
56096         * modules/select-tests (Depends-on): Likewise.
56097
56098 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
56099             Bruno Haible  <bruno@clisp.org>
56100
56101         New module 'close'.
56102         * modules/close: New file.
56103         * lib/unistd.in.h (close): Move declaration out of the
56104         FCHDIR_REPLACEMENT scope.
56105         (_gl_unregister_fd): New declaration.
56106         * lib/close.c: New file.
56107         * lib/fchdir.c (rpl_close): Remove function.
56108         * m4/close.m4: New file.
56109         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
56110         close.
56111         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
56112         REPLACE_CLOSE.
56113         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
56114         REPLACE_CLOSE.
56115         * modules/fchdir (Depends-on): Add close.
56116
56117 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
56118             Bruno Haible  <bruno@clisp.org>
56119
56120         * lib/fcntl.in.h (open): Simplify conditionals.
56121         (_gl_register_fd): New declaration.
56122         * lib/fchdir.c (rpl_open): Remove function.
56123         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
56124         also.
56125         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
56126         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
56127         open.
56128
56129 2008-10-09  Jim Meyering  <meyering@redhat.com>
56130
56131         GNUmakefile: use the more name-space-friendly "_version"
56132         * top/GNUmakefile (_dummy): Update.
56133         (_version): Rename from "version".
56134
56135 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
56136             Bruno Haible  <bruno@clisp.org>
56137
56138         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
56139         rpl_close.
56140         (_gl_register_fd): New function, extracted from rpl_open.
56141         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
56142         (rpl_open, rpl_opendir): Use _gl_register_fd.
56143
56144 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
56145
56146         Fix organization of 'open' replacement.
56147         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
56148         (gl_FUNC_OPEN): Use it.
56149         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
56150
56151 2008-10-08  Bruno Haible  <bruno@clisp.org>
56152
56153         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
56154
56155 2008-10-08  Simon Josefsson  <simon@josefsson.org>
56156
56157         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
56158         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
56159         listen).
56160
56161 2008-10-08  Eric Blake  <ebb9@byu.net>
56162
56163         GNUmakefile: add 'make version' target
56164         * top/GNUmakefile (_curr-ver): Split version update rules...
56165         (version): ...into a target.
56166
56167 2008-10-07  Bruno Haible  <bruno@clisp.org>
56168
56169         Use a more portable replacement expression for -0.0L.
56170         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
56171         instead of -0.0L. Fix m4 quotation.
56172
56173         * tests/test-signbit.c: Include <float.h>.
56174         (minus_zero): New variable.
56175         (test_signbitl): Use minus_zero instead of -zero.
56176         * modules/signbit-tests (Depends-on): Add float.
56177
56178         * tests/test-ceill.c: Include <float.h>.
56179         (zero): Remove variable.
56180         (minus_zero): New variable.
56181         (main): Use minus_zero instead of -zero.
56182         * modules/ceill-tests (Depends-on): Add float.
56183
56184         * tests/test-floorl.c: Include <float.h>.
56185         (zero): Remove variable.
56186         (minus_zero): New variable.
56187         (main): Use minus_zero instead of -zero.
56188         * modules/floorl-tests (Depends-on): Add float.
56189
56190         * tests/test-roundl.c: Include <float.h>.
56191         (zero): Remove variable.
56192         (minus_zero): New variable.
56193         (main): Use minus_zero instead of -zero.
56194         * modules/roundl-tests (Depends-on): Add float.
56195
56196         * tests/test-truncl.c: Include <float.h>.
56197         (zero): Remove variable.
56198         (minus_zero): New variable.
56199         (main): Use minus_zero instead of -zero.
56200         * modules/truncl-tests (Depends-on): Add float.
56201
56202         * tests/test-frexpl.c (zero): Remove variable.
56203         (minus_zero): New variable.
56204         (main): Use minus_zero instead of -zero.
56205         * modules/frexpl-tests (Depends-on): Add float.
56206
56207         * tests/test-isnan.c (zerol): Remove variable.
56208         (minus_zerol): New variable.
56209         (test_long_double): Use minus_zerol instead of -zerol.
56210         * modules/isnan-tests (Depends-on): Add float.
56211
56212         * tests/test-isnanl.h (zero): Remove variable.
56213         (minus_zero): New variable.
56214         (main): Use minus_zero instead of -zero.
56215         * modules/isnanl-nolibm-tests (Depends-on): Add float.
56216         * modules/isnanl-tests (Depends-on): Add float.
56217
56218         * tests/test-ldexpl.c (zero): Remove variable.
56219         (minus_zero): New variable.
56220         (main): Use minus_zero instead of -zero.
56221         * modules/ldexpl-tests (Depends-on): Add float.
56222
56223         * tests/test-snprintf-posix.h (zerol): Remove variable.
56224         (minus_zerol): New variable.
56225         (test_function): Use minus_zerol instead of -zerol.
56226         * modules/snprintf-posix-tests (Depends-on): Add float.
56227         * modules/vsnprintf-posix-tests (Depends-on): Add float.
56228
56229         * tests/test-sprintf-posix.h (zerol): Remove variable.
56230         (minus_zerol): New variable.
56231         (test_function): Use minus_zerol instead of -zerol.
56232         * modules/sprintf-posix-tests (Depends-on): Add float.
56233         * modules/vsprintf-posix-tests (Depends-on): Add float.
56234
56235         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
56236         (minus_zerol): New variable.
56237         (test_function): Use minus_zerol instead of -zerol.
56238         * modules/vasnprintf-posix-tests (Depends-on): Add float.
56239
56240         * tests/test-vasprintf-posix.c (zerol): Remove variable.
56241         (minus_zerol): New variable.
56242         (test_function): Use minus_zerol instead of -zerol.
56243         * modules/vasprintf-posix-tests (Depends-on): Add float.
56244
56245 2008-10-07  Simon Josefsson  <simon@josefsson.org>
56246
56247         * MODULES.html.sh (Support for building documentation): Mention
56248         pmccabe2html.  Sort entries.
56249
56250         Add pmccabe2html module, from gnupdf.
56251         * build-aux/pmccabe.css: New file.
56252         * build-aux/pmccabe2html: New file.
56253         * m4/pmccabe2html.m4: New file.
56254         * modules/pmccabe2html: New file.
56255
56256 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
56257
56258         flock: new module
56259         * MODULES.html.sh: Add to list of modules.
56260         * lib/flock.c: flock implementation for Windows and Unix systems
56261         which have fcntl.
56262         * doc/glibc-functions/flock.texi: Update documentation.
56263         * lib/sys_file.in.h: <sys/file.h> header file.
56264         * m4/flock.m4: M4 macros.
56265         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
56266         * modules/flock: flock module.
56267         * modules/flock-tests: flock tests module.
56268         * modules/sys_file: sys/file.h module.
56269         * tests/test-flock.c: test suite for flock.
56270
56271 2008-10-06  Jim Meyering  <meyering@redhat.com>
56272
56273         bootstrap: check for LT_INIT more portably still ;-)
56274         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
56275         Spotted by Bruno Haible.
56276
56277 2008-10-06  Eric Blake  <ebb9@byu.net>
56278
56279         test-signbit: avoid tripping Irix cc bug on -0.0L
56280         * tests/test-signbit.c (minus_zerol): Delete, and replace with
56281         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
56282         entire testsuite consistent and avoids an Irix 6.2 bug.
56283
56284 2008-10-05  Bruno Haible  <bruno@clisp.org>
56285             Jim Meyering  <jim@meyering.net>
56286
56287         Add an option for ignoring EPIPE during close_stdout.
56288         * lib/closeout.h: Include <stdbool.h>.
56289         (close_stdout_set_ignore_EPIPE): New declaration.
56290         * lib/closeout.c: Include <stdbool.h>.
56291         (ignore_EPIPE): New variable.
56292         (close_stdout_set_ignore_EPIPE): New function.
56293         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
56294         * lib/close-stream.c (close_stream): Mention the possible EPIPE
56295         failure.
56296         * modules/closeout (Depends-on): Add stdbool.
56297
56298 2008-10-05  Bruno Haible  <bruno@clisp.org>
56299
56300         * modules/accept: New file.
56301         * modules/bind: New file.
56302         * modules/connect: New file.
56303         * modules/getpeername: New file.
56304         * modules/getsockname: New file.
56305         * modules/getsockopt: New file.
56306         * modules/listen: New file.
56307         * modules/recv: New file.
56308         * modules/recvfrom: New file.
56309         * modules/send: New file.
56310         * modules/sendto: New file.
56311         * modules/setsockopt: New file.
56312         * modules/socket: New file.
56313         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
56314         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
56315         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
56316         the particular module is requested. Add a link warning when the
56317         particular module is not requested.
56318         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
56319         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
56320         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
56321         the particular module is requested.
56322         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
56323         gl_SYS_SOCKET_H_DEFAULTS): New macros.
56324         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
56325         * modules/sys_socket (Depends-on): Add link-warning.
56326         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
56327         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
56328         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
56329         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
56330         GL_LINK_WARNING.
56331         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
56332         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
56333         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
56334         * doc/posix-functions/getpeername.texi: Mention the new module
56335         'getpeername'.
56336         * doc/posix-functions/getsockname.texi: Mention the new module
56337         'getsockname'.
56338         * doc/posix-functions/getsockopt.texi: Mention the new module
56339         'getsockopt'.
56340         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
56341         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
56342         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
56343         * doc/posix-functions/send.texi: Mention the new module 'send'.
56344         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
56345         * doc/posix-functions/setsockopt.texi: Mention the new module
56346         'setsockopt'.
56347         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
56348         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
56349         listen, connect, accept.
56350         * modules/select-tests (Depends-on): Likewise.
56351
56352 2008-10-05  Bruno Haible  <bruno@clisp.org>
56353
56354         * lib/winsock.c (strerror): Remove unused #undef.
56355         (rpl_close): Remove unused local variable.
56356
56357         * modules/sys_socket (Depends-on); Add errno.
56358
56359 2008-10-05  Bruno Haible  <bruno@clisp.org>
56360
56361         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
56362         (select): Add a link warning when the 'select' module is not used.
56363         * modules/sys_select (Depends-on): Add link-warning.
56364         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
56365         Suggested by Paolo Bonzini.
56366
56367 2008-10-05  Jim Meyering  <meyering@redhat.com>
56368
56369         bootstrap: check for LT_INIT more portably
56370         * build-aux/bootstrap: Avoid using grep -E, since it's not
56371         portable enough.  Suggestion from Bruno Haible.
56372
56373 2008-10-05  Bruno Haible  <bruno@clisp.org>
56374
56375         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
56376         as being fixed by gnulib.
56377
56378 2008-10-05  Bruno Haible  <bruno@clisp.org>
56379
56380         * modules/select-tests: New file, mostly copied from
56381         modules/sys_select-tests.
56382         * tests/test-select.c: New file, mostly copied from
56383         tests/test-sys_select.c.
56384         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
56385         * modules/sys_select-tests (Depends-on): Remove all dependencies.
56386         (Makefile.am): Remove test_sys_select_LDADD.
56387
56388         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
56389         to an undefined symbol, for an error message.
56390         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
56391         (gl_SYS_SELECT_H_DEFAULTS): New macro.
56392         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
56393         winsock-select.c here.
56394         * modules/sys_select (Files): Remove lib/winsock-select.c.
56395         (Depends-on): Remove alloca.
56396         (Makefile.am): Substitute GNULIB_SELECT.
56397         * modules/select: New file.
56398         * doc/posix-functions/select.texi: Update.
56399
56400 2008-10-05  Bruno Haible  <bruno@clisp.org>
56401
56402         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
56403         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
56404         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
56405         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
56406         getdtablesize.
56407         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
56408         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
56409
56410 2008-10-05  Bruno Haible  <bruno@clisp.org>
56411
56412         * modules/getdtablesize-tests: New file.
56413         * tests/test-getdtablesize.c: New file.
56414
56415         New module 'getdtablesize'.
56416         * lib/unistd.in.h (getdtablesize): New declaration.
56417         * lib/getdtablesize.c: New file.
56418         * m4/getdtablesize.m4: New file.
56419         * modules/getdtablesize: New file.
56420         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56421         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
56422         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
56423         HAVE_GETDTABLESIZE.
56424         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
56425
56426 2008-10-05  Bruno Haible  <bruno@clisp.org>
56427
56428         * modules/sched (Makefile.am): Fix typo.
56429         Reported by Simon Josefsson.
56430
56431 2008-10-05  Jim Meyering  <meyering@redhat.com>
56432
56433         bootstrap: check for LT_INIT, too
56434         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
56435         are deprecated.  Suggestion from Ralf Wildenhues.
56436
56437 2008-10-05  Bruno Haible  <bruno@clisp.org>
56438
56439         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
56440         overriding them by ours.
56441         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
56442
56443 2008-10-05  Jim Meyering  <meyering@redhat.com>
56444
56445         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
56446         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
56447         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
56448
56449 2008-10-04  Bruno Haible  <bruno@clisp.org>
56450
56451         * modules/dup2 (License): Change to LGPLv2+.
56452         * modules/sleep (License): Likewise.
56453         * modules/perror (License): Likewise.
56454         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
56455         Blake.
56456         * modules/signal (License): Likewise.
56457         * modules/sigprocmask (License): Likewise.
56458         * modules/raise (License): Change to LGPLv2+, with approval by Jim
56459         Meyering.
56460
56461 2008-10-04  Bruno Haible  <bruno@clisp.org>
56462
56463         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
56464         Reported by Rainer Tammer <tammer@tammer.net>.
56465
56466 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
56467             Bruno Haible  <bruno@clisp.org>
56468
56469         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
56470         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
56471         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
56472
56473 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
56474
56475         filevercmp: new module
56476         * lib/filevercmp.h: New function filevercmp comparing version strings.
56477         * lib/filevercmp.c: Implementation of filevercmp function.
56478         * modules/filevercmp: Module metadata.
56479         * tests/test-filevercmp.c: Unit test for new module.
56480         * modules/filevercmp-tests: Unit test metadata.
56481         * MODULES.html.sh: Add filevercmp module.
56482
56483 2008-10-03  Bruno Haible  <bruno@clisp.org>
56484
56485         * lib/c-ctype.h: Add comment.
56486         Reported by Jim Meyering.
56487
56488 2008-10-02  Bruno Haible  <bruno@clisp.org>
56489
56490         * modules/posix_spawn-internal (Depends-on): Add 'open'.
56491
56492 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56493
56494         * build-aux/bootstrap: Allow renaming bootstrap, and change the
56495         name of bootstrap.conf accordingly.
56496
56497 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56498
56499         * build-aux/bootstrap: Install git-merge-changelog configuration
56500         items into .gitconfig if needed.
56501
56502 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56503
56504         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
56505         git repository, and initialize/update it accordingly.
56506
56507 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
56508
56509         * modules/fsync-tests: New file.
56510         * tests/test-fsync.c: New file.
56511
56512         New module 'fsync'.
56513         * lib/fsync.c: New file.
56514         * m4/fsync.m4: New file.
56515         * modules/fsync: New file.
56516         * lib/unistd.in.h (fsync): New declaration.
56517         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
56518         GNULIB_FSYNC and HAVE_FSYNC.
56519         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
56520         * MODULES.html.sh (posix_functions): Add fsync.
56521         * doc/posix-functions/fsync.texi: Mention the new module.
56522
56523 2008-10-02  Jim Meyering  <meyering@redhat.com>
56524
56525         fts.c: sync with similar code from coreutils' remove.c
56526         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
56527         Guard also with "#if defined __linux__", since for now at least,
56528         this code is Linux-kernel-specific.
56529
56530 2008-10-02  Jim Meyering  <meyering@redhat.com>
56531
56532         fts: bug fixes
56533         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
56534         Include <sys/vfs.h>, not <sys/statfs.h>.
56535
56536         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
56537         Include <sys/vfs.h>, not <sys/statfs.h>.
56538
56539 2008-10-01  Bruno Haible  <bruno@clisp.org>
56540
56541         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
56542         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
56543         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
56544         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
56545         * doc/posix-functions/posix_spawnp.texi: Likewise.
56546         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
56547         whether posix_spawn actually works.
56548         * m4/pipe.m4 (gl_PIPE): Likewise.
56549         * modules/execute (Files): Add m4/posix_spawn.m4.
56550         * modules/pipe (Files): Add m4/posix_spawn.m4.
56551         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
56552
56553 2008-10-01  Jim Meyering  <meyering@redhat.com>
56554
56555         remove trailing spaces
56556         * NEWS: Likewise.
56557         * lib/poll.c (poll): Likewise.
56558         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
56559         * lib/winsock.c (rpl_close): Likewise.
56560         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
56561         * modules/yield: Likewise.
56562         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
56563         * tests/test-sys_select.c (connect_to_socket): Likewise.
56564
56565         fts.c: adjust a new interface to be more generally useful
56566         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
56567         (fts_build): Adjust caller.
56568
56569 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56570
56571         * modules/cond-tests: New file.
56572         * tests/test-cond.c: New file.
56573
56574 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56575             Bruno Haible  <bruno@clisp.org>
56576
56577         * modules/cond (Dependencies): Add errno, time.
56578         * lib/glthread/cond.h: Include <time.h>.
56579         (gl_cond_define, gl_cond_define_initialized): Use the same definition
56580         across platforms.
56581
56582 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56583             Bruno Haible  <bruno@clisp.org>
56584
56585         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
56586
56587 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56588             Bruno Haible  <bruno@clisp.org>
56589
56590         * modules/tls-tests (Depends-on): Add thread, yield.
56591         (configure.ac): Remove all checks.
56592         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
56593         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56594         gl_thread_self): Remove definitions. Include glthread/thread.h and
56595         glthread/yield.h instead.
56596         (test_tls): Pass an additional NULL argument to gl_thread_join.
56597
56598 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56599             Bruno Haible  <bruno@clisp.org>
56600
56601         * modules/lock-tests (Depends-on): Add thread, yield.
56602         (configure.ac): Remove all checks.
56603         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
56604         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56605         gl_thread_self): Remove definitions. Include glthread/thread.h and
56606         glthread/yield.h instead.
56607         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
56608         additional NULL argument to gl_thread_join.
56609
56610 2008-09-30  Bruno Haible  <bruno@clisp.org>
56611
56612         Fix the Win32 implementation of the 'thread' module.
56613         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
56614         pointer type.
56615         (gl_thread_self): Invoke gl_thread_self_func.
56616         (gl_thread_self_func): New declaration.
56617         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
56618         (do_init_self_key, init_self_key): New functions.
56619         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
56620         Remove some fields.
56621         (running_threads, running_lock): Remove variables.
56622         (get_current_thread_handle): New function.
56623         (gl_thread_self_func, wrapper_func, glthread_create_func,
56624         glthread_join_func, gl_thread_exit_func): Largely rewritten and
56625         simplified.
56626
56627 2008-09-30  Bruno Haible  <bruno@clisp.org>
56628
56629         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
56630         files.
56631
56632 2008-09-30  Jim Meyering  <meyering@redhat.com>
56633
56634         fts.m4: correct the test for statfs.f_type
56635         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
56636         when checking for statfs.f_type.
56637
56638 2008-09-15  Simon Josefsson  <simon@josefsson.org>
56639
56640         tests: avoid some compiler warnings
56641         * tests/test-memchr.c (main): Pass NULL indirectly.
56642         * tests/test-getdate.c (main): Remove unused variable 'ret'.
56643
56644 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
56645
56646         getdate.y: disallow countable dayshifts like "4 yesterday ago"
56647         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
56648         exactly specified dayshifts.
56649         (dayshift): New rule.
56650         (rel): Add dayshift.
56651         (relative_time_table) [tomorrow, yesterday, today, now]:
56652         Use tDAY_SHIFT in place of tDAY_UNIT.
56653         * tests/test-getdate.c: Add tests for now-disallowed countable
56654         dayshifts, e.g., "4 yesterday ago".
56655
56656 2008-09-29  Bruno Haible  <bruno@clisp.org>
56657
56658         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
56659         * tests/test-posix_spawn1.in.sh: Renamed from
56660         tests/test-posix_spawn.in.sh.
56661         * tests/test-posix_spawn2.c: New file.
56662         * tests/test-posix_spawn2.in.sh: New file.
56663         * modules/posix_spawnp-tests (Files): Update.
56664         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
56665
56666 2008-09-29  Bruno Haible  <bruno@clisp.org>
56667
56668         Propagate effects of putenv/setenv/unsetenv to child processes.
56669         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
56670         * lib/pipe.c (create_pipe): Likewise.
56671
56672 2008-09-29  Bruno Haible  <bruno@clisp.org>
56673
56674         Enable use of shell scripts as executables in mingw.
56675         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
56676         run the program as a shell script.
56677         * lib/pipe.c (create_pipe): Likewise.
56678         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
56679         resulting array.
56680
56681 2008-09-29  Eric Blake  <ebb9@byu.net>
56682
56683         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
56684
56685 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
56686
56687         * doc/posix-functions/accept.texi: Update mingw problems.
56688         * doc/posix-functions/bind.texi: Update mingw problems.
56689         * doc/posix-functions/close.texi: Update mingw problems.
56690         * doc/posix-functions/connect.texi: Update mingw problems.
56691         * doc/posix-functions/getpeername.texi: Update mingw problems.
56692         * doc/posix-functions/getsockname.texi: Update mingw problems.
56693         * doc/posix-functions/getsockopt.texi: Update mingw problems.
56694         * doc/posix-functions/ioctl.texi: Update mingw problems.
56695         * doc/posix-functions/listen.texi: Update mingw problems.
56696         * doc/posix-functions/recv.texi: Update mingw problems.
56697         * doc/posix-functions/recvfrom.texi: Update mingw problems.
56698         * doc/posix-functions/select.texi: Update mingw problems.
56699         * doc/posix-functions/send.texi: Update mingw problems.
56700         * doc/posix-functions/sendto.texi: Update mingw problems.
56701         * doc/posix-functions/setsockopt.texi: Update mingw problems.
56702         * doc/posix-functions/socket.texi: Update mingw problems.
56703
56704 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
56705             Bruno Haible  <bruno@clisp.org>
56706
56707         * lib/sys_select.in.h: Include sys/time.h.
56708         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
56709         * modules/sys_select: Depend on sys_time.
56710         * tests/test-sys_select.c: Test that sys/select.h defines struct
56711         timeval fully.
56712
56713 2008-09-29  Bruno Haible  <bruno@clisp.org>
56714
56715         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
56716         * lib/sys_select.in.h: Likewise.
56717
56718 2008-09-29  Bruno Haible  <bruno@clisp.org>
56719
56720         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
56721
56722 2008-09-29  Bruno Haible  <bruno@clisp.org>
56723
56724         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
56725         Set LIBSOCKET instead of augmenting LIBS.
56726         * modules/sockets (Link): New section.
56727         * modules/sockets-tests (test_sockets_LDADD): New variable.
56728         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
56729         * modules/poll-tests (test_poll_LDADD): New variable.
56730         * NEWS: Document the change.
56731
56732 2008-09-29  Bruno Haible  <bruno@clisp.org>
56733
56734         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
56735         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
56736         ARPA_INET_H directly.
56737         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56738
56739 2008-09-28  Bruno Haible  <bruno@clisp.org>
56740
56741         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
56742         from gl_HEADER_SYS_SOCKET.
56743         (gl_HEADER_SYS_SOCKET): Invoke it.
56744         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56745
56746 2008-09-28  Bruno Haible  <bruno@clisp.org>
56747
56748         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
56749         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
56750         Needed on OSF/1 4.0.
56751
56752 2008-09-28  Bruno Haible  <bruno@clisp.org>
56753
56754         Override open more carefully.
56755         * lib/open.c (orig_open): New function.
56756         (rpl_open): Use orig_open instead of open.
56757         * lib/fcntl.in.h: Add special invocation convention.
56758         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
56759         (gl_FUNC_OPEN): Invoke it.
56760
56761         Override freopen more carefully.
56762         * lib/freopen.c (orig_freopen): New function.
56763         (rpl_freopen): Use orig_freopen instead of freopen.
56764         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
56765         (gl_FUNC_FREOPEN): Invoke it.
56766
56767         Override fopen more carefully.
56768         * lib/fopen.c (orig_fopen): New function.
56769         (rpl_fopen): Use orig_fopen instead of fopen.
56770         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
56771         (gl_FUNC_FOPEN): Invoke it.
56772         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
56773
56774 2008-09-28  Bruno Haible  <bruno@clisp.org>
56775
56776         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
56777         SIGPIPE.
56778
56779 2008-09-28  Bruno Haible  <bruno@clisp.org>
56780
56781         * tests/test-sigaction.c (handler, main): Disable the check whether
56782         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
56783         glibc systems with LinuxThreads.
56784
56785 2008-09-28  Bruno Haible  <bruno@clisp.org>
56786
56787         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
56788
56789         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
56790         with AIX xlc.
56791         * lib/fcntl.in.h (open): Likewise.
56792         Reported by Rainer Tammer <tammer@tammer.net>.
56793
56794 2008-09-28  Bruno Haible  <bruno@clisp.org>
56795
56796         * modules/posix_spawnp-tests: New file.
56797         * tests/test-posix_spawn.c: New file.
56798         * tests/test-posix_spawn.in.sh: New file.
56799
56800         New module 'posix_spawnp'.
56801         * modules/posix_spawnp: New file.
56802         * lib/spawnp.c: New file, from GNU libc with modifications.
56803         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
56804
56805         New module 'posix_spawn'.
56806         * modules/posix_spawn: New file.
56807         * lib/spawn.c: New file, from GNU libc with modifications.
56808         * doc/posix-functions/posix_spawn.texi: Mention the new module.
56809
56810         New module 'posix_spawnattr_destroy'.
56811         * modules/posix_spawnattr_destroy: New file.
56812         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
56813         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
56814         module.
56815
56816         New module 'posix_spawnattr_setsigmask'.
56817         * modules/posix_spawnattr_setsigmask: New file.
56818         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
56819         modifications.
56820         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
56821         new module.
56822
56823         New module 'posix_spawnattr_getsigmask'.
56824         * modules/posix_spawnattr_getsigmask: New file.
56825         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
56826         modifications.
56827         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
56828         new module.
56829
56830         New module 'posix_spawnattr_setsigdefault'.
56831         * modules/posix_spawnattr_setsigdefault: New file.
56832         * lib/spawnattr_setdefault.c: New file, from GNU libc with
56833         modifications.
56834         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
56835         new module.
56836
56837         New module 'posix_spawnattr_getsigdefault'.
56838         * modules/posix_spawnattr_getsigdefault: New file.
56839         * lib/spawnattr_getdefault.c: New file, from GNU libc with
56840         modifications.
56841         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
56842         new module.
56843
56844         New module 'posix_spawnattr_setschedpolicy'.
56845         * modules/posix_spawnattr_setschedpolicy: New file.
56846         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
56847         modifications.
56848         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
56849         new module.
56850
56851         New module 'posix_spawnattr_getschedpolicy'.
56852         * modules/posix_spawnattr_getschedpolicy: New file.
56853         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
56854         modifications.
56855         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
56856         new module.
56857
56858         New module 'posix_spawnattr_setschedparam'.
56859         * modules/posix_spawnattr_setschedparam: New file.
56860         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
56861         modifications.
56862         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
56863         new module.
56864
56865         New module 'posix_spawnattr_getschedparam'.
56866         * modules/posix_spawnattr_getschedparam: New file.
56867         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
56868         modifications.
56869         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
56870         new module.
56871
56872         New module 'posix_spawnattr_setpgroup'.
56873         * modules/posix_spawnattr_setpgroup: New file.
56874         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
56875         modifications.
56876         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
56877         module.
56878
56879         New module 'posix_spawnattr_getpgroup'.
56880         * modules/posix_spawnattr_getpgroup: New file.
56881         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
56882         modifications.
56883         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
56884         module.
56885
56886         New module 'posix_spawnattr_setflags'.
56887         * modules/posix_spawnattr_setflags: New file.
56888         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
56889         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
56890         module.
56891
56892         New module 'posix_spawnattr_getflags'.
56893         * modules/posix_spawnattr_getflags: New file.
56894         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
56895         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
56896         module.
56897
56898         New module 'posix_spawnattr_init'.
56899         * modules/posix_spawnattr_init: New file.
56900         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
56901         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
56902         module.
56903
56904         New module 'posix_spawn_file_actions_destroy'.
56905         * modules/posix_spawn_file_actions_destroy: New file.
56906         * lib/spawn_faction_destroy.c: New file, from GNU libc with
56907         modifications.
56908         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
56909         the new module.
56910
56911         New module 'posix_spawn_file_actions_addopen'.
56912         * modules/posix_spawn_file_actions_addopen: New file.
56913         * lib/spawn_faction_addopen.c: New file, from GNU libc with
56914         modifications.
56915         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
56916         the new module.
56917
56918         New module 'posix_spawn_file_actions_adddup2'.
56919         * modules/posix_spawn_file_actions_adddup2: New file.
56920         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
56921         modifications.
56922         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
56923         the new module.
56924
56925         New module 'posix_spawn_file_actions_addclose'.
56926         * modules/posix_spawn_file_actions_addclose: New file.
56927         * lib/spawn_faction_addclose.c: New file, from GNU libc with
56928         modifications.
56929         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
56930         the new module.
56931
56932         New module 'posix_spawn_file_actions_init'.
56933         * modules/posix_spawn_file_actions_init: New file.
56934         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
56935         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
56936         new module.
56937
56938         New module 'posix_spawn-internal'.
56939         * modules/posix_spawn-internal: New file.
56940         * lib/spawn_int.h: New file, from GNU libc with modifications.
56941         * lib/spawni.c: New file, from GNU libc with modifications.
56942         * m4/posix_spawn.m4: New file.
56943
56944         New module 'spawn'.
56945         * modules/spawn: New file.
56946         * lib/spawn.in.h: New file, from GNU libc with modifications.
56947         * m4/spawn_h.m4: New file.
56948         * doc/posix-headers/spawn.texi: Mention the new module.
56949
56950 2008-09-28  Bruno Haible  <bruno@clisp.org>
56951
56952         * modules/sched-tests: New file.
56953         * tests/test-sched.c: New file.
56954
56955         New module 'sched'.
56956         * modules/sched: New file.
56957         * lib/sched.in.h: New file.
56958         * m4/sched_h.m4: New file.
56959         * doc/posix-headers/sched.texi: Mention the new module.
56960
56961 2008-09-27  Eric Blake  <ebb9@byu.net>
56962
56963         Fix previous patch, and tweak references to $0.
56964         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
56965         (func_version, func_gnulib_dir): Don't call this program
56966         gnulib-tool.
56967         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
56968         with using $0 in function.
56969         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
56970         (func_fatal_error): Reuse the name the user invoked us with.
56971
56972 2008-09-27  Bruno Haible  <bruno@clisp.org>
56973
56974         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
56975         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
56976         (gl_ICONV_H): Not here.
56977         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
56978         instead of assigning ICONV_H directly.
56979
56980         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
56981         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
56982         WCHAR_H directly.
56983
56984 2008-09-27  Bruno Haible  <bruno@clisp.org>
56985
56986         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
56987         * modules/arpa_inet (Depends-on): Add link-warning.
56988         (Makefile.am): Insert the definition of GL_LINK-WARNING.
56989         * modules/unistd (Makefile.am): Likewise.
56990
56991 2008-09-26  Bruno Haible  <bruno@clisp.org>
56992
56993         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
56994         variables.
56995         (func_version): Essentially copied from gnulib-tool.
56996         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
56997         func_readlink): Copied from gnulib-tool.
56998
56999 2008-09-26  Bruno Haible  <bruno@clisp.org>
57000
57001         * gnulib-tool (func_version): Change directory to $gnulib_dir before
57002         invoking git-version-gen.
57003
57004 2008-09-26  Bruno Haible  <bruno@clisp.org>
57005
57006         * posix-modules: Update to directory names changed on 2008-01-19.
57007         Remove commas in output before splitting into words. No more need to
57008         avoid 'ftruncate' since 2007-02-19.
57009
57010 2008-09-26  Bruno Haible  <bruno@clisp.org>
57011
57012         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
57013
57014 2008-09-26  Bruno Haible  <bruno@clisp.org>
57015
57016         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
57017         * modules/fwriteerror (Depends-on): Add errno.
57018
57019 2008-09-26  Bruno Haible  <bruno@clisp.org>
57020
57021         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
57022         * tests/test-vc-list-files-cvs.sh: Likewise.
57023
57024 2008-09-26  Bruno Haible  <bruno@clisp.org>
57025
57026         * doc/posix-headers/sys_resource.texi: Reorder items.
57027
57028 2008-09-26  Jim Meyering  <meyering@redhat.com>
57029
57030         fts: tweak inode comparison function
57031         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
57032         inode numbers, as documented.
57033
57034         fts: sort dirent entries on inode number before traversing
57035         This avoids a quadratic, seek-related performance penalty when
57036         operating on a directory containing many entries (measurable at 10k;
57037         3.5 hours at 2 million entries with a cold cache) on certain types
57038         of file systems, including ext3 and ext4, but not tmpfs.
57039         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
57040         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
57041         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
57042         (fs_handles_readdir_ordered_dirents_efficiently): New function.
57043         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
57044         (fts_build): Set the stat.st_ino member from D_INO.
57045         If it is likely to be useful, sort dirent entries on inode number.
57046
57047         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
57048         and the struct statfs.f_type member.
57049         * modules/fts (Depends-on): Add d-ino.
57050
57051 2008-09-26  Bruno Haible  <bruno@clisp.org>
57052
57053         * modules/sigpipe-die (Depends-on): Add sigpipe.
57054
57055         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
57056         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
57057         and GNULIB_STDIO_H_SIGPIPE are set.
57058         * lib/stdio-write.c: New file.
57059         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
57060         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
57061         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
57062         REPLACE_STDIO_WRITE_FUNCS.
57063         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
57064         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
57065         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
57066         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
57067         * modules/stdio (Files): Add lib/stdio-write.c.
57068         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
57069         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
57070         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
57071         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
57072         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
57073         REPLACE_FPRINTF_POSIX.
57074         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
57075         REPLACE_PRINTF_POSIX.
57076         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
57077         REPLACE_VFPRINTF_POSIX.
57078         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
57079         REPLACE_VPRINTF_POSIX.
57080         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
57081         SIGPIPE issue.
57082         * doc/posix-functions/fputc.texi: Likewise.
57083         * doc/posix-functions/fputs.texi: Likewise.
57084         * doc/posix-functions/fwrite.texi: Likewise.
57085         * doc/posix-functions/printf.texi: Likewise.
57086         * doc/posix-functions/putc.texi: Likewise.
57087         * doc/posix-functions/putchar.texi: Likewise.
57088         * doc/posix-functions/puts.texi: Likewise.
57089         * doc/posix-functions/vfprintf.texi: Likewise.
57090         * doc/posix-functions/vprintf.texi: Likewise.
57091
57092         * modules/safe-write (Depends-on): Add write.
57093
57094         * modules/sigpipe-tests: New file.
57095         * tests/test-sigpipe.c: New file.
57096         * tests/test-sigpipe.sh: New file.
57097
57098         * modules/write: New file.
57099         * lib/unistd.in.h: Include <sys/types.h>.
57100         (write): New declaration.
57101         * lib/write.c: New file.
57102         * m4/write.m4: New file.
57103         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
57104         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
57105         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
57106         GNULIB_WRITE, REPLACE_WRITE.
57107         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
57108         and the SIGPIPE issue.
57109
57110         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
57111         (raise): New declaration.
57112         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
57113         (ext_signal): New function.
57114         (rpl_raise): New function.
57115         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
57116         GNULIB_SIGNAL_H_SIGPIPE.
57117         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
57118         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
57119
57120         * modules/sigpipe: New file.
57121         * m4/sigpipe.m4: New file.
57122
57123 2008-09-25  Derek Price  <derek@ximbiot.com>
57124             Bruno Haible  <bruno@clisp.org>
57125
57126         * gnulib-tool (func_import): Report all license incompatibilities, not
57127         just the first one.
57128
57129 2008-09-25  Bruno Haible  <bruno@clisp.org>
57130
57131         * gnulib-tool (func_import): When computing the edits, consider not
57132         only the Makefile.ams that exist but also those that will be generated.
57133
57134 2008-09-25  Simon Josefsson  <simon@josefsson.org>
57135
57136         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
57137         fixes gnulib-tool --test warning about duplicate dependency.
57138
57139 2008-09-25  Bruno Haible  <bruno@clisp.org>
57140
57141         * gnulib-tool: Don't ask the user to perform edits in the generated
57142         Makefile.ams.
57143         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
57144         apply to the Makefile.am being generated.
57145         (func_emit_tests_Makefile_am): Execute edits that apply to the
57146         Makefile.am being generated.
57147         (func_import): Setup list of Makefile.am edits before emitting the
57148         Makefile.ams, not at the end.
57149         (func_create_testdir): Update.
57150         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57151
57152 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57153
57154         * gnulib-tool (func_import): Store the --tests-base option in the
57155         comment in gnulib-cache.m4.
57156
57157 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
57158
57159         * NEWS: Document increased portability that sys_select now provides.
57160
57161         * lib/sys_select.in.h: Install select wrapper.
57162         * lib/sys_socket.in.h: Use more descriptive name when there is no
57163         select wrapper.
57164         * lib/winsock-select.c: New.
57165         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
57166         Require gl_HEADER_SYS_SOCKET.
57167         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
57168         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
57169         * tests/test-sys_select.c: Add functional tests.
57170
57171 2008-09-24  Eric Blake  <ebb9@byu.net>
57172
57173         open, fopen: close fd leak in last patch
57174         * lib/open.c (rpl_open): Close fd before returning error.
57175         * lib/fopen.c (rpl_fopen): Close fd before returning error.
57176         * doc/posix-functions/open.texi (open): Document that Irix also
57177         has the bug.
57178         * doc/posix-functions/fopen.texi (fopen): Likewise.
57179         Reported by Paolo Bonzini.
57180
57181 2008-09-24  Bruno Haible  <bruno@clisp.org>
57182
57183         Ensure that a filename ending in a slash cannot be used to access a
57184         non-directory.
57185         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
57186         to check whether it's really a directory.
57187         * lib/fopen.c: Include fcntl.h, unistd.h.
57188         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
57189         and fdopen().
57190         * modules/fopen (Depends-on): Add unistd.
57191         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
57192         * tests/test-fopen.c (main): Likewise.
57193         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
57194         * doc/posix-functions/fopen.texi: Likewise.
57195         Reported by Eric Blake.
57196
57197 2008-09-23  Eric Blake  <ebb9@byu.net>
57198
57199         c-stack: avoid compiler optimizations when provoking overflow
57200         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
57201         recursion harder to optimize, to ensure a stack overflow occurs.
57202         * tests/test-c-stack.c (recurse): Likewise.
57203         Borrowed from libsigsegv.
57204
57205         c-stack: work around Irix sigaltstack bug
57206         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
57207         whether sigaltstack uses wrong end of stack_t (copied in part from
57208         libsigsegv).
57209         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
57210         Irix bug, without requiring an over-allocation.
57211         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
57212         bug.
57213
57214         fopen: document mingw bug on directories
57215         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
57216         not allowing a stream visiting a directory, even though reading
57217         from such a stream is not portable.
57218
57219 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
57220
57221         * lib/poll.c: Rewrite.
57222         * modules/poll: Depend on alloca.
57223
57224 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
57225
57226         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
57227         instead define prototypes for a full set of wrappers.  Ensure
57228         that Cygwin does not use the compatibility code, which is only
57229         for MinGW.
57230         * lib/winsock.c: New.
57231         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
57232         * modules/sys_socket: Add lib/winsock.c.
57233
57234         * modules/poll-tests: Add errno and perror.
57235         * tests/test-poll.c: Use ioctl, not ioctlsocket.
57236
57237 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
57238
57239         * tests/test-poll.c: Downgrade minimum needed Winsock version.
57240
57241 2008-09-23  Bruno Haible  <bruno@clisp.org>
57242
57243         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
57244         * doc/glibc-functions/*: Likewise.
57245
57246 2008-09-23  Simon Josefsson  <simon@josefsson.org>
57247
57248         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
57249         success.
57250
57251 2008-09-22  Eric Blake  <ebb9@byu.net>
57252             Bruno Haible  <bruno@clisp.org>
57253
57254         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
57255         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
57256         supply %A but mishandle pseudo-NaN.
57257         Reported by Simon Josefsson.
57258
57259 2008-09-21  Bruno Haible  <bruno@clisp.org>
57260
57261         * tests/test-lock.c (main): Tweak skip message.
57262         * tests/test-tls.c (main): Likewise.
57263
57264 2008-09-21  Bruno Haible  <bruno@clisp.org>
57265
57266         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
57267         whether 'struct sigaction' has sa_sigaction here...
57268         (gl_PREREQ_SIG_HANDLER_H): ... not here.
57269         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
57270
57271 2008-09-21  Bruno Haible  <bruno@clisp.org>
57272
57273         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
57274         section.
57275         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
57276         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
57277         the new section.
57278         (Support for obsolete systems lacking POSIX:2001): New section.
57279         (String handling <string.h>): Move strdup to the new section.
57280         Suggested by Simon Josefsson and Paolo Bonzini.
57281
57282 2008-09-21  Bruno Haible  <bruno@clisp.org>
57283
57284         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
57285         exponents in %e and %g results on 'long double'. Needed for mingw's
57286         improved *printf functions.
57287         * tests/test-vasprintf-posix.c (test_function): Likewise.
57288         * tests/test-snprintf-posix.h (test_function): Likewise.
57289         * tests/test-sprintf-posix.h (test_function): Likewise.
57290         Reported by Eric Blake.
57291
57292 2008-09-21  Bruno Haible  <bruno@clisp.org>
57293
57294         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
57295         * tests/test-sprintf-posix.h (test_function): Likewise.
57296
57297 2008-09-21  Bruno Haible  <bruno@clisp.org>
57298
57299         * modules/getpass (Depends-on): Add strdup-posix.
57300
57301         New module 'strdup-posix'.
57302         * modules/strdup-posix: New file.
57303         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
57304         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
57305         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
57306         REPLACE_STRDUP.
57307         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
57308         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
57309         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57310         strdup-posix.
57311
57312         * modules/strdup (Depends-on): Remove malloc-posix.
57313
57314 2008-09-20  Bruno Haible  <bruno@clisp.org>
57315
57316         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
57317         Wildenhues.
57318
57319 2008-09-20  Bruno Haible  <bruno@clisp.org>
57320
57321         Ensure that wint_t gets defined on IRIX 5.3.
57322         * lib/wchar.in.h (wint_t): Define if not defined by the system.
57323         * lib/wctype.in.h (wint_t): Likewise.
57324         (__wctype_wint_t): Remove type.
57325         (isw*): Use wint_t instead of __wctype_wint_t.
57326         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
57327         * modules/wchar (Files): Add m4/wint_t.m4.
57328         (Makefile.am): Substitute HAVE_WINT_T.
57329         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
57330         * tests/test-wctype.c: Check that wint_t is defined.
57331         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
57332         * doc/posix-headers/wctype.texi: Likewise.
57333         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
57334
57335 2008-09-18  Bruno Haible  <bruno@clisp.org>
57336
57337         * gnulib-tool (func_exit): Update comment.
57338
57339 2008-09-18  Simon Josefsson  <simon@josefsson.org>
57340
57341         * modules/getaddrinfo (Depends-on): Remove strdup, this module
57342         assumes strdup exists and does not depend on strdup to return
57343         ENOMEM on out of memory conditions.
57344
57345 2008-09-18  Bruno Haible  <bruno@clisp.org>
57346
57347         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
57348         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
57349         digits for the exponent.
57350
57351 2008-09-18  Jim Meyering  <meyering@redhat.com>
57352             Bruno Haible  <bruno@clisp.org>
57353
57354         * lib/vasnprintf.c (decimal_point_char): Define also if
57355         NEED_PRINTF_INFINITE_LONG_DOUBLE.
57356
57357 2008-09-16  Bruno Haible  <bruno@clisp.org>
57358         and Eric Blake  <ebb9@byu.net>
57359
57360         vasnprintf: support Irix 5.3
57361         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
57362         that mishandle long double infinity.
57363         Reported by Tom G. Christensen.
57364
57365 2008-09-16  Bruno Haible  <bruno@clisp.org>
57366
57367         * doc/glibc-functions/scandir.texi: Mention the function is missing on
57368         Solaris 9.
57369         * doc/glibc-functions/alphasort.texi: Likewise.
57370         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
57371
57372 2008-09-16  Jim Meyering  <meyering@redhat.com>
57373
57374         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
57375         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
57376         a umask modification leak out of a subshell.  Otherwise, the
57377         opensolaris /bin/sh would be accepted and thus cause unwarranted
57378         failures in the coreutils test suite.
57379
57380 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
57381
57382         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
57383         to succeed.
57384
57385 2008-09-16  Jim Meyering  <meyering@redhat.com>
57386
57387         avoid spurious test failure when library is built without ACL support
57388         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
57389         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
57390         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
57391         * tests/test-copy-acl.sh: Likewise.
57392
57393 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57394
57395         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
57396         based on character occurrence counts.
57397
57398 2008-09-15  Eric Blake  <ebb9@byu.net>
57399
57400         tests: avoid some compiler warnings
57401         * tests/test-memchr.c (main): Pass NULL indirectly.
57402         * tests/test-closein.c (main): Avoid unused variable.
57403
57404 2008-09-15  Bruno Haible  <bruno@clisp.org>
57405
57406         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
57407         are missing on OpenBSD 4.0 individually.
57408         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57409
57410 2008-09-15  Bruno Haible  <bruno@clisp.org>
57411
57412         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
57413         * doc/posix-functions/strerror.texi: Mention also Cygwin.
57414         * doc/posix-functions/perror.texi: Likewise.
57415         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
57416         is missing.
57417         Reported by Eric Blake.
57418
57419         * lib/errno.in.h: Use replacement values >= 2000.
57420         Reported by Eric Blake.
57421
57422 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57423
57424         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
57425         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
57426         limit.
57427         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
57428         compareseq was aborted.
57429
57430 2008-09-14  Bruno Haible  <bruno@clisp.org>
57431
57432         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
57433         yvec_edit_count.
57434         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
57435         (fstrcmp_bounded): Simplify result computation accordingly.
57436
57437 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57438
57439         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
57440         (fstrcmp): Define in terms of fstrcmp_bounded.
57441         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
57442         lower_bound argument.
57443         Return quickly if the result is certainly < lower_bound.
57444         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
57445
57446 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57447
57448         * lib/diffseq.h (EARLY_ABORT): New macro.
57449         (compareseq): Change return type to bool. Return true when EARLY_ABORT
57450         evaluates to true.
57451
57452 2008-09-14  Bruno Haible  <bruno@clisp.org>
57453
57454         * modules/perror-tests: New file.
57455         * tests/test-perror.sh: New file.
57456         * tests/test-perror.c: New file.
57457
57458         New module 'perror'.
57459         * lib/stdio.in.h (perror): New declaration.
57460         * lib/perror.c: New file.
57461         * m4/perror.m4: New file.
57462         * modules/perror: New file.
57463         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
57464         * doc/posix-functions/perror.texi: Mention the perror module.
57465         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
57466         REPLACE_PERROR.
57467         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
57468         REPLACE_PERROR.
57469
57470 2008-09-14  Bruno Haible  <bruno@clisp.org>
57471
57472         * modules/stdio (Makefile.am): Reorder to match the order in
57473         lib/stdio.in.h.
57474         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
57475
57476 2008-09-13  Bruno Haible  <bruno@clisp.org>
57477
57478         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
57479
57480 2008-09-13  Bruno Haible  <bruno@clisp.org>
57481
57482         Extend strerror to cover the added errno values.
57483         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
57484         (rpl_strerror): Provide error messages for the added errno values and
57485         for the WSA* values.
57486         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
57487         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
57488         strerror.
57489         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
57490         * modules/strerror (Depends-on): Add errno.
57491         * doc/posix-functions/strerror.texi: Document the change.
57492         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
57493         and EOVERFLOW.
57494
57495 2008-09-13  Bruno Haible  <bruno@clisp.org>
57496
57497         * modules/EOVERFLOW: Remove file.
57498         * m4/eoverflow.m4: Remove file.
57499         * modules/EOVERFLOW-tests: Remove file.
57500         * tests/test-EOVERFLOW.c: Remove file.
57501         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
57502         * modules/ftell (Depends-on): Likewise.
57503         * modules/getdelim (Depends-on): Likewise.
57504         * modules/getugroups (Depends-on): Likewise.
57505         * modules/poll (Depends-on): Likewise.
57506         * modules/snprintf (Depends-on): Likewise.
57507         * modules/sprintf-posix (Depends-on): Likewise.
57508         * modules/vasnprintf (Depends-on): Likewise.
57509         * modules/vasprintf (Depends-on): Likewise.
57510         * modules/vfprintf-posix (Depends-on): Likewise.
57511         * modules/vsnprintf (Depends-on): Likewise.
57512         * modules/vsprintf-posix (Depends-on): Likewise.
57513         * modules/xvasprintf (Depends-on): Likewise.
57514         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
57515         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
57516         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
57517         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
57518         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
57519         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
57520         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
57521         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
57522         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
57523         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
57524         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
57525         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
57526         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
57527         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
57528         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
57529         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
57530         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
57531         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
57532         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
57533         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
57534         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
57535         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
57536         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
57537         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
57538         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
57539         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
57540         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
57541         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
57542         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
57543         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
57544         * MODULES.html.sh: Remove EOVERFLOW.
57545         * NEWS: Mention the change.
57546
57547 2008-09-13  Bruno Haible  <bruno@clisp.org>
57548
57549         * modules/errno-tests: New file.
57550         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
57551
57552         * lib/errno.in.h: New file.
57553         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
57554         * modules/errno: New file.
57555         * doc/posix-headers/errno.texi: Update documentation.
57556         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
57557
57558 2008-09-13  Bruno Haible  <bruno@clisp.org>
57559
57560         * tests/test-poll.c: Use #if for native Windows, rather than testing
57561         __MSVCRT__.
57562
57563 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57564             Bruno Haible  <bruno@clisp.org>
57565
57566         * lib/glob.c: Don't include <pwd.h> on native Windows.
57567         (WINDOWS32): New macro.
57568         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
57569
57570 2008-09-13  Bruno Haible  <bruno@clisp.org>
57571
57572         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
57573         (ETIMEDOUT): Remove macro.
57574         (glthread_cond_timedwait_multithreaded): New declaration.
57575         (glthread_cond_timedwait): Use it.
57576         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
57577         (glthread_cond_timedwait_multithreaded): New function.
57578
57579 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57580
57581         * modules/poll-tests: Do not check for io.h.
57582         * tests/test-poll.c: Check for __MSVCRT__ instead.
57583
57584 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57585
57586         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
57587         * modules/poll-tests: Add inet_pton, stdbool, sockets.
57588         * tests/test-poll.c: Use them.  Use _pipe on Windows.
57589
57590 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57591
57592         * modules/poll-tests: New.
57593         * tests/test-poll.c: New.
57594
57595 2008-09-12  Eric Blake  <ebb9@byu.net>
57596
57597         frexp: test for NetBSD failure on -0.0
57598         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
57599         not all, bugs from NetBSD 3.0 have been fixed.
57600         * doc/posix-functions/frexp.texi (frexp): Document bug.
57601         Reported by Thomas Klausner.
57602
57603         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
57604         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
57605         literal -0.0.
57606         Reported by Jonathan C. Patschke <jp@centtech.com>.
57607
57608 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57609
57610         * lib/glthread/cond.h: Use dummy implementation also if
57611         USE_WIN32_THREADS.
57612
57613 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57614
57615         * modules/fnmatch-posix (License): Change to LGPLv2+.
57616         * modules/fnmatch-gnu (License): Likewise.
57617
57618 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57619
57620         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
57621
57622 2008-09-11  Jim Meyering  <meyering@redhat.com>
57623
57624         * users.txt: Add gtk-vnc.
57625
57626 2008-09-08  Simon Josefsson  <simon@josefsson.org>
57627
57628         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
57629         rotate amounts.
57630
57631         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
57632         required for 16-bit and 8-bit rotates.
57633         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
57634         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
57635         UINT8_MAX instead of hard-coded constants.
57636         Suggested by Paul Eggert.
57637
57638 2008-09-07  Bruno Haible  <bruno@clisp.org>
57639
57640         * tests/test-striconveh.c (main): Check behaviour when converting from
57641         UTF-7.
57642
57643         Make striconveh work better with stateful encodings.
57644         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
57645         that iconv does not increment the inptr when returning -1/EINVAL.
57646
57647 2008-09-07  Bruno Haible  <bruno@clisp.org>
57648
57649         * build-aux/config.rpath: Update according to libtool-2.2.6.
57650         * build-aux/config.libpath: Likewise.
57651
57652 2008-09-06  Bruno Haible  <bruno@clisp.org>
57653
57654         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
57655         * lib/freadptr.c (freadptr): Likewise.
57656         * lib/freadseek.c (freadptrinc): Likewise.
57657         Reported by Simon Josefsson.
57658
57659 2008-09-06  Bruno Haible  <bruno@clisp.org>
57660
57661         * modules/freadptr (License): Change to LGPLv2+.
57662         * modules/freadseek (License): Likewise.
57663         Suggested by Eric Blake.
57664
57665         * modules/memchr2 (License): Change to LGPLv2+.
57666         Approved by Eric Blake.
57667
57668 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57669             Bruno Haible  <bruno@clisp.org>
57670
57671         Make gnulib-tool work with native 'sed' on AIX.
57672         * gnulib-tool (sed_noop): New variable.
57673         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
57674         func_add_or_update, func_create_testdir): Use it to initialize sed
57675         script variables.
57676         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57677
57678 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
57679             Bruno Haible  <bruno@clisp.org>
57680
57681         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
57682         also works after #include directives.
57683
57684 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
57685
57686         getdate.y: reject an out-of-range timezone value
57687         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
57688         the range [-24...+24].  When specified with only one or two digits,
57689         * tests/test-getdate.c: Tests for the fix.
57690         * doc/getdate.texi: Document this change.
57691
57692 2008-09-03  Bruno Haible  <bruno@clisp.org>
57693
57694         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
57695
57696 2008-09-02  Simon Josefsson  <simon@josefsson.org>
57697
57698         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
57699         <bruce.korb@gmail.com> with ideas from Ben Pfaff
57700         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
57701         Blake <ebb9@byu.net>.
57702
57703         * tests/test-bitrotate.c: Add more test vectors.
57704
57705 2008-09-02  Eric Blake  <ebb9@byu.net>
57706
57707         vasnprintf-posix: handle large precision via %.*d
57708         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
57709         when handling it ourselves.
57710         * tests/test-vasnprintf-posix.c (test_function): Add test.
57711         * tests/test-snprintf-posix.h (test_function): Likewise.
57712         * tests/test-sprintf-posix.h (test_function): Likewise.
57713         * tests/test-vasprintf-posix.c (test_function): Likewise.
57714         Reported by Alain Guibert.
57715
57716 2008-09-01  Eric Blake  <ebb9@byu.net>
57717
57718         c-stack: make configure-time check more robust
57719         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
57720         successful sigaction call.
57721         Reported by Tom G. Christensen.
57722
57723 2008-09-01  Bruno Haible  <bruno@clisp.org>
57724
57725         New module 'findprog-lgpl'.
57726         * modules/findprog-lgpl: New file.
57727         * lib/findprog-lgpl.c: New file.
57728         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
57729         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
57730         to decide whether to use strdup or xstrdup, concatenated_filename or
57731         xconcatenated_filename.
57732
57733 2008-09-01  Bruno Haible  <bruno@clisp.org>
57734
57735         Split module 'concat-filename' into 'concat-filename' (LGPL) and
57736         'xconcat-filename' (GPL).
57737         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
57738         (License): Change to LGPLv2+.
57739         * modules/xconcat-filename: New file.
57740         * lib/concat-filename.h (concatenated_filename): Change specification.
57741         (xconcatenated_filename): New declaration.
57742         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
57743         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
57744         memory situations.
57745         * lib/xconcat-filename.c: New file.
57746         * NEWS: Mention the change.
57747         * lib/findprog.c: Include concat-filename.h, not filename.h.
57748         (find_in_path): Use xconcatenated_filename instead of
57749         concatenated_filename.
57750         * lib/javacomp.c: Include concat-filename.h, not filename.h.
57751         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
57752         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
57753         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
57754         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
57755         instead of concatenated_filename.
57756         * lib/javaexec.c: Include concat-filename.h, not filename.h.
57757         (execute_java_class): Use xconcatenated_filename instead of
57758         concatenated_filename.
57759         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
57760         * modules/javacomp (Depends-on): Likewise.
57761         * modules/javaexec (Depends-on): Likewise.
57762
57763 2008-09-01  Bruno Haible  <bruno@clisp.org>
57764
57765         Split module 'filename' into 'filename' and 'concat-filename'.
57766         * modules/filename: Keep only lib/filename.h.
57767         (License): Change to LGPLv2+.
57768         * modules/concat-filename: New file, extracted from modules/filename.
57769         * lib/filename.h (concatenated_filename): Remove declaration.
57770         * lib/concat-filename.h: New file, extracted from lib/filename.h.
57771         * lib/concat-filename.c: Include concat-filename.h.
57772         * NEWS: Mention the change.
57773
57774 2008-09-01  Simon Josefsson  <simon@josefsson.org>
57775
57776         * lib/bitrotate.h (rotl8, rotr8): Add.
57777
57778         * modules/bitrotate (configure.ac): Need
57779         AC_REQUIRE([AC_C_INLINE]).
57780         (Description): Mention stdint.h.  Reported by Bruno Haible
57781         <bruno@clisp.org>.
57782
57783         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
57784         Paolo Bonzini <bonzini@gnu.org>.
57785
57786 2008-08-31  Bruno Haible  <bruno@clisp.org>
57787
57788         Assume Solaris specific bi-arch conventions on Solaris systems.
57789         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
57790         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
57791         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
57792         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
57793         like acl_libdirstem.
57794         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
57795         acl_libdirstem.
57796         * NEWS: Mention the change.
57797         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
57798
57799 2008-08-31  Jim Meyering  <meyering@redhat.com>
57800
57801         * lib/strftime.h: Add comments describing the two added arguments.
57802
57803         remove duplicate #include directives
57804         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
57805         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
57806
57807 2008-08-31  Bruno Haible  <bruno@clisp.org>
57808
57809         New module 'sigpipe-die'.
57810         * modules/sigpipe-die: New file.
57811         * lib/sigpipe-die.h: New file.
57812         * lib/sigpipe-die.c: New file.
57813         * MODULES.html.sh (Signal handling): Add sigpipe-die.
57814
57815 2008-08-31  Bruno Haible  <bruno@clisp.org>
57816
57817         Don't override previously installed signal handlers.
57818         * lib/fatal-signal.c (saved_sigactions): New variable.
57819         (uninstall_handlers): Reset the signal to the saved handler, not
57820         to SIG_DFL (except when ignored).
57821         (install_handlers): Save the previous handlers.
57822
57823 2008-08-30  Bruno Haible  <bruno@clisp.org>
57824
57825         * gnulib-tool (func_reset_sigpipe): New function.
57826         (func_get_automake_snippet, func_modules_transitive_closure,
57827         func_import): Invoke it before a join command that reads from stdin,
57828         to avoid "echo: write error: Broken pipe" error messages on stderr.
57829         Reported by Sam Steingold <sds@gnu.org>.
57830
57831 2008-08-30  Bruno Haible  <bruno@clisp.org>
57832
57833         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
57834         Code copied from m4/open.m4.
57835         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
57836         access and the filename ends in a slash. Code copied from lib/open.c.
57837         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
57838         * tests/test-fopen.c (main): Check against bug with trailing slash.
57839
57840 2008-08-29  Bruno Haible  <bruno@clisp.org>
57841
57842         Avoid some "gcc -pedantic" warnings.
57843         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
57844         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
57845         * lib/dirent.in.h: Likewise.
57846         * lib/fcntl.in.h: Likewise.
57847         * lib/float.in.h: Likewise.
57848         * lib/iconv.in.h: Likewise.
57849         * lib/inttypes.in.h: Likewise.
57850         * lib/locale.in.h: Likewise.
57851         * lib/math.in.h: Likewise.
57852         * lib/netinet_in.in.h: Likewise.
57853         * lib/search.in.h: Likewise.
57854         * lib/signal.in.h: Likewise.
57855         * lib/stdarg.in.h: Likewise.
57856         * lib/stdint.in.h: Likewise.
57857         * lib/stdio.in.h: Likewise.
57858         * lib/stdlib.in.h: Likewise.
57859         * lib/string.in.h: Likewise.
57860         * lib/strings.in.h: Likewise.
57861         * lib/sys_select.in.h: Likewise.
57862         * lib/sys_socket.in.h: Likewise.
57863         * lib/sys_stat.in.h: Likewise.
57864         * lib/sys_time.in.h: Likewise.
57865         * lib/sysexits.in.h: Likewise.
57866         * lib/time.in.h: Likewise.
57867         * lib/unistd.in.h: Likewise.
57868         * lib/wchar.in.h: Likewise.
57869         * lib/wctype.in.h: Likewise.
57870         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
57871         * modules/fchdir (Makefile.am): Likewise.
57872         * modules/fcntl (Makefile.am): Likewise.
57873         * modules/float (Makefile.am): Likewise.
57874         * modules/iconv_open (Makefile.am): Likewise.
57875         * modules/inttypes (Makefile.am): Likewise.
57876         * modules/locale (Makefile.am): Likewise.
57877         * modules/math (Makefile.am): Likewise.
57878         * modules/netinet_in (Makefile.am): Likewise.
57879         * modules/search (Makefile.am): Likewise.
57880         * modules/signal (Makefile.am): Likewise.
57881         * modules/stdarg (Makefile.am): Likewise.
57882         * modules/stdint (Makefile.am): Likewise.
57883         * modules/stdio (Makefile.am): Likewise.
57884         * modules/stdlib (Makefile.am): Likewise.
57885         * modules/string (Makefile.am): Likewise.
57886         * modules/strings (Makefile.am): Likewise.
57887         * modules/sys_select (Makefile.am): Likewise.
57888         * modules/sys_socket (Makefile.am): Likewise.
57889         * modules/sys_stat (Makefile.am): Likewise.
57890         * modules/sys_time (Makefile.am): Likewise.
57891         * modules/sysexits (Makefile.am): Likewise.
57892         * modules/time (Makefile.am): Likewise.
57893         * modules/unistd (Makefile.am): Likewise.
57894         * modules/wchar (Makefile.am): Likewise.
57895         * modules/wctype (Makefile.am): Likewise.
57896         Reported by Reuben Thomas <rrt@sc3d.org>.
57897
57898 2008-08-29  Bruno Haible  <bruno@clisp.org>
57899
57900         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
57901         any more.
57902
57903 2008-08-29  Simon Josefsson  <simon@josefsson.org>
57904
57905         * MODULES.html.sh (Misc): Add bitrotate.
57906
57907         * modules/bitrotate: New file.
57908
57909         * lib/bitrotate.h: New file.
57910
57911         * modules/bitrotate-tests: New file.
57912
57913         * tests/test-bitrotate.c: New file.
57914
57915         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
57916         on the bitrotate module.
57917
57918         * lib/arctwo.c: Use new bitrotate module.
57919
57920 2008-08-29  Jim Meyering  <meyering@redhat.com>
57921
57922         bootstrap: merge changes from coreutils
57923         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
57924         of copied files.  Remove a kludge, now that this is fixed.
57925         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
57926         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
57927         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
57928
57929 2008-08-29  Bruno Haible  <bruno@clisp.org>
57930
57931         * MODULES.html.sh: Remove --cvs-urls option.
57932
57933 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
57934
57935         maint.mk: adjust to file name change
57936         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
57937
57938 2008-08-28  Jim Meyering  <meyering@redhat.com>
57939
57940         * modules/getndelim2 (License): Relicense to LGPLv2+.
57941         Approved by Richard Stallman for the version of 1995, and by
57942         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
57943
57944 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
57945
57946         * lib/getdelim.c (flockfile, funlockfile): Make all of them
57947         dummy if one is not available.  Do not touch them if
57948         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
57949         (getc_maybe_unlocked): New.
57950         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
57951
57952 2008-08-26  Eric Blake  <ebb9@byu.net>
57953
57954         doc/INSTALL: resync from autoconf
57955         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
57956         (INSTALL_PRELUDE): Delete; this is done more efficiently by
57957         moving...
57958         * install.texi [!autoconf]: ...here.  Resync from autoconf.
57959         * INSTALL: Regenerate.
57960         * INSTALL.ISO: New file.
57961         * INSTALL.UTF-8: Likewise.
57962
57963 2008-08-26  Jim Meyering  <meyering@redhat.com>
57964
57965         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
57966         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
57967         these definitions conditional, so that they may be overridden, too.
57968
57969 2008-08-26  Bruno Haible  <bruno@clisp.org>
57970
57971         Generate INSTALL file variants with prettier quotes.
57972         * doc/Makefile (INSTALL_PRELUDE): New macro.
57973         (INSTALL): Use it.
57974         (INSTALL.ISO, INSTALL.UTF-8): New rules.
57975
57976 2008-08-26  Bruno Haible  <bruno@clisp.org>
57977
57978         Run makeinfo in an English locale.
57979         * doc/Makefile (MAKEINFO): New variable.
57980
57981 2008-08-26  Bruno Haible  <bruno@clisp.org>
57982
57983         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
57984         Suggested by Eric Blake.
57985
57986 2008-08-25  Bruno Haible  <bruno@clisp.org>
57987
57988         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
57989
57990 2008-08-25  Eric Blake  <ebb9@byu.net>
57991
57992         c-stack: test that stack overflow can be caught
57993         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
57994         that platform allows handling stack overflow; at least OS/2 EMX
57995         has sigaltstack, but crashes before transferring control to
57996         handler on stack overflow.
57997         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
57998         check for HAVE_STACK_OVERFLOW_HANDLING.
57999         Reported by Elbert Pol.
58000
58001 2008-08-25  Bruno Haible  <bruno@clisp.org>
58002
58003         * doc/posix-functions/strftime.texi: Fix description of strftime
58004         module.
58005
58006 2008-08-24  Bruno Haible  <bruno@clisp.org>
58007
58008         * tests/uniwidth/test-uc_width2.c: New file.
58009         * tests/uniwidth/test-uc_width2.sh: New file.
58010         * modules/uniwidth/width-tests (Files): Add the new files.
58011         (TESTS): Add uniwidth/test-uc_width2.sh.
58012         (TESTS_ENVIRONMENT): New variable.
58013         (check_PROGRAMS): Add test-uc_width2.
58014         (test_uc_width2_SOURCES): New variable.
58015
58016         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
58017         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
58018         not 0x00AB.
58019         Reported by Alexander V. Lukyanov <lav@netis.ru>.
58020
58021 2008-08-22  Eric Blake  <ebb9@byu.net>
58022
58023         test-lock, test-tls: mention why a test is skipped
58024         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
58025         skipped.
58026         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
58027
58028         count-one-bits: relax license
58029         * modules/count-one-bits (License): Relicense to LGPLv2+.
58030         Suggested by Ludovic Courtès, approved by Ben Pfaff.
58031
58032 2008-08-22  Andreas Schwab  <schwab@suse.de>
58033
58034         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
58035         Remove spurious space in assignment.
58036
58037 2008-08-21  Simon Josefsson  <simon@josefsson.org>
58038
58039         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
58040         Paul Eggert <eggert@CS.UCLA.EDU>.
58041
58042 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
58043
58044         * modules/gettext: Add m4/threadlib.m4.
58045
58046 2008-08-19  Eric Blake  <ebb9@byu.net>
58047
58048         test-c-stack: fix compilation failure on FreeBSD 5.0
58049         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
58050         headers before <sys/resource.h>.
58051         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
58052         the bug.
58053         Reported by Nelson H. F. Beebe.
58054
58055         strverscmp: migrate from "strverscmp.h" to <string.h>
58056         * modules/string (Makefile.am): Add new hooks.
58057         * modules/strverscmp (Files): Remove strverscmp.h.
58058         (Depends-on): Add string.
58059         (configure.ac): Add indicator.
58060         (Include): Mention new header.
58061         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
58062         defaults.
58063         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
58064         results.
58065         * lib/strverscmp.h: Delete.
58066         * lib/string.in.h (strverscmp): Provide declaration, when needed.
58067         * tests/test-strverscmp.c (includes): Adjust client.
58068         * lib/check-version.c (includes): Likewise.
58069         * NEWS: Document the change.
58070
58071         strverscmp: add unit test
58072         * modules/strverscmp-tests: New file.
58073         * tests/test-strverscmp.c: Likewise.
58074
58075 2008-08-19  Simon Josefsson  <simon@josefsson.org>
58076
58077         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
58078         regarding Windows crypto stuff, from Mono.
58079
58080 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
58081
58082         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
58083         if present, for intel RND.  Return error on failures.
58084
58085 2008-08-18  Ben Pfaff  <blp@gnu.org>
58086
58087         gitlog-to-changelog: give better diagnostic for failed pipe-open
58088         * build-aux/gitlog-to-changelog: Improve error message: suggest
58089         that the version of Git may be too old.
58090
58091 2008-08-18  Simon Josefsson  <simon@josefsson.org>
58092
58093         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
58094         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
58095
58096 2008-08-18  Bruno Haible  <bruno@clisp.org>
58097
58098         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
58099         pthread_in_use().
58100
58101 2008-08-18  Bruno Haible  <bruno@clisp.org>
58102
58103         * lib/glthread/threadlib.c: Include <pthread.h>.
58104
58105 2008-08-18  Bruno Haible  <bruno@clisp.org>
58106
58107         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
58108         glthread_recursive_lock_* macros.
58109         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
58110         Fix syntax error.
58111
58112 2008-08-18  Bruno Haible  <bruno@clisp.org>
58113
58114         * lib/glthread/thread.c: Avoid forcing a context switch right after
58115         thread creation.
58116
58117 2008-08-17  Bruno Haible  <bruno@clisp.org>
58118
58119         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
58120         * lib/glthread/thread.h: Provide Win32 specific implementation.
58121         * modules/thread (Files): Add lib/glthread/thread.c.
58122         (Depends-on): Add lock.
58123         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
58124
58125 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58126
58127         New module 'yield'.
58128         * modules/yield: New file.
58129         * lib/glthread/yield.h: New file.
58130         * m4/yield.m4: New file.
58131         * MODULES.html.sh (Multithreading): Add yield.
58132
58133 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58134
58135         New module 'thread'.
58136         * modules/thread: New file.
58137         * lib/glthread/thread.h: New file.
58138         * m4/thread.m4: New file.
58139         * MODULES.html.sh (Multithreading): Add thread.
58140
58141 2008-08-17  Bruno Haible  <bruno@clisp.org>
58142
58143         * lib/glthread/lock.h: Include <stdlib.h> always.
58144         * lib/glthread/tls.h: Likewise.
58145         * lib/glthread/cond.h: Likewise.
58146
58147 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58148
58149         New module 'cond'.
58150         * modules/cond: New file.
58151         * lib/glthread/cond.h: New file.
58152         * lib/glthread/cond.c: New file.
58153         * m4/cond.m4: New file.
58154         * MODULES.html.sh (Multithreading): Add cond.
58155
58156 2008-08-16  Eric Blake  <ebb9@byu.net>
58157
58158         c-stack: fix regression on Irix 5.3 from 2008-06-21
58159         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
58160         sa_sigaction...
58161         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
58162         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
58163         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
58164         * modules/signal (Makefile.am): Use the value.
58165         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
58166         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
58167         * doc/posix-headers/signal.texi (signal.h): Document this
58168         portability issue.
58169         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
58170         Reported by Tom G. Christensen.
58171
58172 2008-08-17  Bruno Haible  <bruno@clisp.org>
58173
58174         New module 'threadlib'.
58175         * modules/threadlib: New file.
58176         * lib/glthread/threadlib.c: New file, extracted from
58177         lib/glthread/lock.c.
58178         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
58179         functions.
58180         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
58181         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
58182         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
58183         macros.
58184         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
58185         (gl_DISABLE_THREADS): Remove macro.
58186         * modules/lock (Files): Remove build-aux/config.rpath.
58187         (Depends-on): Remove havelib. Add threadlib.
58188         (configure.ac-early): Remove section.
58189         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
58190         * modules/tls (Depends-on): Remove lock. Add threadlib.
58191         (Link): New section, copied from threadlib.
58192         * MODULES.html.sh (Multithreading): Add threadlib.
58193
58194 2008-08-14  Bruno Haible  <bruno@clisp.org>
58195
58196         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
58197         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
58198         glthread_rwlock_unlock, glthread_rwlock_destroy,
58199         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
58200         glthread_recursive_lock_destroy): Define as macros always.
58201         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
58202         glthread_lock_lock.
58203         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
58204         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
58205         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
58206         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
58207         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
58208         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
58209         (glthread_recursive_lock_lock_func): Renamed from
58210         glthread_recursive_lock_lock.
58211         (glthread_recursive_lock_unlock_func): Renamed from
58212         glthread_recursive_lock_unlock.
58213         (glthread_recursive_lock_destroy_func): Renamed from
58214         glthread_recursive_lock_destroy.
58215
58216 2008-08-14  Bruno Haible  <bruno@clisp.org>
58217
58218         * lib/glthread/lock.h: Renamed from lib/lock.h.
58219         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
58220         * lib/glthread/tls.h: Renamed from lib/tls.h.
58221         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
58222         * lib/fstrcmp.c: Update includes.
58223         * lib/strsignal.c: Update includes.
58224         * modules/lock (Files, Makefile.am): Update.
58225         (Include): Change to "glthread/lock.h".
58226         * modules/tls (Files, Makefile.am): Update.
58227         (Include): Change to "glthread/tls.h".
58228         * tests/test-lock.c: Update includes.
58229         * tests/test-tls.c: Update includes.
58230         * NEWS: Mention the renamed header files.
58231
58232 2008-08-11  Jim Meyering  <meyering@redhat.com>
58233
58234         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
58235
58236 2008-08-11  Eric Blake  <ebb9@byu.net>
58237
58238         test-c-stack: avoid C99-ism
58239         * tests/test-c-stack.c (main): Fix whitespace, move declaration
58240         before statement.
58241         Reported by Alain Guibert.
58242
58243 2008-08-10  Jim Meyering  <meyering@redhat.com>
58244
58245         ensure that return value of uinttostr et al are not ignored
58246         * lib/inttostr.h (__GNUC_PREREQ): Define.
58247         (__attribute_warn_unused_result__): Define.
58248         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
58249
58250 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
58251
58252         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
58253         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
58254
58255 2008-08-07  Jim Meyering  <meyering@redhat.com>
58256
58257         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
58258
58259         * modules/mkstemp (License): Relicense under LGPLv2+.
58260         * modules/tempname (License): Likewise.
58261
58262 2008-08-06  Bruno Haible  <bruno@clisp.org>
58263
58264         * lib/poll.c (poll): Further micro-optimization.
58265
58266 2008-08-06  Jim Meyering  <meyering@redhat.com>
58267
58268         inet_pton.c: use locale-independent tolower
58269         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
58270         (inet_pton6): Use c_tolower rather than tolower.
58271         * modules/inet_pton (Depends-on): Add c-ctype.
58272
58273 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
58274
58275         * lib/poll.c (poll): Avoid division when timeout is 0, cache
58276         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
58277
58278 2008-08-06  Jim Meyering  <meyering@redhat.com>
58279
58280         * modules/inet_pton (License): Relicense under LGPLv2+.
58281
58282 2008-08-03  Bruno Haible  <bruno@clisp.org>
58283
58284         Additional non-aborting API for lock and tls.
58285         * lib/lock.h: Include <errno.h>.
58286         (glthread_lock_init): New macro/function.
58287         (gl_lock_init): Define as wrapper around glthread_lock_init.
58288         (glthread_lock_lock): New macro/function.
58289         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
58290         (glthread_lock_unlock): New macro/function.
58291         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
58292         (glthread_lock_destroy): New macro/function.
58293         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
58294         (glthread_rwlock_init): New macro/function.
58295         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
58296         (glthread_rwlock_rdlock): New macro/function.
58297         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
58298         (glthread_rwlock_wrlock): New macro/function.
58299         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
58300         (glthread_rwlock_unlock): New macro/function.
58301         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
58302         (glthread_rwlock_destroy): New macro/function.
58303         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
58304         (glthread_recursive_lock_init): New macro/function.
58305         (gl_recursive_lock_init): Define as wrapper around
58306         glthread_recursive_lock_init.
58307         (glthread_recursive_lock_lock): New macro/function.
58308         (gl_recursive_lock_lock): Define as wrapper around
58309         glthread_recursive_lock_lock.
58310         (glthread_recursive_lock_unlock): New macro/function.
58311         (gl_recursive_lock_unlock): Define as wrapper around
58312         glthread_recursive_lock_unlock.
58313         (glthread_recursive_lock_destroy): New macro/function.
58314         (gl_recursive_lock_destroy): Define as wrapper around
58315         glthread_recursive_lock_destroy.
58316         (glthread_once): New macro/function.
58317         (gl_once): Define as wrapper around glthread_once.
58318         Update function declarations.
58319         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
58320         glthread_rwlock_init. Return error code.
58321         (glthread_rwlock_rdlock_multithreaded): Renamed from
58322         glthread_rwlock_rdlock. Return error code.
58323         (glthread_rwlock_wrlock_multithreaded): Renamed from
58324         glthread_rwlock_wrlock. Return error code.
58325         (glthread_rwlock_unlock_multithreaded): Renamed from
58326         glthread_rwlock_unlock. Return error code.
58327         (glthread_rwlock_destroy_multithreaded): Renamed from
58328         glthread_rwlock_destroy. Return error code.
58329         (glthread_recursive_lock_init_multithreaded): Renamed from
58330         glthread_recursive_lock_init. Return error code.
58331         (glthread_recursive_lock_lock_multithreaded): Renamed from
58332         glthread_recursive_lock_lock. Return error code.
58333         (glthread_recursive_lock_unlock_multithreaded): Renamed from
58334         glthread_recursive_lock_unlock. Return error code.
58335         (glthread_recursive_lock_destroy_multithreaded): Renamed from
58336         glthread_recursive_lock_destroy. Return error code.
58337         (glthread_once_call): Make static.
58338         (glthread_once_multithreaded): Renamed from glthread_once.
58339         * lib/tls.h: Include <errno.h>.
58340         (glthread_tls_key_init): New macro/function.
58341         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
58342         (glthread_tls_set): New macro/function.
58343         (gl_tls_set): Define as wrapper around glthread_tls_set.
58344         (glthread_tls_key_destroy): New macro/function.
58345         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
58346         Update function declarations.
58347         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
58348         glthread_tls_get.
58349         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
58350
58351 2008-08-04  Eric Blake  <ebb9@byu.net>
58352
58353         gnumakefile: use space, not TAB, outside of targets
58354         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
58355
58356 2008-08-02  Jim Meyering  <meyering@redhat.com>
58357
58358         getdate.y: avoid locale-dependent date parsing failure
58359         In Turkish locales, getdate would fail to recognize keywords
58360         containing a lowercase "i".  The solution is not to rely on
58361         locale-sensitive case-conversion.
58362         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
58363         (lookup_word): Use c_toupper in place of toupper.
58364         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
58365         Reported by Vefa Bicakci <bicave@superonline.com> in
58366         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
58367         * modules/getdate (Depends-on): Add c-ctype.
58368
58369 2008-08-02  Bruno Haible  <bruno@clisp.org>
58370
58371         * gnulib-tool (func_import): When updating or creating a .gitignore
58372         file, prepend each added line with a slash, and ignore leading slashes
58373         from the existing lines.
58374         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
58375
58376 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58377
58378         Portability fix for GNU make 3.79.1.
58379         * top/GNUmakefile: Avoid 'else COND', which older GNU make
58380         versions do not understand.
58381
58382 2008-08-01  Bruno Haible  <bruno@clisp.org>
58383
58384         Work around bug of HP-UX 10.20 cc with -0.0 literal.
58385         * tests/test-isnanf.h (zero): New variable.
58386         (main): Avoid literal -0.0f.
58387         * tests/test-isnand.h (zero): New variable.
58388         (main): Avoid literal -0.0.
58389         * tests/test-isnanl.h (zero): New variable.
58390         (main): Avoid literal -0.0L.
58391         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
58392         (test_float, test_double, test_long_double): Avoid literals -0.0f,
58393         -0.0, -0.0L.
58394         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
58395         (test_signbitd): Avoid literal -0.0.
58396         (test_signbitl): Avoid literal -0.0L.
58397         * tests/test-ceilf1.c (zero): New variable.
58398         (main): Avoid literal -0.0f.
58399         * tests/test-ceill.c (zero): New variable.
58400         (main): Avoid literal -0.0L.
58401         * tests/test-floorf1.c (zero): New variable.
58402         (main): Avoid literal -0.0f.
58403         * tests/test-floorl.c (zero): New variable.
58404         (main): Avoid literal -0.0L.
58405         * tests/test-roundf1.c (zero): New variable.
58406         (main): Avoid literal -0.0f.
58407         * tests/test-round1.c (zero): New variable.
58408         (main): Avoid literal -0.0.
58409         * tests/test-roundl.c (zero): New variable.
58410         (main): Avoid literal -0.0L.
58411         * tests/test-truncf1.c (zero): New variable.
58412         (main): Avoid literal -0.0f.
58413         * tests/test-trunc1.c (zero): New variable.
58414         (main): Avoid literal -0.0.
58415         * tests/test-truncl.c (zero): New variable.
58416         (main): Avoid literal -0.0L.
58417         * tests/test-frexp.c (zero): New variable.
58418         (main): Avoid literal -0.0.
58419         * tests/test-frexpl.c (zero): New variable.
58420         (main): Avoid literal -0.0L.
58421         * tests/test-ldexpl.c (zero): New variable.
58422         (main): Avoid literal -0.0L.
58423         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
58424         (zerod, zerol): New variables.
58425         (test_function): Avoid literals -0.0, -0.0L.
58426         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
58427         (zerod, zerol): New variables.
58428         (test_function): Avoid literals -0.0, -0.0L.
58429         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
58430         (zerod, zerol): New variables.
58431         (test_function): Avoid literals -0.0, -0.0L.
58432         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
58433         (zerod, zerol): New variables.
58434         (test_function): Avoid literals -0.0, -0.0L.
58435         * tests/test-strtod.c (zero): New variable.
58436         (main): Avoid literal -0.0.
58437         Reported by Jonathan C. Patschke <jp@centtech.com>.
58438
58439 2008-07-31  Jim Meyering  <meyering@redhat.com>
58440
58441         sha256.h: correct definition of SHA224_DIGEST_SIZE
58442         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
58443         Reported by Paulie Pena IV <paulie4@gmail.com>.
58444         Define as 224 / 8, rather than as a literal.
58445         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
58446         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
58447         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
58448
58449 2008-07-31  Bruno Haible  <bruno@clisp.org>
58450
58451         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
58452         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
58453         Reported by Jonathan Patschke <jp@centtech.com>.
58454
58455 2008-07-31  Bruno Haible  <bruno@clisp.org>
58456
58457         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
58458         Reported by Paolo Bonzini <bonzini@gnu.org>.
58459
58460 2008-07-30  Eric Blake  <ebb9@byu.net>
58461
58462         test-strtod: allow compilation without -lm
58463         * tests/test-strtod.c (main): Avoid link dependence on fabs.
58464         Reported by Dennis Clarke <blastwave@gmail.com>.
58465
58466 2008-07-28  Jim Meyering  <meyering@redhat.com>
58467
58468         bootstrap: work also when there are no .po files in po/
58469         * build-aux/bootstrap (update_po_files): Complete the change
58470         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
58471
58472 2008-07-27  Jim Meyering  <meyering@redhat.com>
58473
58474         * users.txt: Add zile.
58475
58476 2008-07-26  Ben Pfaff  <blp@gnu.org>
58477
58478         Add missing dependencies on new m4/exponent[fdl].m4 files.
58479         * modules/isnanf-nolibm: Add m4/exponentf.m4.
58480         * modules/isnand-nolibm: Add m4/exponentd.m4.
58481         * modules/isnanl-nolibm: Add m4/exponentl.m4.
58482         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
58483         m4/isnan[fdl].m4, because the macros actually used moved.
58484         Reported by Jim Meyering.
58485
58486 2008-07-14  Ben Pfaff  <blp@gnu.org>
58487
58488         Add isinf module.
58489         * lib/isinf.c: New file.
58490         * lib/math.in.h: Define isinf macro if we have decided to replace
58491         it.
58492         * m4/isinf.m4: New file.
58493         * m4/math_h.m4: Initialize and substitute variables for isinf
58494         module.
58495         * modules/isinf: New file.
58496         * modules/isinf-tests: New file.
58497         * modules/math: Add substitutions for new module.
58498         * tests/test-isinf.c: New file.
58499         * doc/posix-functions/isinf.texi: Mention new module.
58500         * MODULES.html.sh: Mention new module.
58501
58502 2008-07-14  Ben Pfaff  <blp@gnu.org>
58503
58504         Factor out some macros for use by additional modules.
58505         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
58506         exponentf.m4.
58507         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
58508         exponentd.m4.
58509         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
58510         file exponentl.m4.
58511         * m4/exponentf.m4: New file.
58512         * m4/exponentd.m4: New file.
58513         * m4/exponentl.m4: New file.
58514         * modules/isnanf: Use new file m4/exponentf.m4.
58515         * modules/isnand: Use new file m4/exponentd.m4.
58516         * modules/isnanl: Use new file m4/exponentl.m4.
58517
58518 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
58519
58520         mktime.c: normalize tp->tm_isdst value to -1/0/1.
58521         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
58522         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
58523         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
58524
58525         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
58526         readlink on platforms without PATH_MAX.
58527
58528 2008-07-21  Eric Blake  <ebb9@byu.net>
58529
58530         Warn, not fail, on stale version.
58531         * top/GNUmakefile (_curr-ver): Tone down previous patch.
58532
58533         Don't allow installation with stale devel version number.
58534         * top/GNUmakefile (_is-install-target): New macro.
58535         (_curr-ver): Forbid installation with stale version number.
58536
58537 2008-07-20  Bruno Haible  <bruno@clisp.org>
58538
58539         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
58540         TESTS_ENVIRONMENT.
58541         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
58542
58543 2008-07-20  Bruno Haible  <bruno@clisp.org>
58544
58545         * lib/c-stack.h (c_stack_action): Add documentation.
58546         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
58547
58548 2008-07-20  Bruno Haible  <bruno@clisp.org>
58549
58550         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
58551         * modules/readlink (License): Likewise.
58552
58553 2008-07-17  Eric Blake  <ebb9@byu.net>
58554
58555         * modules/c-stack (Link): Fix typo.
58556
58557         Make c-stack use libsigsegv, when available.
58558         * modules/c-stack (Depends-on): Add libsigsegv.
58559         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
58560         needed.
58561         * lib/c-stack.c (SIGSTKSZ): Define fallback.
58562         (segv_handler, overflow_handler, c_stack_action)
58563         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
58564         implementation when libsigsegv is available, but only when using
58565         the library is necessary.
58566         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
58567         comment, explaining why XSI check fails on Linux.
58568         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
58569         * tests/test-c-stack2.sh: Tweak skip message.
58570         * NEWS: Document new link-time requirements.
58571
58572 2008-07-16  Eric Blake  <ebb9@byu.net>
58573
58574         c-stack: Expose false positives when not using libsigsegv.
58575         * modules/c-stack-tests (Files): Expand test.
58576         * tests/test-c-stack.c (main): Add means to conditionally trigger
58577         non-overflow SIGSEGV.
58578         * tests/test-c-stack2.sh: New file.
58579
58580 2008-07-14  Bruno Haible  <bruno@clisp.org>
58581
58582         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
58583         Reported by Eric Blake.
58584
58585 2008-07-14  Sam Steingold  <sds@gnu.org>
58586             Bruno Haible  <bruno@clisp.org>
58587
58588         New module libsigsegv.
58589         * modules/libsigsegv: New file.
58590         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
58591         modifications.
58592         * MODULES.html.sh (Signal handling): New section.
58593
58594 2008-07-14  Bruno Haible  <bruno@clisp.org>
58595
58596         * modules/unictype/ctype-* (Description): Add the word "function".
58597         Improves the resulting doc in MODULES.html.
58598
58599 2008-07-12  Ben Pfaff  <blp@gnu.org>
58600
58601         Add longlong module.
58602         * modules/longlong: New file.
58603
58604 2008-07-12  Bruno Haible  <bruno@clisp.org>
58605
58606         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
58607         to empty.
58608
58609 2008-07-10  Ben Pfaff  <blp@gnu.org>
58610
58611         Add isnan module.
58612         * doc/posix-functions/isnan.texi: Mention new module.
58613         * lib/math.in.h: Define isnan macro if we have decided to replace
58614         it.
58615         * m4/isnan.m4: New file.
58616         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
58617         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
58618         also.
58619         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
58620         redundancy.
58621         * m4/math_h.m4: Initialize and substitute variables for isnan
58622         module.
58623         * modules/isnan: New file.
58624         * modules/isnan-tests: New file.
58625         * modules/math: Add substitutions for new module.
58626         * tests/test-isnan.c: New file.
58627         * MODULES.html.sh: Mention new module.
58628
58629 2008-07-10  Ben Pfaff  <blp@gnu.org>
58630
58631         Add isnanf module.
58632         * lib/isnanf.m4: New file.
58633         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
58634         (gl_HAVE_ISNANF_IN_LIBM): New macro.
58635         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
58636         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
58637         * modules/isnanf: New file.
58638         * modules/isnanf-tests: New file.
58639         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
58640         files.
58641         * tests/test-isnanf-nolibm.c: factored most of its contents into
58642         new file tests/test-isnanf.h.
58643         * tests/test-isnanf.h: New file.
58644         * tests/test-isnanf.c: New file.
58645         * MODULES.html.sh: Mention new module.
58646         * doc/glibc-functions/isnanf.texi: Mention new module.
58647
58648 2008-07-10  Ben Pfaff  <blp@gnu.org>
58649
58650         Add isnand module.
58651         * lib/isnand.h: New file.
58652         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
58653         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
58654         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
58655         functionality also.
58656         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
58657         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
58658         (gl_HAVE_ISNAND_IN_LIBM): New macro.
58659         * modules/isnand: New file.
58660         * modules/isnand-tests: New file.
58661         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
58662         files.
58663         * tests/test-isnand-nolibm.c: factored most of its contents into
58664         new file tests/test-isnand.h.
58665         * tests/test-isnand.h: New file.
58666         * tests/test-isnand.c: New file.
58667         * MODULES.html.sh: Mention new module.
58668
58669 2008-07-10  Ben Pfaff  <blp@gnu.org>
58670
58671         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
58672         * lib/isnand.h: Rename lib/isnand-nolibm.h.
58673         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
58674         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
58675         * modules/isnanf-nolibm: Update references to renamed files.
58676         * modules/isnand-nolibm: Likewise.
58677         * modules/isnanf-nolibm-tests: Likewise.
58678         * modules/isnand-nolibm-tests: Likewise.
58679         * lib/frexp.c: Likewise.
58680         * lib/isfinite.c: Likewise.
58681         * lib/signbitd.c: Likewise.
58682         * lib/signbitf.c: Likewise.
58683         * lib/vasnprintf.c: Likewise.
58684         * tests/test-ceilf1.c: Likewise.
58685         * tests/test-ceilf2.c: Likewise.
58686         * tests/test-floorf1.c: Likewise.
58687         * tests/test-floorf2.c: Likewise.
58688         * tests/test-frexp.c: Likewise.
58689         * tests/test-round1.c: Likewise.
58690         * tests/test-round2.c: Likewise.
58691         * tests/test-roundf1.c: Likewise.
58692         * tests/test-strtod.c: Likewise.
58693         * tests/test-trunc1.c: Likewise.
58694         * tests/test-trunc2.c: Likewise.
58695         * tests/test-truncf1.c: Likewise.
58696         * tests/test-truncf2.c: Likewise.
58697         * NEWS: Mention the renamed header files.
58698
58699 2008-07-11  Jim Meyering  <meyering@redhat.com>
58700
58701         vc-list-files: make the last-resort awk code more portable
58702         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
58703         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
58704         does not support it.
58705
58706 2008-07-10  Eric Blake  <ebb9@byu.net>
58707
58708         Work with tar's bootstrap.
58709         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
58710         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
58711         an m4 comment.
58712
58713 2008-07-09  Jim Meyering  <meyering@redhat.com>
58714
58715         posix-shell.m4: fix typo that made this test malfunction
58716         * m4/posix-shell.m4: Remove capitalization in variable name.
58717
58718 2008-07-08  Bruno Haible  <bruno@clisp.org>
58719
58720         * m4/onceonly.m4: Update comments.
58721         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58722
58723 2008-07-04  Jim Meyering  <meyering@redhat.com>
58724
58725         * users.txt: Add vc-dwim.
58726         (bison, coreutils): Use the gitweb URL.
58727
58728 2008-07-03  Jim Meyering  <meyering@redhat.com>
58729
58730         * users.txt: Add libffcall.  From Sam Steingold.
58731
58732 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
58733
58734         getdate.y: do not ignore TZ with relative day, month or year offset
58735         * lib/getdate.y (get_date): Move the tz-handling block to follow the
58736         relative-date-handling, since otherwise, the latter would clobber the
58737         sole output (an updated Start value) of the tz-handling block.
58738         * tests/test-getdate.c: Tests for the fix
58739
58740 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58741
58742         Recognize 'foo_LIBRARIES += libgnu.a'.
58743         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
58744         makefile snippet has already specified an installation location,
58745         also using '+='.
58746
58747 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
58748
58749         getdate.y: factor out common actions
58750         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
58751         Use them in place of open-coded actions.
58752
58753 2008-07-01  Simon Josefsson  <simon@josefsson.org>
58754
58755         Add self-test for getdate module.
58756         * modules/getdate-tests: New file.
58757         * tests/test-getdate.c: New file.
58758
58759 2008-06-29  Bruno Haible  <bruno@clisp.org>
58760
58761         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
58762         .gitignore.
58763         Reported by Sylvain Beucler <beuc@beuc.net>.
58764
58765 2008-06-29  Bruno Haible  <bruno@clisp.org>
58766
58767         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
58768         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
58769
58770 2008-06-29  Bruno Haible  <bruno@clisp.org>
58771
58772         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
58773         EXTRA_DIST.
58774         Reported by Sylvain Beucler <beuc@beuc.net>.
58775
58776 2008-06-26  Jim Meyering  <meyering@redhat.com>
58777
58778         make several modules depend on the "open" module
58779         This provides slightly increased consistency when opening-for-write
58780         the name of a non-directory spelled with a trailing slash.
58781         * modules/chdir-safer: Likewise.
58782         * modules/chown: Likewise.
58783         * modules/clean-temp: Likewise.
58784         * modules/copy-file: Likewise.
58785         * modules/fchdir: Likewise.
58786         * modules/fcntl-safer: Likewise.
58787         * modules/pipe: Likewise.
58788         * modules/utime: Likewise.
58789         Prompted by Eric Blake and Bruno Haible.
58790
58791 2008-06-24  Andreas Schwab  <schwab@suse.de>
58792
58793         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
58794         literals can be used as initializers for global variables.
58795
58796 2008-06-23  Eric Blake  <ebb9@byu.net>
58797
58798         Make gnulib-cache.m4 easier to diff.
58799         * gnulib-tool (func_import): Allow newlines when reading cached
58800         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
58801
58802 2008-06-23  Bruno Haible  <bruno@clisp.org>
58803
58804         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
58805         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
58806         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
58807         m4/signalblocking.m4.
58808         (gl_PREREQ_SIGACTION): Don't invoke it.
58809         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
58810         gl_PREREQ_SIG_HANDLER_H.
58811         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58812         Don't check for sigaction here.
58813
58814 2008-06-23  Bruno Haible  <bruno@clisp.org>
58815
58816         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
58817         (install_handlers): Don't set the SA_RESETHAND flag.
58818
58819 2008-06-23  Bruno Haible  <bruno@clisp.org>
58820
58821         * m4/sigaction.m4: Comment fixes.
58822         * lib/signal.in.h: Likewise.
58823
58824 2008-06-23  Eric Blake  <ebb9@byu.net>
58825
58826         Fix typo.
58827         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
58828
58829         Avoid SA_ namespace.
58830         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
58831         Reported by Ralf Wildenhues.
58832
58833         Avoid test failure due to SA_RESTORER.
58834         * tests/test-sigaction.c (SA_MASK): New macro.
58835         (main): Avoid failing due to extension flags being set.
58836         Reported by Jim Meyering.
58837
58838         Revert use of sig-handler.h in sigprocmask.c.
58839         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
58840         it requires the existence of struct sigaction.
58841         * lib/sigprocmask.c (handler_t): Restore typedef.
58842         (rpl_signal, old_handlers): Use local type.
58843
58844 2008-06-22  Bruno Haible  <bruno@clisp.org>
58845
58846         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
58847         conditionally.
58848         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
58849
58850 2008-06-22  Bruno Haible  <bruno@clisp.org>
58851
58852         * doc/posix-functions/siginterrupt.texi: Move note.
58853
58854         * lib/signal.in.h (SA_RESTART): New macro.
58855         * lib/sigaction.c: Update comment.
58856
58857         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
58858
58859         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
58860         (gl_PREREQ_SIGPROCMASK): Invoke it.
58861         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
58862
58863         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
58864
58865         * lib/sigprocmask.c: Update a comment.
58866
58867 2008-06-21  Eric Blake  <ebb9@byu.net>
58868
58869         Use sigaction module rather than signal().
58870         * modules/c-stack (Depends-on): Add sigaction.
58871         * modules/fatal-signal (Depends-on): Likewise.
58872         * modules/nanosleep (Depends-on): Likewise.
58873         * modules/sigprocmask (Files): Add sig-handler.h.
58874         * modules/sigaction (Files): Likewise.
58875         * lib/sig-handler.h (get_handler): New file, suggested by Paul
58876         Eggert.
58877         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
58878         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
58879         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
58880         (init_fatal_signals): Likewise.
58881         * lib/nanosleep.c (rpl_nanosleep): Likewise.
58882         (siginterrupt): Delete fallback.
58883         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
58884         instead.
58885         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
58886         siginterrupt.
58887
58888         New module sigaction, for mingw.
58889         * modules/sigaction: New module...
58890         * modules/sigaction-tests: ...and its test.
58891         * m4/sigaction.m4: New file.
58892         * lib/sigaction.c: Likewise.
58893         * tests/test-sigaction.c: Likewise.
58894         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
58895         * modules/signal (Makefile.am): Likewise.
58896         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
58897         needed.
58898         * doc/posix-headers/signal.texi (signal.h): Mention provided
58899         types.
58900         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
58901         that sigaction is preferable.
58902         * doc/posix-functions/sigaction.texi (sigaction): Mention new
58903         module.
58904         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58905         sigaction.
58906
58907         Improve robustness of sigprocmask by overriding signal.
58908         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
58909         is in use.
58910         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
58911         (SIGKILL, SIGSTOP): Provide fallbacks.
58912         (rpl_signal): Implement.
58913         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
58914         signal can be called inside handlers.
58915
58916         Fix nanosleep module on mingw.
58917         * modules/nanosleep (Depends-on): Add sys_select.
58918         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
58919
58920         Fix licensing of sigprocmask.
58921         * modules/raise (License): Relicense as LGPL.
58922
58923 2008-06-21  Bruno Haible  <bruno@clisp.org>
58924
58925         * lib/propername.c (proper_name_utf8): Don't use the transliterated
58926         result if it contains question marks.
58927         Reported by Michael Geng <linux@michaelgeng.de>.
58928
58929 2008-06-19  Bruno Haible  <bruno@clisp.org>
58930
58931         Fix CVS-ism.
58932         * doc/gnulib.texi: Include updated-stamp.texi.
58933         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
58934         (updated-stamp.texi): New rule.
58935         (gnulib.info): Depend on it.
58936         * doc/.gitignore: Add updated-stamp.texi.
58937         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
58938
58939 2008-06-19  Bruno Haible  <bruno@clisp.org>
58940
58941         * doc/Makefile (gnulib.info): Update and simplify dependencies.
58942         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58943
58944 2008-06-19  Eric Blake  <ebb9@byu.net>
58945
58946         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
58947         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
58948         Reported by Stepan Kasal.
58949
58950 2008-06-18  Bruno Haible  <bruno@clisp.org>
58951
58952         * lib/fatal-signal.c (init_fatal_signals): Add comment.
58953         Reported by Eric Blake.
58954
58955 2008-06-18  Eric Blake  <ebb9@byu.net>
58956
58957         Work around cygwin 1.5.25 strsignal bug.
58958         * tests/test-strsignal.c: Allow for const char *.
58959         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
58960
58961 2008-06-18  Simon Josefsson  <simon@josefsson.org>
58962
58963         * users.txt: Update URL to article and add author/date
58964         information.
58965
58966 2008-06-17  Bruno Haible  <bruno@clisp.org>
58967
58968         New macro gl_DISABLE_THREADS.
58969         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
58970         if the user did not pass --enable-threads or --disable-threads option.
58971         (gl_DISABLE_THREADS): New macro.
58972         Reported by Eric Blake <ebb9@byu.net>.
58973
58974 2008-06-17  Bruno Haible  <bruno@clisp.org>
58975
58976         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
58977         when the macro ignores it.
58978         Based on a patch by Eric Blake <ebb9@byu.net>.
58979
58980 2008-06-17  Bruno Haible  <bruno@clisp.org>
58981
58982         * modules/tls (License): Change to LGPLv2+.
58983         Reported by Eric Blake.
58984
58985 2008-06-17  Eric Blake  <ebb9@byu.net>
58986
58987         Simplify c-stack prerequisites.
58988         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
58989         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
58990         no longer requires <ucontext.h> to exist.  Optimize setrlimit
58991         check.
58992         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
58993         <sys/resource.h>.
58994
58995         Move c-stack test into testsuite.
58996         * modules/c-stack-tests: New file.
58997         * lib/c-stack.c [DEBUG]: Move test program...
58998         * tests/test-c-stack.c: ...into this new file.  Skip rather than
58999         fail test if sigaltstack is lacking.
59000         * tests/test-c-stack.sh: New driver file.
59001
59002 2008-06-16  Eric Blake  <ebb9@byu.net>
59003
59004         Use raise module consistently.
59005         * modules/fatal-signal (Depends-on): Add raise.
59006         * modules/sigprocmask (Depends-on): Likewise.
59007         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
59008         * lib/sigprocmask.c (sigprocmask): Likewise.
59009         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
59010         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
59011
59012         Fix compliance bug in sigpending.
59013         * lib/sigprocmask.c (sigpending): Return pending array via
59014         parameter, not return value.
59015
59016 2008-06-14  Eric Blake  <ebb9@byu.net>
59017
59018         Improve obstack-printf test code.
59019         * tests/test-obstack-printf.c (test_function): Fix comment, and
59020         simplify usage of obstack_* in macros.  Add a test for coverage.
59021         Reported by Bruno Haible.
59022
59023 2008-06-14  Bruno Haible  <bruno@clisp.org>
59024
59025         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
59026         array size as a constant, not as a const variable.
59027         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
59028         AC_USE_SYSTEM_EXTENSIONS.
59029         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
59030         Test whether the obstack_printf function actually exists.
59031         * modules/obstack-printf (Depends-on): Add extensions.
59032         (Include): Remove obstack.h.
59033         * modules/obstack-printf-posix (Depends-on): Add extensions.
59034         (Include): Remove obstack.h.
59035
59036 2008-06-13  Eric Blake  <ebb9@byu.net>
59037
59038         Add obstack-printf and obstack-printf-posix modules.
59039         * modules/obstack-printf: New file.
59040         * modules/obstack-printf-posix: Likewise.
59041         * MODULES.html.sh (Misc): Mention them.
59042         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
59043         Likewise.
59044         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
59045         Likewise.
59046         * modules/stdio (Makefile.am): Accomodate new modules.
59047         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
59048         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
59049         Declare.
59050         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
59051         functions.
59052         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
59053         (gl_REPLACE_OBSTACK_PRINTF): New macros
59054         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
59055         * tests/test-obstack-printf.c: New file.
59056         * modules/obstack-printf-tests: Likewise.
59057         * modules/obstack-printf-posix-tests: Likewise.
59058
59059 2008-06-11  Bruno Haible  <bruno@clisp.org>
59060
59061         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
59062         * lib/open.c: Include errno.h.
59063         (open): Fail when attempting to write to a file that has a trailing
59064         slash.
59065         * tests/test-open.c (main): Test against trailing slash bug.
59066         * doc/posix-functions/open.texi: Mention the trailing slash bug.
59067
59068 2008-06-10  Bruno Haible  <bruno@clisp.org>
59069
59070         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
59071         for $? to work inside the trap command, with various /bin/sh-s.
59072         * tests/test-vc-list-files-cvs.sh: Likewise.
59073
59074 2008-06-10  Bruno Haible  <bruno@clisp.org>
59075
59076         * lib/acl-internal.h: Don't include gettext.h here.
59077         * lib/set-mode-acl.c: Include gettext.h here.
59078         * lib/copy-acl.c: Likewise.
59079
59080 2008-06-10  Bruno Haible  <bruno@clisp.org>
59081
59082         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
59083         * lib/wait-process.c (wait_subprocess): Likewise.
59084         * lib/execute.h (execute): Add termsigp argument.
59085         * lib/execute.c (execute): Likewise.
59086         * lib/csharpcomp.c (compile_csharp_using_pnet,
59087         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
59088         * lib/csharpexec.c (execute_csharp_using_pnet,
59089         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
59090         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
59091         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
59092         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
59093         is_jikes_present): Update.
59094         * lib/javaexec.c (execute_java_class): Update.
59095         * lib/javaversion.c (execute_and_read_line): Update.
59096         * NEWS: Document the changes.
59097         Reported by Eric Blake.
59098
59099 2008-06-10  Eric Blake  <ebb9@byu.net>
59100
59101         Add missing include.
59102         * tests/test-strstr.c (includes): Add <signal.h>.
59103         * tests/test-strcasestr.c (includes): Likewise.
59104         * tests/test-memmem.c (includes): Likewise.
59105
59106 2008-06-10  Bruno Haible  <bruno@clisp.org>
59107
59108         * lib/wait-process.c (wait_subprocess): Add an assertion.
59109
59110 2008-06-10  Bruno Haible  <bruno@clisp.org>
59111
59112         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
59113
59114 2008-06-10  Bruno Haible  <bruno@clisp.org>
59115
59116         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
59117         using alarm().
59118         * tests/test-strcasestr.c (main): Likewise.
59119         * tests/test-strstr.c (main): Likewise.
59120
59121 2008-06-09  Bruno Haible  <bruno@clisp.org>
59122
59123         Work around the Solaris 10 ACE ACLs ABI change.
59124         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
59125         declare if ACL_NO_TRIVIAL is present.
59126         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
59127         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
59128         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
59129         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
59130         define if ACL_NO_TRIVIAL is present.
59131         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
59132         and use the current ABI.
59133         (file_has_acl): Use same #if condition as elsewhere.
59134         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
59135         in use, and use the current ABI.
59136         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
59137         Reported by Jim Meyering.
59138
59139 2008-06-09  Eric Blake  <ebb9@byu.net>
59140
59141         Work around environments that (stupidly) ignore SIGALRM.
59142         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
59143         before using alarm().
59144         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59145         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
59146         Reported by Ian Beckwith <ianb@erislabs.net>.
59147
59148         Produce autobuild blurb earlier in log.
59149         * modules/autobuild (configure.ac-early): Move AB_INIT here.
59150
59151 2008-06-09  Jim Meyering  <meyering@redhat.com>
59152         and Ondřej Vašík  <ovasik@redhat.com>
59153
59154         utimens.c: correct kernel bug work-around
59155         Ondřej Vašík found that the invalid return value of 280 indicates
59156         failure, not success, and the kernel bug we're trying to work
59157         around affects not just the utimensat call, but also the fallback
59158         futimens call.
59159         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
59160         not success.
59161         [HAVE_FUTIMENS]: Use the same work-around, here.
59162
59163 2008-06-09  Jim Meyering  <meyering@redhat.com>
59164
59165         add more guards around definition of ACE_-related code
59166         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
59167         ALLOW and ACE_OWNER are also defined.
59168
59169 2008-06-08  Bruno Haible  <bruno@clisp.org>
59170
59171         * lib/acl-internal.h: Add me as co-author.
59172         * lib/file-has-acl.c: Likewise.
59173         * lib/set-mode-acl.c: Likewise.
59174         * lib/copy-acl.c: Likewise.
59175
59176 2008-06-08  Bruno Haible  <bruno@clisp.org>
59177
59178         Add support for AIX ACLs.
59179         * lib/acl-internal.h (acl_nontrivial): New declaration.
59180         * lib/file-has-acl.c (acl_nontrivial): New function.
59181         (file_has_acl): Add implementation using AIX 4 ACL API.
59182         * lib/set-mode-acl.c (qset_acl): Likewise.
59183         * lib/copy-acl.c (qcopy_acl): Likewise.
59184
59185 2008-06-08  Bruno Haible  <bruno@clisp.org>
59186
59187         Add support for HP-UX ACLs.
59188         * lib/acl-internal.h (acl_nontrivial): New declaration.
59189         * lib/file-has-acl.c (acl_nontrivial): New function.
59190         (file_has_acl): Add implementation using HP-UX 11 ACL API.
59191         * lib/set-mode-acl.c (qset_acl): Likewise.
59192         * lib/copy-acl.c (qcopy_acl): Likewise.
59193
59194 2008-06-08  Bruno Haible  <bruno@clisp.org>
59195
59196         Add support for Cygwin ACLs.
59197         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
59198         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
59199         the chmod_or_fchmod call.
59200         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
59201
59202 2008-06-08  Bruno Haible  <bruno@clisp.org>
59203
59204         Fix bug with setuid modes in Solaris 10+ code.
59205         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
59206         succeeded, when the mode contains some special bits.
59207
59208 2008-06-08  Bruno Haible  <bruno@clisp.org>
59209
59210         Add support for Solaris 7..10 ACLs.
59211         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
59212         declarations.
59213         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
59214         functions.
59215         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
59216         * lib/set-mode-acl.c (qset_acl): Likewise.
59217         * lib/copy-acl.c (qcopy_acl): Likewise.
59218
59219 2008-06-08  Bruno Haible  <bruno@clisp.org>
59220
59221         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
59222         declaration.
59223         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
59224         (acl_access_nontrivial): Remove MacOS X case.
59225         (file_has_acl): Use acl_extended_nontrivial.
59226         * lib/copy-acl.c (qcopy_acl): Likewise.
59227
59228 2008-06-08  Bruno Haible  <bruno@clisp.org>
59229
59230         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
59231
59232 2008-06-08  Jim Meyering  <meyering@redhat.com>
59233
59234         * modules/acl (Maintainer): Add Bruno Haible.
59235
59236 2008-06-07  Bruno Haible  <bruno@clisp.org>
59237
59238         Improve support for Tru64 ACLs.
59239         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
59240         ACL on OSF/1.
59241
59242 2008-06-07  Bruno Haible  <bruno@clisp.org>
59243
59244         Add support for MacOS X ACLs.
59245         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
59246         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
59247         * lib/set-mode-acl.c (qset_acl): Likewise.
59248         * lib/copy-acl.c (qcopy_acl): Likewise.
59249
59250 2008-06-07  Bruno Haible  <bruno@clisp.org>
59251
59252         Fix memory leak introduced on 2008-05-22.
59253         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
59254         use.
59255
59256 2008-06-07  Bruno Haible  <bruno@clisp.org>
59257
59258         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
59259         to construct an empty ACL.
59260
59261 2008-06-07  Bruno Haible  <bruno@clisp.org>
59262
59263         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
59264         precisely.
59265         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
59266
59267 2008-06-07  Bruno Haible  <bruno@clisp.org>
59268
59269         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
59270         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
59271
59272 2008-06-07  Bruno Haible  <bruno@clisp.org>
59273
59274         * doc/posix-functions/_setjmp.texi: Explain the use of this function
59275         regardless of POSIX.
59276         * doc/posix-functions/_longjmp.texi: Likewise.
59277         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
59278         SystemV platform in this case.
59279
59280 2008-06-06  Eric Blake  <ebb9@byu.net>
59281
59282         Document abort() bugs.
59283         * doc/posix-functions/abort.texi (abort): Mention anomalies.
59284
59285         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
59286         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
59287         sigsetjmp.
59288         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
59289         siglongjmp, but only as a macro.
59290         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
59291         is obsolete.
59292         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
59293
59294         Tweak documentation to cover cygwin argz bugs.
59295         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
59296         argz bug fix; no code change needed since no cygwin releases
59297         occurred between the last fix and the bug being tested.
59298         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
59299         module and recently fixed cygwin bugs.
59300         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
59301         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
59302         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
59303         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
59304         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
59305         Likewise.
59306         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
59307         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
59308         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
59309         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
59310         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
59311         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
59312         Likewise.
59313
59314         Avoid gcc warning on cygwin.
59315         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
59316         !ACL_NO_TRIVIAL]: Avoid unused variable.
59317
59318 2008-06-05  Eric Blake  <ebb9@byu.net>
59319
59320         Be tolerant of UNKNOWN version in gnulib-tool test dir.
59321         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
59322         git-version-gen fails to come up with a version.
59323         Reported by Simon Josefsson.
59324
59325 2008-06-05  Jim Meyering  <meyering@redhat.com>
59326             Paul Eggert  <eggert@cs.ucla.edu>
59327
59328         utimens.c: work around a probable Linux kernel bug
59329         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
59330         appears to be a kernel bug that causes utimensat to return 280
59331         instead of 0, indicating success.
59332
59333 2008-06-04  Bruno Haible  <bruno@clisp.org>
59334
59335         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
59336         2008-06-01 commit.
59337
59338 2008-06-04  Bruno Haible  <bruno@clisp.org>
59339
59340         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
59341         * lib/file-has-acl.c (acl_access_nontrivial): New function.
59342         (file_has_acl): Use it. Save errno afterwards.
59343         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
59344
59345 2008-06-03  Bruno Haible  <bruno@clisp.org>
59346
59347         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
59348         draft code. Simplify #ifs.
59349         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
59350         Put Solaris code after POSIX-draft code. Fix comments regarding
59351         Solaris 10, HP-UX. Mention Cygwin.
59352         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
59353
59354 2008-06-03  Eric Blake  <ebb9@byu.net>
59355
59356         Provide fallback for older kernels.
59357         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
59358         Provide runtime fallback if kernel lacks support.
59359         Reported by Mike Frysinger.
59360
59361 2008-06-02  Bruno Haible  <bruno@clisp.org>
59362
59363         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
59364         it exists.
59365
59366 2008-06-02  Bruno Haible  <bruno@clisp.org>
59367
59368         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
59369         * lib/copy-acl.c (qcopy_acl): Update comment.
59370
59371 2008-06-02  Bruno Haible  <bruno@clisp.org>
59372
59373         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
59374         like ACL APIs.
59375
59376 2008-06-02  Bruno Haible  <bruno@clisp.org>
59377
59378         * tests/test-file-has-acl.sh: Use different code for Cygwin.
59379         * tests/test-set-mode-acl.sh: Likewise.
59380         * tests/test-copy-acl.sh: Likewise.
59381         * tests/test-copy-file.sh: Likewise.
59382
59383 2008-06-02  Bruno Haible  <bruno@clisp.org>
59384
59385         * tests/test-file-has-acl.sh: Remove unused code.
59386
59387 2008-06-01  Bruno Haible  <bruno@clisp.org>
59388
59389         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
59390         (copy_acl): Just a wrapper around qcopy_acl that emits the error
59391         messages.
59392         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
59393
59394 2008-06-01  Bruno Haible  <bruno@clisp.org>
59395
59396         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
59397         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
59398         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
59399         APIs.
59400         * modules/acl-tests (configure.ac): Remove tests now contained in
59401         m4/acl.m4.
59402
59403 2008-06-02  Jim Meyering  <meyering@redhat.com>
59404
59405         announce-gen: use a better key-server host name
59406         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
59407         it may be more consistently reliable.  Suggested by Werner Koch
59408         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
59409
59410 2008-06-01  Bruno Haible  <bruno@clisp.org>
59411
59412         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
59413         Reported by Voroskoi Andras <voroskoi@gmail.com>.
59414
59415 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
59416
59417         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
59418
59419 2008-06-01  Bruno Haible  <bruno@clisp.org>
59420
59421         New ACL tests.
59422         * tests/test-file-has-acl.sh: New file.
59423         * tests/test-file-has-acl.c: New file.
59424         * tests/test-set-mode-acl.sh: New file.
59425         * tests/test-set-mode-acl.c: New file.
59426         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
59427         * tests/test-copy-acl.c: New file.
59428         * modules/acl-tests: New file, based on modules/copy-file-tests.
59429         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
59430         (Depends-on): Add acl-tests.
59431         (configure.ac): Remove checks.
59432         (Makefile.am): Don't create test-sameacls program here any more.
59433
59434 2008-06-01  Bruno Haible  <bruno@clisp.org>
59435
59436         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
59437         * tests/test-sameacls.c: Include progname.h.
59438         (main): Invoke set_program_name. Portability fixes for MacOS X,
59439         Solaris, HP-UX.
59440
59441 2008-06-01  Bruno Haible  <bruno@clisp.org>
59442
59443         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
59444         function.
59445         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
59446
59447 2008-06-01  Bruno Haible  <bruno@clisp.org>
59448
59449         * modules/rpmatch (Depends-on): Add strdup.
59450
59451 2008-06-01  Bruno Haible  <bruno@clisp.org>
59452
59453         * lib/pipe.c: Include unistd-safer.h.
59454         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
59455         * modules/pipe (Depends-on): Add unistd-safer.
59456
59457 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59458
59459         * modules/autobuild (configure.ac): Call AB_INIT.
59460
59461 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59462
59463         * tests/test-getaddrinfo.c: Don't print debug messages by default.
59464         Suggested by Bruno Haible <bruno@clisp.org>.
59465
59466 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59467
59468         * tests/test-base64.c: Cast size_t to unsigned long when invoking
59469         printf.  Use %lu instead of %d.  Reported by Bruno Haible
59470         <bruno@clisp.org>.
59471
59472 2008-05-29  Eric Blake  <ebb9@byu.net>
59473
59474         Prefer new POSIX 200x interfaces over futimesat.
59475         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
59476         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
59477         when available.
59478         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
59479
59480 2008-05-28  Bruno Haible  <bruno@clisp.org>
59481
59482         * modules/stpcpy (License): Change to LGPLv2+.
59483         Requested by David Lutterkort <dlutter@redhat.com>.
59484
59485 2008-05-27  Bruno Haible  <bruno@clisp.org>
59486
59487         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
59488         current mingw.
59489         Reported by Jose E. Marchesi <jemarch@gnu.org>.
59490
59491 2008-05-27  Bruno Haible  <bruno@clisp.org>
59492
59493         * modules/iconv_open (Link): New section, from module 'iconv'.
59494         * modules/striconv (Link): Likewise.
59495         * modules/striconveh (Link): Likewise.
59496         * modules/xstriconv (Link): Likewise.
59497         * modules/unicodeio (Link): Likewise.
59498         * modules/propername (Link): Likewise.
59499         Reported by Jim Meyering.
59500
59501 2008-05-26  Jim Meyering  <meyering@redhat.com>
59502
59503         sha256: do not artificially restrict buffer length to be < 2^32
59504         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
59505         uint32_t to size_t.
59506         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
59507         to match.
59508
59509         avoid unaligned access errors, e.g., on sparc
59510         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
59511         direct access through a possibly-unaligned uint64* pointer.
59512         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
59513         direct access through a possibly-unaligned uint32* pointer.
59514         Prompted by this patch from Tom "spot" Callaway:
59515         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
59516
59517         sha512.c: fix typo in comment
59518         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
59519
59520 2008-05-25  Bruno Haible  <bruno@clisp.org>
59521
59522         * lib/set-mode-acl.c: Renamed from lib/acl.c.
59523         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
59524         (Makefile.am): Update lib_SOURCES.
59525
59526 2008-05-25  Bruno Haible  <bruno@clisp.org>
59527
59528         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
59529
59530 2008-05-25  Jim Meyering  <meyering@redhat.com>
59531
59532         useless-if-before-free: freed expr may have white-space differences
59533         * build-aux/useless-if-before-free: Recognize cases in which the
59534         freed expression differs from the tested one in embedded white
59535         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
59536         $1 was used, so we can't make any regexp shy.  Improved tests now
59537         detect this.
59538
59539         useless-if-before-free: accept white space in the expression.
59540         * build-aux/useless-if-before-free: For now, any white space
59541         in the expression must be identical in the free argument.
59542
59543         useless-if-before-free: efficiency tweak
59544         * build-aux/useless-if-before-free: Make the expression-matching
59545         regexp "shy".
59546         Make the *outer* regexp shy, not the expr-matching one.
59547
59548         update code-in-comment to accept cast of free arg
59549         * build-aux/useless-if-before-free: Update regexp.
59550
59551 2008-05-25  Bruno Haible  <bruno@clisp.org>
59552
59553         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
59554         * modules/copy-file-tests (Files, Makefile.am): Update.
59555         * tests/test-copy-file.c (func_test_copy): Update.
59556
59557 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
59558
59559         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
59560
59561 2008-05-23  Bruno Haible  <bruno@clisp.org>
59562
59563         Improve support for ACLs on OSF/1.
59564         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
59565         Remove fallback for unknown flavors of ACLs.
59566
59567 2008-05-22  Bruno Haible  <bruno@clisp.org>
59568
59569         Add support for ACLs on OSF/1.
59570         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
59571         replacements.
59572         (acl_free_text): New macro fallback.
59573         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
59574         acl_free.
59575         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
59576         acl_free_text function. Require AC_C_INLINE.
59577
59578 2008-05-22  Bruno Haible  <bruno@clisp.org>
59579
59580         Make copy_acl work on MacOS X 10.5.
59581         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
59582         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
59583         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
59584         If MODE_INSIDE_ACL, don't assume that every system has the same text
59585         representation for ACLs as FreeBSD.
59586         * lib/copy-acl.c (copy_acl): Add support for platforms with
59587         !MODE_INSIDE_ACL.
59588         * lib/file-has-acl.c (file_has_acl): Likewise.
59589         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
59590         FreeBSD, MacOS X, or IRIX, respectively.
59591
59592 2008-05-22  Bruno Haible  <bruno@clisp.org>
59593
59594         * lib/acl.h: Don't include <sys/acl.h>.
59595         (GETACLCNT): Move fallback to lib/acl-internal.h.
59596         * lib/acl-internal.h: Include <sys/acl.h> here.
59597         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
59598
59599 2008-05-22  Bruno Haible  <bruno@clisp.org>
59600
59601         Split off copy_acl function to separate file.
59602         * lib/copy-acl.c: New file, extracted from lib/acl.c.
59603         * lib/acl.c (copy_acl): Moved function to separate file.
59604         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
59605         * modules/acl (Files): Add lib/copy-acl.c.
59606         (Makefiles.am): Augment lib_SOURCES.
59607
59608 2008-05-22  Bruno Haible  <bruno@clisp.org>
59609
59610         * modules/copy-file-tests: New file.
59611         * tests/test-copy-file.sh: New file.
59612         * tests/test-copy-file.c: New file.
59613         * tests/test-copy-file-sameacls.c: New file.
59614
59615 2008-05-22  Eric Blake  <ebb9@byu.net>
59616
59617         Avoid gcc warning.
59618         * tests/test-memcmp.c (main): Pass NULL indirectly.
59619
59620 2008-05-21  Bruno Haible  <bruno@clisp.org>
59621
59622         Add reference doc about ACLs.
59623         * doc/acl-resources.txt: New file.
59624         * doc/acl-cygwin.txt: New file.
59625
59626 2008-05-21  Bruno Haible  <bruno@clisp.org>
59627
59628         Avoid one more warning from gcc.
59629         * lib/vasnprintf.c (IF_LINT): Update comments.
59630         (VASNPRINTF): Use it also for the 'prefix' array initializer.
59631
59632 2008-05-21  Jim Meyering  <meyering@redhat.com>
59633
59634         avoid a warning from gcc
59635         * lib/vasnprintf.c (IF_LINT): Define.
59636         (scale10_round_decimal_long_double):
59637         Use it to avoid a "may be used uninitialized" warning.
59638         (scale10_round_decimal_double): Likewise.
59639
59640 2008-05-21  Simon Josefsson  <simon@josefsson.org>
59641
59642         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
59643         declared.
59644
59645 2008-05-20  Bruno Haible  <bruno@clisp.org>
59646
59647         * tests/test-memcmp.c (main): Test also the sign of the result. Test
59648         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
59649
59650 2008-05-20  Simon Josefsson  <simon@josefsson.org>
59651
59652         * modules/memcmp-tests: New file.
59653         * tests/test-memcmp.c: New file.
59654
59655 2008-05-19  Bruno Haible  <bruno@clisp.org>
59656
59657         * modules/propername (Notice, configure.ac): Put quoted "..." into
59658         --keyword option.
59659         * lib/propername.h: Update comments accordingly.
59660         Reported by Eric Blake.
59661
59662 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
59663
59664         * modules/getpass-gnu (Depends-on): Add fseeko.
59665
59666 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59667
59668         * modules/base64-tests: New file.
59669
59670 2008-05-19  Bo Borgerson <gigabo@gmail.com>
59671
59672         * lib/base64.c (base64_decode_ctx): If a decode context structure
59673         was passed in use it to ignore newlines.  If a context structure
59674         was _not_ passed in, continue to treat newlines as garbage (this
59675         is the historical behavior).  Formerly base64_decode.
59676         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59677         takes a decode context structure.
59678         * lib/base64.h (base64_decode): Macro for four-argument calls.
59679         (base64_decode_alloc): Likewise.
59680         * lib/base64.c (base64_decode_ctx): If a decode context structure
59681         was passed in use it to ignore newlines.  If a context structure
59682         was _not_ passed in, continue to treat newlines as garbage (this
59683         is the historical behavior).  Formerly base64_decode.
59684         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59685         takes a decode context structure.
59686         * lib/base64.h (base64_decode): Macro for four-argument calls.
59687         (base64_decode_alloc): Likewise.
59688
59689 2008-05-19  Jim Meyering  <meyering@redhat.com>
59690
59691         avoid a warning from gcc
59692         * lib/trim.c (IF_LINT): Define.
59693         (trim2): Use it to avoid a "may be used uninitialized" warning.
59694
59695         Fix doc typo.
59696         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
59697
59698 2008-05-19  Bruno Haible  <bruno@clisp.org>
59699
59700         * doc/glibc-functions/getpass.texi: Document limits of other
59701         implementations.
59702
59703 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59704             Bruno Haible <bruno@clisp.org>
59705
59706         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
59707
59708 2008-05-18  Bruno Haible  <bruno@clisp.org>
59709
59710         * modules/propername: New file, from GNU gettext.
59711         * lib/propername.h: New file, from GNU gettext.
59712         * lib/propername.c: New file, from GNU gettext.
59713         * MODULES.html.sh (Internationalization functions): Add propername.
59714
59715 2008-05-16  Jim Meyering  <meyering@redhat.com>
59716             Bruno Haible  <bruno@clisp.org>
59717
59718         Avoid some warnings from "gcc -Wshadow".
59719         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
59720
59721 2008-05-15  Eric Blake  <ebb9@byu.net>
59722
59723         Extend previous patch to cygwin 1.7.0.
59724         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
59725         fast implementation in cygwin >= 1.7.0.
59726         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59727         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59728
59729 2008-05-15  Bruno Haible  <bruno@clisp.org>
59730
59731         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
59732         implementation in glibc >= 2.9.
59733         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59734         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59735
59736 2008-05-15  Bruno Haible  <bruno@clisp.org>
59737
59738         * MODULES.html.sh (Internationalization functions): Remove linebreak.
59739         (Unicode string functions): Add unilbrk/*.
59740         Reported by Karl Berry.
59741
59742 2008-05-15  Eric Blake  <ebb9@byu.net>
59743
59744         Fix violation of <stdbool.h> replacement in regex.
59745         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
59746         * lib/regexec.c (re_search_internal): Likewise.
59747         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
59748
59749 2008-05-15  Jim Meyering  <meyering@redhat.com>
59750
59751         avoid distracting test output when git or cvs is not found
59752         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
59753         * tests/test-vc-list-files-git.sh: Likewise.
59754
59755 2008-05-15  Eric Blake  <ebb9@byu.net>
59756
59757         Glibc finally accepted the memmem speedup code, bugzilla #5514.
59758         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
59759         glibc version.
59760         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
59761         * doc/posix-functions/strstr.texi (strstr): Likewise.
59762         * lib/str-two-way.h (MAX): Sychronize with glibc.
59763
59764 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
59765
59766         * lib/regcomp.c (optimize_utf8): Add a note on why we test
59767         opr.ctx_type.
59768         (calc_first): Initialize constraint field.
59769         (duplicate_node_closure): Use it instead of special casing ANCHORS.
59770         Fix grammar.
59771         (duplicate_node): Merge constraint field for all node types.
59772         (calc_eclosure_iter): Look at constraint field for all node types.
59773         * lib/regex_internal.c (create_cd_newstate): Don't look at
59774         opr.ctx_type.
59775
59776 2008-05-14  Bruno Haible  <bruno@clisp.org>
59777
59778         Help GCC to do better code generation.
59779         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
59780         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
59781         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
59782         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
59783         Declare with attribute 'malloc' if supported.
59784
59785 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
59786
59787         use "echo STR|wc -c" rather than unportable "expr length STR"
59788         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
59789         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
59790
59791 2008-05-14  Jim Meyering  <meyering@redhat.com>
59792
59793         use dd ibs=$n count=1 ... rather than less-portable head -c$n
59794         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
59795         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
59796         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
59797         via Collin Lasse.
59798
59799 2008-05-14  Eric Blake  <ebb9@byu.net>
59800
59801         Avoid quadratic growth in gl_LIBSOURCES.
59802         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
59803         Suggested by Bruno Haible.
59804
59805         Test xmemdup0.
59806         * modules/xmemdup0-tests: New file.
59807         * tests/test-xmemdup0.c: Likewise.
59808
59809 2008-05-13  Eric Blake  <ebb9@byu.net>
59810
59811         Split xmemdup0 into its own module.
59812         * modules/xmemdup0: New file.
59813         * lib/xmemdup0.h: Likewise.
59814         * lib/xmemdup0.c: Likewise.
59815         * MODULES.html.sh (Memory management functions): Add xmemdup0.
59816         * lib/xalloc.h (xmemdup0): Remove.
59817         * lib/xmalloc.c (xmemdup0): Likewise.
59818
59819 2008-05-13  Eric Blake  <ebb9@byu.net>
59820             Bruno Haible  <bruno@clisp.org>
59821
59822         Reduce number of forks required during autoconf.
59823         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
59824         and gl_LIBSOURCES_DIR.
59825         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
59826         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
59827         m4_syscmd per file.
59828         <m4_foreach_w>: Move...
59829         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
59830
59831 2008-05-13  Eric Blake  <ebb9@byu.net>
59832
59833         * gnulib-tool: Fix various comment typos.
59834
59835 2008-05-12  Bruno Haible  <bruno@clisp.org>
59836
59837         Tailor the linebreaking algorithm.
59838         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
59839
59840 2008-05-12  Bruno Haible  <bruno@clisp.org>
59841
59842         Update to Unicode 5.0.0.
59843         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59844         LBP_JV, LBP_JT. Redistribute values.
59845         (unilbrk_table): Change size.
59846         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
59847         Unicode TR#14 rev. 22.
59848         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59849         LBP_JV, LBP_JT. Redistribute values.
59850         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
59851         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
59852         Update.
59853         * lib/unilbrk/lbrkprop1.h: Regenerated.
59854         * lib/unilbrk/lbrkprop2.h: Regenerated.
59855         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
59856         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
59857         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
59858         Likewise.
59859         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
59860         Likewise.
59861         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
59862         result.
59863         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
59864         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
59865         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
59866         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
59867         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
59868         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
59869
59870 2008-05-11  Bruno Haible  <bruno@clisp.org>
59871
59872         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
59873
59874 2008-05-11  Bruno Haible  <bruno@clisp.org>
59875
59876         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
59877         * modules/unilbrk/gen-lbrk: New file.
59878
59879 2008-05-11  Bruno Haible  <bruno@clisp.org>
59880
59881         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
59882         * m4/sha512.m4 (gl_SHA512): Likewise.
59883
59884 2008-05-11  Jim Meyering  <meyering@redhat.com>
59885
59886         New modules: crypto/sha256, crypto/sha512 (from coreutils)
59887         * modules/crypto/sha256: New file.
59888         * modules/crypto/sha512: Likewise.
59889         * lib/sha256.c: Likewise.
59890         * lib/sha256.h: Likewise.
59891         * lib/sha512.c: Likewise.
59892         * lib/sha512.h: Likewise.
59893         * lib/u64.h: Likewise.
59894         * m4/sha256.m4: Likewise.
59895         * m4/sha512.m4: Likewise.
59896         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
59897
59898 2008-05-10  Bruno Haible  <bruno@clisp.org>
59899
59900         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
59901         (Input/Output <stdio.h>): Add xprintf.
59902         (Signal handling <signal.h>): Add strsignal.
59903         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
59904         (Core language properties): Add func.
59905         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
59906         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
59907         strings.
59908         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
59909         (Input/output): New section.
59910         (File system functions): Add openat-die, stat-macros.
59911         (Networking functions): Add sockets.
59912         (Unicode string functions): Add unictype/*.
59913         (Support for building libraries and executables): Add gperf.
59914         (Support for building documentation): Add agpl-3.0.
59915         (Misc): Add nocrash.
59916
59917 2008-05-10  Bruno Haible  <bruno@clisp.org>
59918
59919         * modules/unictype/gen-ctype: New file.
59920
59921 2008-05-10  Jim Meyering  <meyering@redhat.com>
59922
59923         Make chdir-safer.c more efficient on a system with no symlinks.
59924         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
59925         also if ELOOP is zero.  Suggested by Bruno Haible.
59926
59927         Make chdir-safer.c slightly safer.
59928         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
59929         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
59930
59931         Avoid compile failure on systems without ELOOP (like mingw).
59932         * lib/chdir-safer.c (ELOOP): Define if not already defined.
59933         Reported by Bruno Haible.
59934
59935 2008-05-10  Bruno Haible  <bruno@clisp.org>
59936
59937         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
59938         (is_utf8_encoding): Use a case-insensitive comparison.
59939         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
59940         streq.
59941
59942 2008-05-10  Bruno Haible  <bruno@clisp.org>
59943
59944         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
59945         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
59946         * lib/unilbrk/ulc-common.h (iconv_string_length,
59947         iconv_string_keeping_offsets): Remove declarations.
59948         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
59949         Don't include <iconv.h>, streq.h, xsize.h.
59950         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
59951         conversion.
59952         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
59953         <iconv.h>, streq.h, xsize.h.
59954         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
59955         conversion.
59956         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
59957         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
59958         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
59959         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
59960
59961 2008-05-10  Bruno Haible  <bruno@clisp.org>
59962
59963         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
59964         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
59965
59966         * modules/unilbrk/u32-width-linebreaks-tests: New file.
59967         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
59968
59969         * modules/unilbrk/u16-width-linebreaks-tests: New file.
59970         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
59971
59972         * modules/unilbrk/u8-width-linebreaks-tests: New file.
59973         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
59974
59975         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
59976         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
59977
59978         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
59979         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
59980
59981         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
59982         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
59983
59984         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
59985         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
59986
59987 2008-05-10  Bruno Haible  <bruno@clisp.org>
59988
59989         Split up 'linebreak' module.
59990         * lib/unilbrk.h: New file, based on lib/linebreak.h.
59991         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
59992         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
59993         modifications.
59994         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
59995         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
59996         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
59997         lib/linebreak.c.
59998         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
59999         lib/linebreak.c.
60000         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
60001         lib/linebreak.c.
60002         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
60003         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
60004         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
60005         lib/linebreak.c.
60006         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
60007         lib/linebreak.c.
60008         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
60009         lib/linebreak.c.
60010         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
60011         lib/linebreak.c.
60012         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
60013         lib/linebreak.c.
60014         * modules/unilbrk/base: New file.
60015         * modules/unilbrk/tables: New file.
60016         * modules/unilbrk/u8-possible-linebreaks: New file.
60017         * modules/unilbrk/u16-possible-linebreaks: New file.
60018         * modules/unilbrk/u32-possible-linebreaks: New file.
60019         * modules/unilbrk/ulc-common: New file.
60020         * modules/unilbrk/ulc-possible-linebreaks: New file.
60021         * modules/unilbrk/u8-width-linebreaks: New file.
60022         * modules/unilbrk/u16-width-linebreaks: New file.
60023         * modules/unilbrk/u32-width-linebreaks: New file.
60024         * modules/unilbrk/ulc-width-linebreaks: New file.
60025         * lib/linebreak.h: Remove file.
60026         * lib/linebreak.c: Remove file.
60027         * m4/linebreak.m4: Remove file.
60028         * modules/linebreak: Remove file.
60029         * NEWS: Mention the changes.
60030
60031 2008-05-09  Eric Blake  <ebb9@byu.net>
60032
60033         Add xmemdup0.
60034         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
60035         implementation.
60036         * lib/xmalloc.c (xmemdup0): New C implementation.
60037
60038 2008-05-08  Bruno Haible  <bruno@clisp.org>
60039
60040         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
60041
60042 2008-05-07  Eric Blake  <ebb9@byu.net>
60043
60044         Support cross-compilation of <wctype.h>.
60045         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
60046         AC_CACHE_CHECK.
60047
60048 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
60049
60050         * build-aux/vc-list-files: Add support for bzr.
60051
60052 2008-05-03  Jim Meyering  <meyering@redhat.com>
60053
60054         avoid failed assertion with tight malloc
60055         * tests/test-getndelim2.c: Correct an off-by-one assertion.
60056
60057 2008-05-03  Simon Josefsson  <simon@josefsson.org>
60058
60059         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
60060         are needed from arpa/inet.h.
60061         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
60062         Reported by Bruno Haible.
60063
60064 2008-05-02  Jim Meyering  <meyering@redhat.com>
60065
60066         avoid compilation error on FreeBSD 6
60067         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
60068
60069 2008-05-01  Jim Meyering  <meyering@redhat.com>
60070
60071         useless-if-before-free: correct --help's exit status description
60072         * build-aux/useless-if-before-free (usage): Like grep, exit 0
60073         for one or more matches, etc.  Reported by Bruno Haible.
60074
60075         vc-list-files: make the stand-alone gnulib test work
60076         * modules/vc-list-files-tests (configure.ac):
60077         Define and AC_SUBST abs_aux_dir.
60078         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
60079         $(abs_top_srcdir) to each script and having each of them
60080         duplicate the work of setting PATH, set PATH here, using
60081         the new variable, abs_aux_dir instead.
60082         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
60083         * tests/test-vc-list-files-git.sh: Likewise.
60084         Reported by Bruno Haible.
60085
60086 2008-05-01  Bruno Haible  <bruno@clisp.org>
60087
60088         * lib/getndelim2.c (getndelim2): Fix newsize computation during
60089         reallocation. Rename 'done' to 'found_delimiter'.
60090
60091 2008-05-01  Jim Meyering  <meyering@redhat.com>
60092
60093         vc-list-files: accommodate /bin/sh like the one from Solaris 10
60094         * build-aux/vc-list-files: Use `...`, not $(...).
60095
60096 2008-04-30  Jim Meyering  <meyering@redhat.com>
60097
60098         add tests for vc-list-files
60099         * modules/vc-list-files-tests: New module.
60100         * tests/test-vc-list-files-cvs.sh: New file.
60101         * tests/test-vc-list-files-git.sh: New file.
60102
60103         avoid a warning from gcc
60104         * lib/getndelim2.c (IF_LINT): Define.
60105         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
60106
60107         vc-list-files: work properly with build-aux/cvsu, too
60108         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
60109         to all cvs-based clauses.
60110
60111         vc-list-files: work properly in the CVS+awk case, too
60112         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
60113
60114         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
60115         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
60116         take more than one file argument, so .  Add quotes, just in case $dir
60117         ever contains a shell meta-character.  Prompted by Soren Hansen in
60118         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
60119
60120 2008-04-29  Eric Blake  <ebb9@byu.net>
60121
60122         Optimize getndelim2 to use block operations when possible.
60123         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
60124         freadseek, and memchr2.
60125         * lib/getndelim2.c (getndelim2): Use them for block reads.
60126
60127 2008-04-29  Bruno Haible  <bruno@clisp.org>
60128
60129         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
60130         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
60131         * modules/inet_ntop (Depends-on): Add extensions.
60132         * modules/inet_pton (Depends-on): Likewise.
60133         Reported by Simon Josefsson.
60134
60135 2008-04-29  Jim Meyering  <meyering@redhat.com>
60136
60137         When the is more than one match in a block, match all of them.
60138         * build-aux/useless-if-before-free: Iterate through each block
60139         until there are no more matches.
60140
60141         Fix broken useless-if-before-free script.
60142         * build-aux/useless-if-before-free: Fix typo: missing "?" after
60143         the expression to match cast of argument to free-like function.
60144
60145 2008-04-29  Eric Blake  <ebb9@byu.net>
60146
60147         Use new header.
60148         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
60149
60150 2008-04-29  Jim Meyering  <meyering@redhat.com>
60151
60152         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
60153         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
60154         by gnulib to exist and to declare e.g., inet_ntop.
60155         Don't include "inet_ntop.h", now removed.
60156
60157         * m4/arpa_inet_h.m4: Remove trailing blanks.
60158
60159 2008-04-29  Eric Blake  <ebb9@byu.net>
60160
60161         Silence valgrind on safe reads beyond potential array bounds.
60162         * lib/rawmemchr.valgrind: New file.
60163         * lib/strchrnul.valgrind: Likewise.
60164         * modules/rawmemchr (Files): Distribute new file.
60165         * modules/strchrnul (Files): Likewise.
60166         Suggested by Bruno Haible.
60167
60168 2008-04-29  Bruno Haible  <bruno@clisp.org>
60169
60170         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
60171         (inet_ntop, inet_pton): Change portability warning's wording.
60172         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
60173         Invoke gl_CHECK_NEXT_HEADERS.
60174         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
60175         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
60176         set ARPA_INET_H.
60177         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
60178         * modules/arpa_inet (Description): No longer only for systems that
60179         lack it.
60180         (Depends-on): Add include_next.
60181         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
60182         HAVE_ARPA_INET_H.
60183
60184 2008-04-29  Jim Meyering  <meyering@redhat.com>
60185
60186         * modules/mkdir (License): Re-license as LGPLv2+.
60187
60188 2008-04-29  Bruno Haible  <bruno@clisp.org>
60189
60190         * modules/rawmemchr (Maintainer): Set to Eric.
60191         * modules/strchrnul (Maintainer): Likewise.
60192
60193 2008-04-29  Simon Josefsson  <simon@josefsson.org>
60194
60195         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
60196         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
60197
60198         * modules/arpa_inet (arpa/inet.h): Use them.
60199
60200 2008-04-28  Eric Blake  <ebb9@byu.net>
60201
60202         Test getndelim2.
60203         * modules/getndelim2-tests: New file.
60204         * tests/test-getndelim2.c: Likewise.
60205         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
60206         stream.
60207         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
60208
60209         * MODULES.html.sh: Document new module.
60210
60211 2008-04-20  Bruno Haible  <bruno@clisp.org>
60212
60213         * lib/c-stack.c (die): Use raise.
60214         * modules/c-stack (Depends-on): Add raise.
60215
60216 2008-04-28  Bruno Haible  <bruno@clisp.org>
60217
60218         Expect rpmatch to be declared.
60219         * lib/yesno.c (rpmatch): Remove declaration.
60220
60221         Declare rpmatch.
60222         * lib/stdlib.in.h (rpmatch): New declaration.
60223         * lib/rpmatch.c: Include <stdlib.h> first.
60224         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
60225         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
60226         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
60227         HAVE_RPMATCH.
60228         * modules/rpmatch (Depends-on): Add stdlib, extensions.
60229         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
60230         (Include): Set to <stdlib.h>.
60231         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
60232         HAVE_RPMATCH.
60233         * NEWS: Document the change.
60234
60235 2008-04-28  Bruno Haible  <bruno@clisp.org>
60236
60237         Change rpmatch to use nl_langinfo when appropriate.
60238         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
60239         (N_): New macro.
60240         (localized_pattern): New function/macro.
60241         (try): Remove match, nomatch arguments. Copy the pattern into safe
60242         memory before caching it.
60243         (rpmatch): Use localized_pattern. Add translator comments.
60244         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
60245         Suggested by Eric Blake.
60246         * modules/rpmatch (Depends-on): Add stdbool.
60247
60248 2008-04-28  Eric Blake  <ebb9@byu.net>
60249
60250         Add rawmemchr module, matching glibc.
60251         * modules/string (Makefile.am): New indicator.
60252         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
60253         * lib/string.in.h (rawmemchr): Declare when appropriate.
60254         * modules/rawmemchr: New file.
60255         * m4/rawmemchr.m4: Likewise.
60256         * lib/rawmemchr.c: Likewise.
60257         * modules/rawmemchr-tests: Likewise.
60258         * tests/test-rawmemchr.c: Likewise.
60259         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
60260         module.
60261         * modules/strchrnul (Depends-on): Add rawmemchr.
60262         * lib/strchrnul.c (strchrnul): Optimize a corner case.
60263
60264         Whitespace cleanup.
60265         * tests/test-strchrnul.c: Reindent.
60266         * lib/strchrnul.c: Likewise.
60267
60268         Optimize and test strchrnul.
60269         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
60270         * modules/strchrnul-tests: New file.
60271         * tests/test-strchrnul.c: Likewise.
60272
60273         Remove intprops dependency.
60274         * modules/memchr (Depends-on): Remove intprops.
60275         * modules/memrchr (Depends-on): Likewise.
60276         * modules/memchr2 (Depends-on): Likewise.
60277         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
60278         * lib/memrchr.c (__memrchr): Likewise.
60279         * lib/memrchr2.c (memchr2): Likewise.
60280         Reported by Simon Josefsson.
60281
60282 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60283
60284         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
60285         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60286
60287 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60288
60289         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
60290
60291         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
60292
60293         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
60294
60295         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
60296         declarations.
60297         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
60298
60299         * m4/inet_pton.m4: Don't check for header files.
60300
60301         * m4/inet_ntop.m4: Don't check for header files.
60302
60303 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60304
60305         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
60306         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
60307         trigger for cygwin).
60308         Reported by Bruno Haible  <bruno@clisp.org>.
60309
60310 2008-04-28  Bruno Haible  <bruno@clisp.org>
60311
60312         * doc/posix-functions/strdup.texi: Mention mingw problem.
60313
60314 2008-04-27  Bruno Haible  <bruno@clisp.org>
60315
60316         * modules/stat-time-tests (Depends-on): Add sleep.
60317         * tests/test-stat-time.c (force_unlink): New function.
60318         (cleanup): Use it.
60319         (test_mtime): Remove the ctime related tests.
60320         (test_ctime): New function, containing the ctime related tests.
60321         (main): Call test_ctime, except on native Windows platforms.
60322
60323 2008-04-27  Bruno Haible  <bruno@clisp.org>
60324
60325         * lib/rpmatch.c (rpmatch): Add some comments.
60326         Reported by James Youngman <jay@gnu.org>.
60327
60328 2008-04-27  Bruno Haible  <bruno@clisp.org>
60329
60330         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
60331         quiet NaNs.
60332
60333 2008-04-27  Bruno Haible  <bruno@clisp.org>
60334
60335         Make test-yesno.sh work on mingw.
60336         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
60337         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
60338         (main): Set stdin to binary mode.
60339         * modules/yesno-tests (Depends-on): Add binary-io.
60340
60341 2008-04-27  Bruno Haible  <bruno@clisp.org>
60342
60343         Fix 'isfinite' on x86, x86_64, ia64 platforms.
60344         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
60345         argument that lie outside the IEEE 854 domain.
60346         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
60347         (gl_ISFINITE): Use it.
60348         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
60349
60350 2008-04-27  Bruno Haible  <bruno@clisp.org>
60351
60352         Allow local renaming in config.h.
60353         * lib/memrchr.c (memrchr): Don't undefine outside libc.
60354
60355 2008-04-27  Bruno Haible  <bruno@clisp.org>
60356
60357         * lib/memchr.c (__memchr): Change type of 'i'.
60358         * lib/memchr2.c (memchr2): Likewise.
60359
60360 2008-04-26  Eric Blake  <ebb9@byu.net>
60361         and Bruno Haible  <bruno@clisp.org>
60362
60363         Optimize and test memrchr.
60364         * modules/memrchr (Depends-on): Add intprops.
60365         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
60366         * modules/memrchr-tests: New file.
60367         * tests/test-memrchr.c: New file.
60368
60369 2008-04-26  Bruno Haible  <bruno@clisp.org>
60370
60371         Add tentative support for DragonFly BSD.
60372         * lib/stdio-impl.h: Add macros for DragonFly BSD.
60373         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
60374         fp.
60375         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
60376         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
60377         * lib/fpurge.c (fpurge): Likewise.
60378         * lib/freadable.c (freaadable): Likewise.
60379         * lib/freadahead.c (freadahead): Likewise.
60380         * lib/freading.c (freading): Likewise.
60381         * lib/freadptr.c (freadptr): Likewise.
60382         * lib/freadseek.c (freadptrinc): Likewise.
60383         * lib/fseeko.c (fseeko): Likewise.
60384         * lib/fseterr.c (fseterr): Likewise.
60385         * lib/fwritable.c (fwritable): Likewise.
60386         * lib/fwriting.c (fwriting): Likewise.
60387
60388 2008-04-26  Bruno Haible  <bruno@clisp.org>
60389
60390         * lib/stdio-impl.h: New file.
60391         * lib/fbufmode.c: Include stdio-impl.h.
60392         (fbufmode): Use fp_, remove redundant #defines.
60393         * lib/fflush.c: Include stdio-impl.h.
60394         (clear_ungetc_buffer): Remove redundant #defines.
60395         * lib/fpurge.c: Include stdio-impl.h.
60396         (fpurge): Remove redundant #defines.
60397         * lib/freadable.c: Include stdio-impl.h.
60398         (freadable): Remove redundant #defines.
60399         * lib/freadahead.c: Include stdio-impl.h.
60400         (freadahead): Remove redundant #defines.
60401         * lib/freading.c: Include stdio-impl.h.
60402         (freading): Remove redundant #defines.
60403         * lib/freadptr.c: Include stdio-impl.h.
60404         (freadptr): Remove redundant #defines.
60405         * lib/freadseek.c: Include stdio-impl.h.
60406         (freadptrinc): Remove redundant #defines.
60407         * lib/fseeko.c: Include stdio-impl.h.
60408         (rpl_fseeko): Remove redundant #defines.
60409         * lib/fseterr.c: Include stdio-impl.h.
60410         (fseterr): Remove redundant #defines.
60411         * lib/fwritable.c: Include stdio-impl.h.
60412         (fwritable: Remove redundant #defines.
60413         * lib/fwriting.c: Include stdio-impl.h.
60414         (fwriting): Remove redundant #defines.
60415         * modules/fbufmode (Files): Add lib/stdio-impl.h.
60416         * modules/fflush (Files): Likewise.
60417         * modules/fpurge (Files): Likewise.
60418         * modules/freadable (Files): Likewise.
60419         * modules/freadahead (Files): Likewise.
60420         * modules/freading (Files): Likewise.
60421         * modules/freadptr (Files): Likewise.
60422         * modules/freadseek (Files): Likewise.
60423         * modules/fseeko (Files): Likewise.
60424         * modules/fseterr (Files): Likewise.
60425         * modules/fwritable (Files): Likewise.
60426         * modules/fwriting (Files): Likewise.
60427
60428 2008-04-26  Bruno Haible  <bruno@clisp.org>
60429
60430         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
60431         restore_seek_optimization, update_fpos_cache): New functions, extracted
60432         from rpl_fflush.
60433         (rpl_fflush): Use them.
60434         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
60435         (gl_REPLACE_FFLUSH): Use it.
60436
60437 2008-04-26  Bruno Haible  <bruno@clisp.org>
60438
60439         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
60440         on Solaris.
60441         * tests/test-xstrtoimax.sh: Likewise.
60442         * tests/test-xstrtoumax.sh: Likewise.
60443         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60444
60445 2008-04-26  Bruno Haible  <bruno@clisp.org>
60446
60447         * modules/memchr-tests: New file.
60448         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
60449
60450 2008-04-26  Eric Blake  <ebb9@byu.net>
60451             Bruno Haible  <bruno@clisp.org>
60452
60453         * lib/memchr.c: Include intprops.h.
60454         (__memchr): Optimize parallel detection of matching bytes. Rename local
60455         variables. Add explanatory comments.
60456
60457 2008-04-26  Bruno Haible  <bruno@clisp.org>
60458
60459         Fix module 'memchr', broken since 2000-10-28.
60460         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
60461
60462 2008-04-26  Bruno Haible  <bruno@clisp.org>
60463
60464         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
60465         comments.
60466
60467 2008-04-25  Eric Blake  <ebb9@byu.net>
60468
60469         Use native fstatat on cygwin 1.7.0.
60470         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
60471         first.
60472
60473 2008-04-23  Eric Blake  <ebb9@byu.net>
60474
60475         Improve memchr2 performance.
60476         * lib/memchr2.c (memchr2): Further optimize parallel detection of
60477         NUL bytes.
60478         * modules/memchr2 (Depends-on): Use intprops.h.
60479
60480 2008-04-23  Simon Josefsson  <simon@josefsson.org>
60481
60482         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
60483         an inline function instead of a CPP macro.  Patch by Ben Pfaff
60484         <blp@cs.stanford.edu>.
60485
60486 2008-04-23  Simon Josefsson  <simon@josefsson.org>
60487
60488         * lib/arpa_inet.in.h: New file.
60489
60490         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
60491         (Makefile.am): Sed in substitute header file.
60492
60493         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
60494         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
60495
60496         * modules/inet_ntop (configure.ac): Use
60497         gl_ARPA_INET_MODULE_INDICATOR.
60498
60499         * modules/inet_pton (configure.ac): Use
60500         gl_ARPA_INET_MODULE_INDICATOR.
60501
60502 2008-04-22  Jim Meyering  <meyering@redhat.com>
60503
60504         * modules/verify (License): Re-license as LGPLv2+.
60505
60506 2008-04-22  Simon Josefsson  <simon@josefsson.org>
60507
60508         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
60509         parameter to void* as per POSIX standard (MinGW uses char*).
60510
60511 2008-04-21  Bruno Haible  <bruno@clisp.org>
60512
60513         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
60514         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
60515         Define to replacements if REPLACE_ISWCNTRL is 1.
60516         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
60517         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
60518         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
60519         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
60520         what it fixes.
60521         * doc/posix-functions/iswalpha.texi: Likewise.
60522         * doc/posix-functions/iswblank.texi: Likewise.
60523         * doc/posix-functions/iswcntrl.texi: Likewise.
60524         * doc/posix-functions/iswdigit.texi: Likewise.
60525         * doc/posix-functions/iswgraph.texi: Likewise.
60526         * doc/posix-functions/iswlower.texi: Likewise.
60527         * doc/posix-functions/iswprint.texi: Likewise.
60528         * doc/posix-functions/iswpunct.texi: Likewise.
60529         * doc/posix-functions/iswspace.texi: Likewise.
60530         * doc/posix-functions/iswupper.texi: Likewise.
60531         * doc/posix-functions/iswxdigit.texi: Likewise.
60532         Reported by Alain Guibert.
60533
60534 2008-04-21  Bruno Haible  <bruno@clisp.org>
60535
60536         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
60537         Patch by Alain Guibert.
60538
60539 2008-04-21  Bruno Haible  <bruno@clisp.org>
60540
60541         Fix test failures on mingw.
60542         * tests/test-xstrtol.c (print_no_progname): New function.
60543         (main): Install it in error_print_progname hook.
60544         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
60545         * tests/test-xstrtoimax.sh: Likewise.
60546         * tests/test-xstrtoumax.sh: Likewise.
60547
60548 2008-04-21  Bruno Haible  <bruno@clisp.org>
60549
60550         Fix test failure on mingw.
60551         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
60552
60553 2008-04-21  Bruno Haible  <bruno@clisp.org>
60554
60555         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
60556         Actually assign a value.
60557
60558 2008-04-20  Bruno Haible  <bruno@clisp.org>
60559
60560         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
60561         take 2.
60562         * lib/canonicalize.c (canonicalize_file_name): Elide if the
60563         'canonicalize-lgpl' module is also used.
60564         * lib/canonicalize-lgpl.c: Undo last change.
60565         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
60566
60567 2008-04-20  Bruno Haible  <bruno@clisp.org>
60568
60569         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
60570         config.h. Provide _mkdir based fallback for mingw.
60571         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
60572         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
60573         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
60574         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
60575         rather than defining mkdir in config.h.
60576         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
60577         (gl_SYS_STAT_H_DEFAULTS): New macro.
60578         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
60579         HAVE_IO_H any more.
60580         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
60581         HAVE_DECL_MKDIR and HAVE_IO_H.
60582
60583 2008-04-20  Bruno Haible  <bruno@clisp.org>
60584
60585         * lib/isapipe.c: Port to native Windows platforms.
60586
60587 2008-04-20  Bruno Haible  <bruno@clisp.org>
60588
60589         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
60590
60591 2008-04-21  Eric Blake  <ebb9@byu.net>
60592
60593         Work around preprocessors that don't handle UINTMAX_MAX.
60594         * lib/memchr2.c (memchr2): Avoid embedded #if.
60595         Reported by Alain Guibert, fix suggested by Bruno Haible.
60596
60597 2008-04-21  Simon Josefsson  <simon@josefsson.org>
60598
60599         * doc/posix-functions/strftime.texi (strftime): Explain better
60600         Windows incompatibility.  Suggested by Micah Cowan
60601         <micah@cowan.name>.
60602
60603 2008-04-20  Bruno Haible  <bruno@clisp.org>
60604
60605         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
60606         unistr/u8-mblen.
60607
60608 2008-04-20  Bruno Haible  <bruno@clisp.org>
60609
60610         Fix test failure on platforms with non-GNU iconv.
60611         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
60612         (U_TO_U8): Use it, rather than u16_to_u8.
60613         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
60614         units at the end of the input string.
60615         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
60616
60617 2008-04-20  Bruno Haible  <bruno@clisp.org>
60618
60619         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
60620         when the resulting length is 0.
60621         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
60622
60623 2008-04-20  Bruno Haible  <bruno@clisp.org>
60624
60625         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
60626         works.
60627         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
60628
60629 2008-04-20  Bruno Haible  <bruno@clisp.org>
60630
60631         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
60632         * modules/tsearch-tests (configure.ac): Test for initstate function.
60633
60634 2008-04-20  Bruno Haible  <bruno@clisp.org>
60635
60636         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
60637         for nlink_t if missing.
60638         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
60639
60640 2008-04-19  Bruno Haible  <bruno@clisp.org>
60641
60642         Work around snprintf bug on Linux libc5.
60643         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
60644         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60645         gl_SNPRINTF_SIZE1.
60646         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60647         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
60648         that test failed.
60649         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
60650         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
60651         * modules/snprintf (Files): Add m4/printf.m4.
60652         * modules/vsnprintf (Files): Likewise.
60653         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
60654         * doc/posix-functions/vsnprintf.texi: Likewise.
60655
60656 2008-04-19  Bruno Haible  <bruno@clisp.org>
60657
60658         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
60659         from 0.0058 to less than 10^-7.
60660
60661 2008-04-19  Bruno Haible  <bruno@clisp.org>
60662
60663         Fix rounding when a precision is given.
60664         * lib/vasnprintf.c (is_borderline): New function.
60665         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
60666         9...9x.
60667         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
60668         %e, %g.
60669         * tests/test-vasprintf-posix.c (test_function): Likewise.
60670         * tests/test-snprintf-posix.h (test_function): Likewise.
60671         * tests/test-sprintf-posix.h (test_function): Likewise.
60672         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
60673         * tests/test-printf-posix.h (test_function): Likewise.
60674         * tests/test-printf-posix.output: Update.
60675         Reported by John Darrington <john@darrington.wattle.id.au> via
60676         Ben Pfaff <blp@cs.stanford.edu>.
60677
60678 2008-04-18  Simon Josefsson  <simon@josefsson.org>
60679
60680         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
60681         Suggested by Bruno Haible <bruno@clisp.org>.
60682
60683 2008-04-17  Bruno Haible  <bruno@clisp.org>
60684
60685         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
60686         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
60687         implementation.
60688         Patch by Bruce Merry <bmerry@gmail.com>.
60689
60690 2008-04-17  Simon Josefsson  <simon@josefsson.org>
60691
60692         * doc/posix-functions/strftime.texi (strftime): Mention that %e
60693         doesn't work under Windows.
60694
60695 2008-04-16  Bruno Haible  <bruno@clisp.org>
60696
60697         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
60698         New macros.
60699         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
60700         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
60701         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
60702         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
60703         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
60704         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
60705         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
60706         macros.
60707         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
60708         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
60709         Northern Sotho, Uighur.
60710
60711 2008-04-16  Bruno Haible  <bruno@clisp.org>
60712
60713         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
60714         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
60715         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
60716         Reported by Daniel Bergström <daniel@octocode.com>.
60717
60718 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
60719             Bruno Haible  <bruno@clisp.org>
60720
60721         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
60722         function.
60723         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
60724         New functions, mostly extracted from gl_locale_name_default.
60725         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
60726
60727 2008-04-16  Eric Blake  <ebb9@byu.net>
60728
60729         Adjust strtod detection to catch glibc 2.7 bug.
60730         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
60731         Reported by John Gatewood Ham.
60732
60733 2008-04-16  Bruno Haible  <bruno@clisp.org>
60734
60735         Add tentative support for Linux libc5.
60736         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
60737         * lib/fpurge.c (fpurge): Likewise.
60738         * lib/freadable.c (freadable): Likewise.
60739         * lib/freadahead.c (freadahead): Likewise.
60740         * lib/freading.c (freading): Likewise.
60741         * lib/freadptr.c (freadptr): Likewise.
60742         * lib/freadseek.c (freadptrinc): Likewise.
60743         * lib/fseeko.c (rpl_fseeko): Likewise.
60744         * lib/fseterr.c (fseterr): Likewise.
60745         * lib/fwritable.c (fwritable): Likewise.
60746         * lib/fwriting.c (fwriting): Likewise.
60747         Reported by Alain Guibert <alguibert+bts@free.fr>.
60748
60749 2008-04-15  Bruno Haible  <bruno@clisp.org>
60750
60751         * modules/mathl (configure.ac): Define module indicator.
60752
60753 2008-04-15  Bruno Haible  <bruno@clisp.org>
60754
60755         * lib/logl.c (logl): Remove unused variables.
60756
60757 2008-04-15  Bruno Haible  <bruno@clisp.org>
60758
60759         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
60760         fails.
60761
60762 2008-04-15  Bruno Haible  <bruno@clisp.org>
60763
60764         * lib/trim.c (trim2): Fix argument of isspace() macro.
60765
60766 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
60767
60768         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
60769         to 0.
60770         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
60771
60772 2008-04-14  Bruno Haible  <bruno@clisp.org>
60773
60774         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
60775         AC_LANG_PROGRAM argument.
60776         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
60777         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
60778         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
60779         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
60780         * m4/math_h.m4 (gl_MATH_H): Likewise.
60781         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
60782         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
60783         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
60784         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
60785         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
60786         * m4/regex.m4 (gl_REGEX): Likewise.
60787         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
60788         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
60789         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
60790         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
60791         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60792         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
60793         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60794         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
60795
60796 2008-04-14  Jim Meyering  <meyering@redhat.com>
60797
60798         test-strtod: fix typos: s/abs/fabs/
60799         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
60800
60801 2008-04-13  Bruno Haible  <bruno@clisp.org>
60802
60803         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
60804         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
60805         module is also used and while not building the reloc-wrapper.
60806
60807 2008-04-13  Bruno Haible  <bruno@clisp.org>
60808
60809         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
60810
60811 2008-04-13  Bruno Haible  <bruno@clisp.org>
60812
60813         Fix AIX compilation failure introduced on 2008-04-02.
60814         * tests/test-frexp.c (exp): Undefine before redefining.
60815         * tests/test-frexpl.c (exp): Likewise.
60816
60817 2008-04-13  Bruno Haible  <bruno@clisp.org>
60818
60819         Work around a HP-UX stdio bug.
60820         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
60821         * tests/test-ftello.c (main): Likewise.
60822         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
60823         * doc/posix-functions/ftello.texi: Likewise.
60824
60825 2008-04-13  Bruno Haible  <bruno@clisp.org>
60826
60827         Make test-signbit pass on HP-UX/hppa.
60828         * tests/test-signbit.c (minus_zerol): New variable.
60829         (test_signbitl): Use it.
60830
60831 2008-04-13  Bruno Haible  <bruno@clisp.org>
60832
60833         Make truncl work on OSF/1 4.0.
60834         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
60835         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60836         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60837         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
60838         HAVE_DECL_TRUNCL.
60839         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
60840         HAVE_DECL_TRUNCL.
60841         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
60842
60843 2008-04-13  Bruno Haible  <bruno@clisp.org>
60844
60845         * lib/unictype.h: Remove trailing comma from enumeration definitions.
60846
60847 2008-04-13  Bruno Haible  <bruno@clisp.org>
60848
60849         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
60850         expression, so as to avoid HP-UX 11 cc compiler bug.
60851
60852 2008-04-13  Bruno Haible  <bruno@clisp.org>
60853
60854         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
60855
60856 2008-04-13  Bruno Haible  <bruno@clisp.org>
60857
60858         * lib/git-merge-changelog.c: Remove empty declaration outside of
60859         functions.
60860
60861 2008-04-13  Bruno Haible  <bruno@clisp.org>
60862
60863         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
60864
60865 2008-04-13  Bruno Haible  <bruno@clisp.org>
60866
60867         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
60868         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
60869         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
60870         also if it exists but lacks definitions of the SHUT_* macros.
60871         * modules/sys_socket (Description): Update.
60872         Reported by Elbert Pol <e.pol@chello.nl>.
60873
60874 2008-04-13  Bruno Haible  <bruno@clisp.org>
60875
60876         * lib/localcharset.c (OS2): Don't redefine if already defined.
60877         Reported by Elbert Pol <e.pol@chello.nl>.
60878
60879 2008-04-13  Bruno Haible  <bruno@clisp.org>
60880
60881         * lib/binary-io.h [__EMX__]: Include <io.h>.
60882         Reported by Elbert Pol <e.pol@chello.nl>.
60883
60884 2008-04-12  Bruno Haible  <bruno@clisp.org>
60885
60886         * lib/fpucw.h: Enable the definitions also for x86_64.
60887         Needed for NetBSD/x86_64.
60888         Reported by Thomas Klausner <tk@giga.or.at>.
60889
60890 2008-04-12  Bruno Haible  <bruno@clisp.org>
60891
60892         * tests/test-strtod.c: Include isnand.h.
60893         (main): Use isnand instead of isnan.
60894         Reported by Jim Meyering.
60895
60896 2008-04-12  Bruno Haible  <bruno@clisp.org>
60897
60898         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
60899         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
60900
60901 2008-04-12  Jim Meyering  <meyering@redhat.com>
60902
60903         * m4/math_h.m4 (gl_MATH_H): Fix typos.
60904
60905 2008-04-12  Bruno Haible  <bruno@clisp.org>
60906
60907         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
60908         Reported by Elbert Pol <e.pol@chello.nl>.
60909
60910 2008-04-12  Eric Blake  <ebb9@byu.net>
60911
60912         Work around Solaris 10 math.h bug.
60913         * m4/math_h.m4 (gl_MATH_H): Check for bug.
60914         (gl_MATH_H_DEFAULTS): Set up default.
60915         * modules/math (Makefile.am): Replace new indicators.
60916         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
60917         * tests/test-math.c (main): Test this.
60918         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
60919         * doc/posix-headers/math.texi (math.h): Mention bug.
60920         Reported by Nelson H. F. Beebe and Jim Meyering.
60921
60922 2008-04-11  Bruno Haible  <bruno@clisp.org>
60923
60924         Adapt to future versions of Apple GCC.
60925         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
60926         Reported by Peter O'Gorman <peter@pogma.com>.
60927
60928 2008-04-11  Bruno Haible  <bruno@clisp.org>
60929
60930         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
60931
60932 2008-04-11  Bruno Haible  <bruno@clisp.org>
60933
60934         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
60935
60936         * modules/getaddrinfo-tests (Makefile.am): Define
60937         test_getaddrinfo_LDADD.
60938
60939 2008-04-11  Bruno Haible  <bruno@clisp.org>
60940
60941         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
60942         (init): Fix syntax error.
60943         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
60944         is declared.
60945
60946 2008-04-11  Bruno Haible  <bruno@clisp.org>
60947
60948         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
60949         * modules/glob (Depends-on): Add stdbool.
60950
60951 2008-04-11  Bruno Haible  <bruno@clisp.org>
60952
60953         * lib/trim.c: Include <string.h>.
60954
60955 2008-04-11  Eric Blake  <ebb9@byu.net>
60956
60957         Avoid compile failure on OS/2.
60958         * lib/regex_internal.h (internal_function): Disable optimization
60959         on OS/2 (__EMX__), where it caused compiler error.
60960         Reported by Elbert Pol.
60961
60962 2008-04-11  Bruno Haible  <bruno@clisp.org>
60963
60964         Flush the standard error stream before aborting. Needed on mingw.
60965         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
60966         * tests/test-array_list.c (ASSERT): Likewise.
60967         * tests/test-array_oset.c (ASSERT): Likewise.
60968         * tests/test-avltree_list.c (ASSERT): Likewise.
60969         * tests/test-avltree_oset.c (ASSERT): Likewise.
60970         * tests/test-avltreehash_list.c (ASSERT): Likewise.
60971         * tests/test-binary-io.c (ASSERT): Likewise.
60972         * tests/test-byteswap.c (ASSERT): Likewise.
60973         * tests/test-c-ctype.c (ASSERT): Likewise.
60974         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
60975         * tests/test-c-strcasestr.c (ASSERT): Likewise.
60976         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
60977         * tests/test-c-strstr.c (ASSERT): Likewise.
60978         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
60979         * tests/test-canonicalize.c (ASSERT): Likewise.
60980         * tests/test-carray_list.c (ASSERT): Likewise.
60981         * tests/test-ceilf1.c (ASSERT): Likewise.
60982         * tests/test-ceilf2.c (ASSERT): Likewise.
60983         * tests/test-ceill.c (ASSERT): Likewise.
60984         * tests/test-count-one-bits.c (ASSERT): Likewise.
60985         * tests/test-fbufmode.c (ASSERT): Likewise.
60986         * tests/test-fflush2.c (ASSERT): Likewise.
60987         * tests/test-floorf1.c (ASSERT): Likewise.
60988         * tests/test-floorf2.c (ASSERT): Likewise.
60989         * tests/test-floorl.c (ASSERT): Likewise.
60990         * tests/test-fopen.c (ASSERT): Likewise.
60991         * tests/test-fpending.c (ASSERT): Likewise.
60992         * tests/test-fprintf-posix.c (ASSERT): Likewise.
60993         * tests/test-fpurge.c (ASSERT): Likewise.
60994         * tests/test-freadable.c (ASSERT): Likewise.
60995         * tests/test-freadahead.c (ASSERT): Likewise.
60996         * tests/test-freading.c (ASSERT): Likewise.
60997         * tests/test-freadptr.c (ASSERT): Likewise.
60998         * tests/test-freadptr2.c (ASSERT): Likewise.
60999         * tests/test-freadseek.c (ASSERT): Likewise.
61000         * tests/test-freopen.c (ASSERT): Likewise.
61001         * tests/test-frexp.c (ASSERT): Likewise.
61002         * tests/test-frexpl.c (ASSERT): Likewise.
61003         * tests/test-fseek.c (ASSERT): Likewise.
61004         * tests/test-fseeko.c (ASSERT): Likewise.
61005         * tests/test-fstrcmp.c (ASSERT): Likewise.
61006         * tests/test-ftell.c (ASSERT): Likewise.
61007         * tests/test-ftello.c (ASSERT): Likewise.
61008         * tests/test-func.c (ASSERT): Likewise.
61009         * tests/test-fwritable.c (ASSERT): Likewise.
61010         * tests/test-fwriting.c (ASSERT): Likewise.
61011         * tests/test-getdelim.c (ASSERT): Likewise.
61012         * tests/test-getline.c (ASSERT): Likewise.
61013         * tests/test-i-ring.c (ASSERT): Likewise.
61014         * tests/test-iconv-utf.c (ASSERT): Likewise.
61015         * tests/test-iconv.c (ASSERT): Likewise.
61016         * tests/test-isfinite.c (ASSERT): Likewise.
61017         * tests/test-isnand.c (ASSERT): Likewise.
61018         * tests/test-isnanf.c (ASSERT): Likewise.
61019         * tests/test-isnanl.h (ASSERT): Likewise.
61020         * tests/test-ldexpl.c (ASSERT): Likewise.
61021         * tests/test-linked_list.c (ASSERT): Likewise.
61022         * tests/test-linkedhash_list.c (ASSERT): Likewise.
61023         * tests/test-localename.c (ASSERT): Likewise.
61024         * tests/test-lseek.c (ASSERT): Likewise.
61025         * tests/test-mbscasecmp.c (ASSERT): Likewise.
61026         * tests/test-mbscasestr1.c (ASSERT): Likewise.
61027         * tests/test-mbscasestr2.c (ASSERT): Likewise.
61028         * tests/test-mbscasestr3.c (ASSERT): Likewise.
61029         * tests/test-mbscasestr4.c (ASSERT): Likewise.
61030         * tests/test-mbschr.c (ASSERT): Likewise.
61031         * tests/test-mbscspn.c (ASSERT): Likewise.
61032         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
61033         * tests/test-mbspbrk.c (ASSERT): Likewise.
61034         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
61035         * tests/test-mbsrchr.c (ASSERT): Likewise.
61036         * tests/test-mbsspn.c (ASSERT): Likewise.
61037         * tests/test-mbsstr1.c (ASSERT): Likewise.
61038         * tests/test-mbsstr2.c (ASSERT): Likewise.
61039         * tests/test-mbsstr3.c (ASSERT): Likewise.
61040         * tests/test-memchr2.c (ASSERT): Likewise.
61041         * tests/test-memmem.c (ASSERT): Likewise.
61042         * tests/test-open.c (ASSERT): Likewise.
61043         * tests/test-printf-frexp.c (ASSERT): Likewise.
61044         * tests/test-printf-frexpl.c (ASSERT): Likewise.
61045         * tests/test-printf-posix.c (ASSERT): Likewise.
61046         * tests/test-quotearg.c (ASSERT): Likewise.
61047         * tests/test-rbtree_list.c (ASSERT): Likewise.
61048         * tests/test-rbtree_oset.c (ASSERT): Likewise.
61049         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
61050         * tests/test-round1.c (ASSERT): Likewise.
61051         * tests/test-roundf1.c (ASSERT): Likewise.
61052         * tests/test-roundl.c (ASSERT): Likewise.
61053         * tests/test-signbit.c (ASSERT): Likewise.
61054         * tests/test-sleep.c (ASSERT): Likewise.
61055         * tests/test-snprintf-posix.c (ASSERT): Likewise.
61056         * tests/test-snprintf.c (ASSERT): Likewise.
61057         * tests/test-sprintf-posix.c (ASSERT): Likewise.
61058         * tests/test-stat-time.c (ASSERT): Likewise.
61059         * tests/test-strcasestr.c (ASSERT): Likewise.
61060         * tests/test-strerror.c (ASSERT): Likewise.
61061         * tests/test-striconv.c (ASSERT): Likewise.
61062         * tests/test-striconveh.c (ASSERT): Likewise.
61063         * tests/test-striconveha.c (ASSERT): Likewise.
61064         * tests/test-strsignal.c (ASSERT): Likewise.
61065         * tests/test-strstr.c (ASSERT): Likewise.
61066         * tests/test-strtod.c (ASSERT): Likewise.
61067         * tests/test-trunc1.c (ASSERT): Likewise.
61068         * tests/test-trunc2.c (ASSERT): Likewise.
61069         * tests/test-truncf1.c (ASSERT): Likewise.
61070         * tests/test-truncf2.c (ASSERT): Likewise.
61071         * tests/test-truncl.c (ASSERT): Likewise.
61072         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
61073         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
61074         * tests/test-vasnprintf.c (ASSERT): Likewise.
61075         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
61076         * tests/test-vasprintf.c (ASSERT): Likewise.
61077         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
61078         * tests/test-vprintf-posix.c (ASSERT): Likewise.
61079         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
61080         * tests/test-vsnprintf.c (ASSERT): Likewise.
61081         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
61082         * tests/test-wcwidth.c (ASSERT): Likewise.
61083         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
61084         * tests/test-xprintf-posix.c (ASSERT): Likewise.
61085         * tests/test-xvasprintf.c (ASSERT): Likewise.
61086         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
61087         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
61088         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
61089         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
61090         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
61091         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
61092         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
61093         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
61094         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
61095         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
61096         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
61097         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
61098         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
61099         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
61100         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
61101         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
61102         * tests/unictype/test-block_list.c (ASSERT): Likewise.
61103         * tests/unictype/test-block_of.c (ASSERT): Likewise.
61104         * tests/unictype/test-block_test.c (ASSERT): Likewise.
61105         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
61106         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
61107         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
61108         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
61109         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
61110         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
61111         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
61112         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
61113         * tests/unictype/test-combining.c (ASSERT): Likewise.
61114         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
61115         * tests/unictype/test-digit.c (ASSERT): Likewise.
61116         * tests/unictype/test-mirror.c (ASSERT): Likewise.
61117         * tests/unictype/test-numeric.c (ASSERT): Likewise.
61118         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
61119         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
61120         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
61121         * tests/unictype/test-scripts.c (ASSERT): Likewise.
61122         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
61123         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
61124         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
61125         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
61126         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
61127         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
61128         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
61129         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
61130         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
61131         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
61132         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
61133         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
61134         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
61135         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
61136         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
61137         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
61138         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
61139         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
61140         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
61141         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
61142         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
61143         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
61144         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
61145         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
61146         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
61147         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
61148         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
61149         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
61150         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
61151         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
61152         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
61153         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
61154         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
61155         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
61156         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
61157         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
61158         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
61159         Reported by Eric Blake.
61160
61161 2008-04-11  Bruno Haible  <bruno@clisp.org>
61162
61163         * lib/wchar.in.h: Tweak comment.
61164
61165 2008-04-11  Bruno Haible  <bruno@clisp.org>
61166
61167         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
61168         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
61169         gl_COMMON.
61170         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
61171
61172 2008-04-11  Bruno Haible  <bruno@clisp.org>
61173
61174         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
61175
61176 2008-04-11  Simon Josefsson  <simon@josefsson.org>
61177
61178         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
61179         of attempting to use non-existing /dev/*random.  Based on patch
61180         from Adam Strzelecki <ono@java.pl> in
61181         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
61182
61183 2008-04-08  Bruno Haible  <bruno@clisp.org>
61184
61185         Add tentative support for emx+gcc.
61186         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
61187         * lib/fpurge.c (fpurge): Likewise.
61188         * lib/freadable.c (freadable): Likewise.
61189         * lib/freadahead.c (freadahead): Likewise.
61190         * lib/freading.c (freading): Likewise.
61191         * lib/freadptr.c (freadptr): Likewise.
61192         * lib/freadseek.c (freadptrinc): Likewise.
61193         * lib/fseeko.c (rpl_fseeko): Likewise.
61194         * lib/fseterr.c (fseterr): Likewise.
61195         * lib/fwritable.c (fwritable): Likewise.
61196         * lib/fwriting.c (fwriting): Likewise.
61197         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
61198
61199 2008-04-09  Eric Blake  <ebb9@byu.net>
61200
61201         Avoid some autoconf warnings.
61202         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
61203         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
61204         * m4/afs.m4 (gl_AFS): Likewise.
61205         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
61206         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
61207         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
61208         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
61209         (gl_INTEGER_TYPE_SUFFIX): Likewise.
61210         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
61211         (AC_CHECK_DECLS_ONCE): Likewise.
61212         Rename file...
61213         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
61214         gnulib-tool requires autoconf 2.59 or better.
61215         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
61216
61217 2008-04-08  Eric Blake  <ebb9@byu.net>
61218
61219         Use 'git describe --match' if present (added in git 1.5.5).
61220         * build-aux/git-version-gen: Limit result to tags that match 'v*'
61221         if possible.
61222
61223 2008-04-08  Bruno Haible  <bruno@clisp.org>
61224
61225         Add tentative support for OpenServer.
61226         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
61227         _ptr, _cnt.
61228         * lib/fpurge.c (fpurge): Likewise.
61229         * lib/freadable.c (freadable): Likewise.
61230         * lib/freadahead.c (freadahead): Likewise.
61231         * lib/freading.c (freading): Likewise.
61232         * lib/freadptr.c (freadptr): Likewise.
61233         * lib/freadseek.c (freadptrinc): Likewise.
61234         * lib/fseeko.c (rpl_fseeko): Likewise.
61235         * lib/fseterr.c (fseterr): Likewise.
61236         * lib/fwritable.c (fwritable): Likewise.
61237         * lib/fwriting.c (fwriting): Likewise.
61238         Reported by Roger Cornelius <rac@tenzing.org> and
61239         Brian K. White <brian@aljex.com>.
61240
61241 2008-04-06  Jim Meyering  <meyering@redhat.com>
61242
61243         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
61244
61245 2008-04-06  Bruno Haible  <bruno@clisp.org>
61246
61247         Avoid possible error with non-ASCII bytes in UTF-8 locales.
61248         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
61249         * tests/test-printf-posix.sh: Likewise.
61250         * tests/test-vfprintf-posix.sh: Likewise.
61251         * tests/test-vprintf-posix.sh: Likewise.
61252         * tests/test-xprintf-posix.sh: Likewise.
61253
61254 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61255
61256         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
61257         hide error from 'ls', needed on OS/2.
61258         Report by Elbert Pol <elbert.pol@gmail.com>.
61259
61260 2008-04-04  Eric Blake  <ebb9@byu.net>
61261
61262         Make test-fseeko.c failures meaningful.
61263         * tests/test-fseeko.c: Print line number on failure.
61264         * tests/test-fseek.c: Likewise.
61265         Reported by Nelson H. F. Beebe.
61266
61267         Improve strtod bug detection check.
61268         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
61269         required for Solaris 10.
61270         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
61271
61272 2008-04-04  Bruno Haible  <bruno@clisp.org>
61273
61274         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
61275         by m4/setenv.m4.
61276
61277 2008-04-03  Eric Blake  <ebb9@byu.net>
61278
61279         Ensure sane .version contents.
61280         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
61281         version string.
61282         * build-aux/git-version-gen: Improve documentation.
61283
61284         Make GNU make output nicer.
61285         * top/GNUmakefile [!_have-Makefile]: Add dependency on
61286         MAKECMDGOALS to enforce message for all command line targets.  Set
61287         srcdir for use in maint.mk.
61288
61289         Another maintainer tweak.
61290         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
61291         a target that regenerates version.
61292
61293 2008-04-03  Jim Meyering  <meyering@redhat.com>
61294
61295         vc-list-files: don't cause coreutils "make po-check" failure
61296         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
61297
61298 2008-04-03  Eric Blake  <ebb9@byu.net>
61299
61300         Allow VPATH usage of vc-list-files.
61301         * build-aux/vc-list-files (scriptversion): Add timestamp.
61302         (options): Add --help, --version, -C.
61303         (CVS): Support installed cvsu.
61304
61305 2008-04-02  Bruno Haible  <bruno@clisp.org>
61306
61307         Avoid some "statement with no effect" warnings from gcc.
61308         * tests/test-wctype.c (main): Explicitly ignore unused values.
61309         Reported by Jim Meyering.
61310
61311 2008-04-02  Jim Meyering  <meyering@redhat.com>
61312
61313         Avoid some warnings from "gcc -Wshadow".
61314         * tests/test-frexp.c (exp): Define to a different identifier.
61315         * tests/test-frexpl.c (exp): Likewise.
61316
61317 2008-04-03  Jim Meyering  <meyering@redhat.com>
61318
61319         bootstrap: remove dangling *.[ch] symlinks from lib
61320         * build-aux/bootstrap [dangling symlink removal]: Move find's
61321         -depth option to precede all others, to avoid a warning.
61322         Remove *.[ch] files too, and from "$source_base" (usually lib/).
61323
61324 2008-04-02  Bruno Haible  <bruno@clisp.org>
61325
61326         Avoid some warnings from "gcc -Wshadow".
61327         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
61328         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
61329         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
61330         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
61331         Reported by Jim Meyering.
61332
61333 2008-04-01  Bruno Haible  <bruno@clisp.org>
61334
61335         Fix test to work on IRIX 6.5 with cc.
61336         * tests/test-math.c (numeric_equal): New function.
61337         (main): Use it.
61338
61339 2008-04-01  Bruno Haible  <bruno@clisp.org>
61340
61341         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
61342
61343 2008-04-01  Bruno Haible  <bruno@clisp.org>
61344
61345         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
61346         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61347         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
61348         (Depends-on): Remove math.
61349
61350         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
61351         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61352         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
61353         (Depends-on): Remove math.
61354
61355         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
61356         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61357         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
61358         (Depends-on): Remove math.
61359         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
61360         (Depends-on): Remove math.
61361
61362         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
61363         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61364         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
61365         (Depends-on): Remove math.
61366         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
61367         (Depends-on): Remove math.
61368
61369         * tests/test-round1.c: Include nan.h.
61370         (main): Use NaNd instead of NAN.
61371         * modules/round-tests (Files): Add tests/nan.h.
61372
61373         * tests/test-trunc1.c: Include nan.h.
61374         (main): Use NaNd instead of NAN.
61375         * modules/trunc-tests (Files): Add tests/nan.h.
61376
61377         * tests/test-roundf1.c: Include nan.h.
61378         (main): Use NaNf instead of NAN.
61379         * modules/roundf-tests (Files): Add tests/nan.h.
61380
61381         * tests/test-truncf1.c: Include nan.h.
61382         (main): Use NaNf instead of NAN.
61383         * modules/truncf-tests (Files): Add tests/nan.h.
61384
61385         * tests/test-ceilf1.c: Include nan.h.
61386         (main): Use NaNf instead of NAN.
61387         * modules/ceilf-tests (Files): Add tests/nan.h.
61388
61389         * tests/test-floorf1.c: Include nan.h.
61390         (main): Use NaNf instead of NAN.
61391         * modules/floorf-tests (Files): Add tests/nan.h.
61392
61393         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
61394         (main): Use NaNf instead of NAN.
61395         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
61396
61397         * tests/test-isnand.c: Include nan.h instead of <math.h>.
61398         (main): Use NaNd instead of NAN.
61399         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
61400
61401         * tests/test-frexp.c: Include nan.h.
61402         (main): Use NaNd instead of NAN.
61403         * modules/frexp-tests (Files): Add tests/nan.h.
61404
61405         * lib/isnan.c: Don't include <math.h>.
61406         (FUNC): Don't use NAN macro.
61407         * modules/isnand-nolibm (Depends-on): Remove math.
61408         * modules/isnanf-nolibm (Depends-on): Remove math.
61409         * modules/isnanl (Depends-on): Remove math.
61410         * modules/isnanl-nolibm (Depends-on): Remove math.
61411
61412         * tests/nan.h: New file.
61413
61414 2008-04-01  Eric Blake  <ebb9@byu.net>
61415
61416         Fix typos.
61417         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
61418         values to be the right type.
61419
61420         For now, cater to gnulib strtod inaccuracies.
61421         * tests/test-strtod.c (main): Allow 1-ulp error on expected
61422         fractional results.  While not as nice from a QoI perspective, it
61423         is a quicker patch than correctly implementing decimal to binary
61424         rounding.
61425
61426 2008-03-31  Eric Blake  <ebb9@byu.net>
61427
61428         Guarantee a definition of NAN.
61429         * lib/math.in.h (NAN): Define if missing.
61430         * tests/test-math.c (main): Test it.
61431         * doc/posix-headers/math.texi (math.h): Document this.
61432         * lib/isnan.c (rpl_isnand): Use it.
61433         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
61434         * tests/test-floorf1.c (NaN): Likewise.
61435         * tests/test-frexp.c (NaN): Likewise.
61436         * tests/test-isnand.c (NaN): Likewise.
61437         * tests/test-isnanf.c (NaN): Likewise.
61438         * tests/test-round1.c (NaN): Likewise.
61439         * tests/test-roundf1.c (NaN): Likewise.
61440         * tests/test-snprintf-posix.h (NaN): Likewise.
61441         * tests/test-sprintf-posix.h (NaN): Likewise.
61442         * tests/test-trunc1.c (NaN): Likewise.
61443         * tests/test-truncf1.c (NaN): Likewise.
61444         * tests/test-vasnprintf-posix.c (NaN): Likewise.
61445         * tests/test-vasprintf-posix.c (NaN): Likewise.
61446         * modules/isnand-nolibm (Depends-on): Add math.
61447         * modules/isnanf-nolibm (Depends-on): Likewise.
61448         * modules/isnanl (Depends-on): Likewise.
61449         * modules/isnanl-nolibm (Depends-on): Likewise.
61450         * modules/snprintf-posix-tests (Depends-on): Likewise.
61451         * modules/sprintf-posix-tests (Depends-on): Likewise.
61452         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
61453         * modules/vsprintf-posix-tests (Depends-on): Likewise.
61454         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
61455         * modules/vasprintf-posix-tests (Depends-on): Likewise.
61456
61457 2008-03-31  Bruno Haible  <bruno@clisp.org>
61458
61459         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
61460         * doc/posix-functions/strtod.texi: Likewise.
61461
61462 2008-03-31  Bruno Haible  <bruno@clisp.org>
61463
61464         * tests/test-strtod.c (main): Don't use C99 syntax.
61465
61466 2008-03-31  Bruno Haible  <bruno@clisp.org>
61467
61468         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
61469         Reported by Eric Blake.
61470
61471 2008-03-31  Jim Meyering  <meyering@redhat.com>
61472
61473         Don't compare actual signbit return values.
61474         * tests/test-strtod.c (main): Rather, compare only their
61475         zero/non-zero nature.
61476
61477 2008-03-31  Eric Blake  <ebb9@byu.net>
61478
61479         More strtod documentation.
61480         * doc/posix-functions/strtod.texi (strtod): Interpret more test
61481         failures as distinct bugs.
61482
61483 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
61484
61485         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
61486         Problem reported by Erik Benada in
61487         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
61488
61489 2008-03-30  Bruno Haible  <bruno@clisp.org>
61490
61491         * tests/test-strtod.c: Add comments about which assertion fails on which
61492         platform.
61493         * doc/posix-functions/strtod.texi: Add info about many more platforms.
61494
61495 2008-03-30  Eric Blake  <ebb9@byu.net>
61496
61497         Test signbit behavior on zeros.
61498         * tests/test-signbit.c (test_signbitf): Add tests for zero.
61499         (test_signbitd, test_signbitl): Likewise.
61500
61501         More strtod touchups.
61502         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
61503         sign of negative underflow, for now.  Use .5, not .1.
61504         * doc/posix-functions/strtod.texi (strtod): Mention these
61505         limitations.
61506         Reported by Jim Meyering.
61507
61508 2008-03-30  Bruno Haible  <bruno@clisp.org>
61509
61510         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
61511         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
61512
61513 2008-03-30  Bruno Haible  <bruno@clisp.org>
61514
61515         Avoid failure when attempting to return empty iconv results on some
61516         platforms.
61517         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
61518         allocation, don't report ENOMEM when the resulting string is empty.
61519
61520 2008-03-30  Bruno Haible  <bruno@clisp.org>
61521
61522         Fix buffer overrun.
61523         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
61524         Don't consider the width for tmp_length. Check count against tmp_length
61525         before doing the padding. Ensure enough allocation during padding.
61526
61527 2008-03-30  Eric Blake  <ebb9@byu.net>
61528
61529         strtod touchups.
61530         * lib/strtod.c (strtod): Avoid compiler warnings.
61531         Reported by Jim Meyering.
61532
61533 2008-03-30  Bruno Haible  <bruno@clisp.org>
61534
61535         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
61536         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
61537         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
61538         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
61539         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
61540         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
61541         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
61542         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
61543
61544         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
61545         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
61546         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
61547         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
61548         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
61549         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
61550         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
61551         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
61552
61553         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
61554         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
61555         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
61556         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
61557         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
61558         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
61559         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
61560         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
61561
61562         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
61563         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
61564
61565         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
61566         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
61567
61568         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
61569         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
61570
61571         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
61572         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
61573         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
61574
61575         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
61576         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
61577         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
61578
61579         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
61580         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
61581         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
61582
61583         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
61584         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
61585         * modules/vasprintf (Depends-on): Add EOVERFLOW.
61586
61587         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
61588         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
61589         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
61590         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
61591         (Depends-on): Add EOVERFLOW.
61592         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
61593         (Depends-on): Add EOVERFLOW.
61594         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61595         (Depends-on): Add EOVERFLOW.
61596         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61597         (Depends-on): Add EOVERFLOW.
61598         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61599         (Depends-on): Add EOVERFLOW.
61600         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61601         (Depends-on): Add EOVERFLOW.
61602         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61603         (Depends-on): Add EOVERFLOW.
61604         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61605         (Depends-on): Add EOVERFLOW.
61606
61607         * lib/sprintf.c (EOVERFLOW): Remove fallback.
61608         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
61609         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
61610
61611         * lib/snprintf.c (EOVERFLOW): Remove fallback.
61612         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
61613         * modules/snprintf (Depends-on): Add EOVERFLOW.
61614
61615         * lib/poll.c (EOVERFLOW): Remove fallback.
61616         * modules/poll (Depends-on): Add EOVERFLOW.
61617
61618         * lib/getugroups.c (EOVERFLOW): Remove fallback.
61619         * modules/getugroups (Depends-on): Add EOVERFLOW.
61620
61621         * lib/getdelim.c (EOVERFLOW): Remove fallback.
61622         * modules/getdelim (Depends-on): Add EOVERFLOW.
61623
61624         * lib/ftell.c (EOVERFLOW): Remove fallback.
61625         * modules/ftell (Depends-on): Add EOVERFLOW.
61626
61627         * lib/fprintf.c (EOVERFLOW): Remove fallback.
61628         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
61629         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
61630
61631         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
61632
61633         * modules/EOVERFLOW-tests: New file.
61634         * tests/test-EOVERFLOW.c: New file.
61635
61636         * modules/EOVERFLOW: New file.
61637         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
61638
61639 2008-03-30  Bruno Haible  <bruno@clisp.org>
61640
61641         Fix bug introduced on 2007-06-10.
61642         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
61643         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
61644
61645 2008-03-30  Bruno Haible  <bruno@clisp.org>
61646
61647         Improve freadseek's efficiency after ungetc.
61648         * lib/freadseek.c: Include freadahead.h.
61649         (freadptrinc): New function, extracted from freadseek.
61650         (freadseek): Use it in a loop. Use freadahead to determine the number
61651         of loop iterations.
61652         * modules/freadseek (Depends-on): Add freadahead.
61653         (configure.ac): Require AC_C_INLINE.
61654
61655 2008-03-30  Bruno Haible  <bruno@clisp.org>
61656
61657         * lib/freadseek.c (freadseek): Don't ignore the return value of
61658         freadptr.
61659
61660 2008-03-29  Eric Blake  <ebb9@byu.net>
61661
61662         Add hex float support.
61663         * modules/strtod (Depends-on): Add c-ctype.
61664         (Link): Mention POW_LIB.
61665         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
61666         whitespace between 'e' and exponent.
61667         * tests/test-strtod.c (main): Enable hex float tests.
61668         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
61669         now provides.
61670
61671         Document various strtod bugs, with some fixes.
61672         * doc/posix-functions/strtod.texi (strtod): Document bugs with
61673         "-0x", "inf", "nan", and hex constants.
61674         * doc/posix-functions/atof.texi (atof): Likewise.
61675         * modules/stdlib (Makefile.am): Support strtod.
61676         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
61677         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
61678         detect additional strtod bugs.
61679         * lib/stdlib.in.h (rpl_strtod): Add declarations.
61680         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
61681         bool where appropriate.  Parse 'inf' and 'nan'.
61682         * tests/test-strtod.c: New file.
61683         * modules/strtod (Depends-on): Add stdbool, stdlib.
61684         (configure.ac): Turn on module indicator.
61685         * modules/strtod-tests: New module.
61686
61687 2008-03-29  Eric Blake  <ebb9@byu.net>
61688
61689         Fix ftell on mingw.
61690         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
61691         * modules/ftell-tests (Depends-on): Add binary-io.
61692         * modules/ftello-tests (Depends-on): Likewise.
61693         * tests/test-ftell.c (main): Enhance test to cover behavior after
61694         ungetc.  Enforce binary mode.
61695         * tests/test-ftello.c (main): Likewise.
61696
61697         Pass test-freadseek on cygwin.
61698         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
61699         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
61700         ungetc buffer.
61701
61702         * tests/test-fflush2.c (main): Fix typo.
61703
61704 2008-03-29  Bruno Haible  <bruno@clisp.org>
61705
61706         * tests/test-fflush2.c (main): Temporarily disable the contents of
61707         this test.
61708         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
61709         Reported by Eric Blake.
61710
61711 2008-03-28  Simon Josefsson  <simon@josefsson.org>
61712
61713         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
61714         (GC_SHA224_DIGEST_SIZE): Add.
61715
61716         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
61717         (gc_hash_digest_length): Likewise.
61718         (gc_hash_buffer): Likewise.
61719
61720 2008-03-25  Bruno Haible  <bruno@clisp.org>
61721
61722         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
61723         detail which gettext release to use.
61724         Reported by Simon Josefsson.
61725
61726 2008-03-26  Jim Meyering  <meyering@redhat.com>
61727
61728         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
61729         * modules/gnumakefile (clean-GNUmakefile): Also, use
61730         test ... && ... || : syntax rather than if-then ... fi.
61731
61732         gnumakefile: Don't double-quote-expand $(VPATH) value.
61733         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
61734
61735 2008-03-24  Eric Blake  <ebb9@byu.net>
61736
61737         Alter GNUmakefile to install into top directory.
61738         * modules/maintainer-makefile: Split, and add dependency...
61739         * modules/gnumakefile: to this new module.
61740         * build-aux/GNUmakefile: Move...
61741         * top/GNUmakefile: ...here.
61742         * build-aux/maint.mk: Move...
61743         * top/maint.mk: ...here.
61744         * MODULES.html.sh (Support for maintaining...): Document new
61745         module.
61746
61747 2008-03-23  Bruno Haible  <bruno@clisp.org>
61748
61749         * gnulib-tool: New options --vc-files, --no-vc-files.
61750         (func_usage): Document them.
61751         (vc_files): New variable.
61752         (func_import): Consider vc_files.
61753         (func_create_testdir): Set vc_files to empty.
61754         Suggested by Jim Meyering and Karl Berry.
61755
61756 2008-03-23  Bruno Haible  <bruno@clisp.org>
61757
61758         Fix regex compilation error on HP-UX 11.
61759         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
61760         * modules/regex (Files): Add m4/mbstate_t.m4.
61761         Reported by Ton Voon <ton.voon@altinity.com>.
61762
61763 2008-03-23  Bruno Haible  <bruno@clisp.org>
61764
61765         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
61766
61767 2008-03-23  Eric Blake  <ebb9@byu.net>
61768             Bruno Haible  <bruno@clisp.org>
61769
61770         Install files from top/ in the destination directory.
61771         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
61772         augmentation also for the files from top/.
61773         (func_import, func_create_testdir): Rewrite file names:
61774         top/filename -> filename.
61775
61776 2008-03-23  Bruno Haible  <bruno@clisp.org>
61777
61778         Tweak "gnulib --version" output.
61779         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
61780
61781 2008-03-23  Bruno Haible  <bruno@clisp.org>
61782
61783         Tweak "gnulib --version" output.
61784         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
61785         rather than contents of ChangeLog, when possible.
61786
61787 2008-03-21  Eric Blake  <ebb9@byu.net>
61788
61789         More --version tweaks.
61790         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
61791         date of last ChangeLog entry.
61792
61793 2008-03-21  Jim Meyering  <meyering@redhat.com>
61794
61795         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
61796
61797 2008-03-20  Eric Blake  <ebb9@byu.net>
61798
61799         VPATH fix.
61800         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
61801
61802 2008-03-20  Simon Josefsson  <simon@josefsson.org>
61803
61804         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
61805         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
61806
61807 2008-03-20  Eric Blake  <ebb9@byu.net>
61808
61809         Sync GNUmakefile with coreutils.
61810         * build-aux/GNUmakefile (have-Makefile): Rename...
61811         (_have-Makefile): ...to this, for namespace consideration.
61812         (GNUmakefile.cfg): Include, if present.
61813         (_autoreconf): Define a default.
61814         (_is-dist-target): New rule for rebuilds to pick up intra-release
61815         version.
61816         (maint-cfg.mk): Rename...
61817         (cfg.mk): ...to this.
61818
61819 2008-03-18  Jim Meyering  <meyering@redhat.com>
61820
61821         New script and module: mktempd
61822         * MODULES.html.sh (maint+release support): Add mktempd.
61823         * build-aux/mktempd: New file.
61824         * modules/mktempd: New file.
61825
61826 2008-03-15  Jim Meyering  <meyering@redhat.com>
61827
61828         Undo last change.
61829         * lib/sha1.c, lib/md5.c: 63 != ~63.
61830         Reported by Andreas Schwab.
61831
61832         sha1.c, md5.c: Hoist a redundant expression.
61833         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
61834         "ctx->buflen" only once, before calling *_process_block.
61835         * lib/md5.c (md5_process_bytes): Likewise.
61836
61837 2008-03-14  Eric Blake  <ebb9@byu.net>
61838
61839         Bump copyright year in files generated by gnulib-tool.
61840         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
61841         gnulib-tool, rather than hard-coding it.
61842
61843         Fix 'gnulib-tool --version' output to work with git.
61844         * gnulib-tool (func_gnulib_dir): New function, extracted from...
61845         (startup): ...here.
61846         (func_version): Use it to invoke git-version-gen, rather than
61847         relying on CVS keyword expansion.  Modernize wording.
61848         (cvsdatestamp, last_checkin_date, version): Kill unused
61849         variables.
61850
61851 2008-03-12  Jim Meyering  <meyering@redhat.com>
61852
61853         Recognize optional cast of the argument to free.
61854         * build-aux/useless-if-before-free: Update regexps.
61855
61856         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
61857
61858 2008-03-11  Bruno Haible  <bruno@clisp.org>
61859
61860         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
61861         by a single package.
61862         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
61863         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
61864         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
61865         Reported by Sam Steingold <sds@gnu.org>.
61866
61867 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61868
61869         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
61870         repositories.
61871
61872 2008-03-11  Bruno Haible  <bruno@clisp.org>
61873
61874         Avoid conflicts between local macro definitions.
61875         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
61876         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
61877
61878 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
61879             Bruno Haible  <bruno@clisp.org>
61880
61881         Make va_copy work with some version of xlc on AIX 5.1.
61882         * lib/stdarg.in.h: New file.
61883         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
61884         On AIX, use a <stdarg.h> file substitute.
61885         * modules/stdarg (Files): Add lib/stdarg.in.h.
61886         (Depends-on): Add include_next.
61887         (Makefile.am): Build a stdarg.h substitute if requested.
61888         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
61889
61890 2008-03-10  Bruno Haible  <bruno@clisp.org>
61891
61892         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
61893         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
61894         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61895
61896 2008-03-10  Bruno Haible  <bruno@clisp.org>
61897
61898         * modules/stdlib (Depends-on): Add include_next, remove
61899         absolute-header.
61900
61901 2008-03-09  Bruno Haible  <bruno@clisp.org>
61902
61903         * lib/freadahead.h (freadahead): Document more precisely.
61904         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
61905         the sum of both buffer sizes.
61906         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
61907         * NEWS: Document the change.
61908
61909 2008-03-09  Bruno Haible  <bruno@clisp.org>
61910
61911         Extend freadptr to return also the buffer size.
61912         * lib/freadptr.h (freadptr): Add sizep argument.
61913         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
61914         (freadptr): Add sizep argument. Determine buffer size like freadahead
61915         does.
61916         * tests/test-freadptr.c: Don't include freadahead.h.
61917         (main): Adapt for new calling convention of freadptr.
61918         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
61919         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
61920         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
61921         tests/test-freadptr2.sh.
61922         (Depends): Remove freadahead.
61923         (TESTS): Add test-freadptr2.sh.
61924         (check_PROGRAMS): Add test-freadptr2.
61925
61926 2008-03-09  Bruno Haible  <bruno@clisp.org>
61927
61928         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
61929         Report and solution by Simon Josefsson.
61930
61931 2008-03-06  Bruno Haible  <bruno@clisp.org>
61932
61933         Make fflush after ungetc work on BSD platforms.
61934         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
61935         * tests/test-fflush2.c: New file.
61936         * tests/test-fflush2.sh: New file.
61937         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
61938         tests/test-fflush2.c.
61939         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
61940         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
61941
61942 2008-03-06  Eric Blake  <ebb9@byu.net>
61943
61944         Likewise for ftello.
61945         * modules/ftello (Dependencies): Add extensions.
61946         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
61947
61948 2008-03-06  Bruno Haible  <bruno@clisp.org>
61949
61950         * modules/fseeko (Dependencies): Add extensions.
61951         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
61952         Needed on glibc systems.
61953
61954 2008-03-06  Bruno Haible  <bruno@clisp.org>
61955
61956         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
61957         email address.
61958         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61959
61960 2008-03-06  Bruno Haible  <bruno@clisp.org>
61961
61962         * users.txt: Add libgnupdf.
61963
61964 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
61965
61966         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
61967         (Header File Substitutes, Function Substitutes,
61968         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
61969         (Build robot for gnulib): Fix typo.
61970
61971 2008-03-06  Bruno Haible  <bruno@clisp.org>
61972
61973         * doc/gnulib-tool.texi (VCS Issues): Small updates.
61974         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61975
61976 2008-03-06  Bruno Haible  <bruno@clisp.org>
61977
61978         * doc/func.texi: New file, extracted from doc/gnulib.texi.
61979         * doc/gnulib.texi: Include it.
61980
61981 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61982
61983         * modules/func (License): Change license to unlimited; there was
61984         no LGPL parts in the module anyway.
61985
61986 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61987
61988         * modules/__func__: Renamed to modules/func.
61989         * modules/__func__-tests: Renamed to modules/func-tests.
61990         * tests/test-__func__.c: Renamed to tests/test-func.c.
61991         * m4/__func__.m4: Renamed to m4/func.m4.
61992         * doc/gnulib.texi (__func__): Section renamed to func.
61993         Suggested by Eric Blake <ebb9@byu.net>.
61994
61995 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61996
61997         * doc/gnulib.texi (__func__): Use C99 terminology when talking
61998         about __func__.  Make example self-contained.  Suggested by Eric
61999         Blake <ebb9@byu.net>.
62000
62001         * tests/test-__func__.c (main): Avoid extraneous () around __func.
62002         Suggested by Eric Blake <ebb9@byu.net>.
62003
62004 2008-03-06  Simon Josefsson  <simon@josefsson.org>
62005
62006         * modules/__func__: New file.
62007         * modules/__func__-tests: New file.
62008         * tests/test-__func__.c: New file.
62009         * m4/__func__.m4: New file.
62010         * doc/gnulib.texi (__func__): Document __func__ module.
62011
62012 2008-03-05  Simon Josefsson  <simon@josefsson.org>
62013
62014         * modules/byteswap (License): Re-license as LGPLv2+.
62015
62016 2008-03-05  Simon Josefsson  <simon@josefsson.org>
62017
62018         * doc/Makefile: Add pdf target.
62019
62020 2008-03-05  Simon Josefsson  <simon@josefsson.org>
62021
62022         * modules/inline (License): Use 'unlimited', since there are only
62023         *.m4 files in this module.
62024
62025 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
62026             Bruno Haible  <bruno@clisp.org>
62027
62028         Add support for HP C 7.1 on OpenVMS 8.3.
62029         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
62030
62031 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
62032
62033         Update VMS specifics.
62034         * lib/getopt.c [VMS]: Remove include of unixlib.h.
62035
62036 2008-03-02  Jim Meyering  <meyering@redhat.com>
62037
62038         Remove the last dependency on the "free" module.
62039         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
62040         Reported by Bob Proulx.
62041
62042         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
62043
62044         Remove useless "if" tests before free.  Deprecate "free" module.
62045         * doc/posix-functions/free.texi: Mention that this
62046         module is no longer useful.
62047         * modules/free (Notice): Say this module is obsolete.
62048         * modules/readutmp (Depends-on): Remove free.
62049         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
62050         * lib/putenv.c (putenv): Likewise.
62051         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
62052         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
62053         * tests/test-c-strcasestr.c (main): Likewise.
62054         * tests/test-c-strstr.c (main): Likewise.
62055         * tests/test-mbscasestr1.c (main): Likewise.
62056         * tests/test-mbscasestr2.c (main): Likewise.
62057         * tests/test-mbsstr1.c (main): Likewise.
62058         * tests/test-mbsstr2.c (main): Likewise.
62059         * tests/test-memmem.c (main): Likewise.
62060         * tests/test-strcasestr.c (main): Likewise.
62061         * tests/test-striconv.c (main): Likewise.
62062         * tests/test-striconveh.c (main): Likewise.
62063         * tests/test-striconveha.c (main): Likewise.
62064         * tests/test-strstr.c (main): Likewise.
62065
62066         * build-aux/git-version-gen: Adjust a comment and the Usage string.
62067
62068         bootstrap: sync from coreutils again
62069         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
62070
62071 2008-03-01  Jim Meyering  <meyering@redhat.com>
62072
62073         bootstrap: sync from coreutils
62074         * build-aux/bootstrap (update_po_files): Copy a .po file into place
62075         also when the target doesn't exist.
62076
62077 2008-03-01  Eric Blake  <ebb9@byu.net>
62078
62079         Fix bugs in last patch.
62080         * lib/memchr2.c (memchr2): Fix typo.
62081         * tests/test-memchr2.c: Test previous bug, and don't use GNU
62082         extension.
62083         Reported by Bruce Korb.
62084
62085         New module 'memchr2'.
62086         * modules/memchr2: New file.
62087         * modules/memchr2-tests: Likewise.
62088         * lib/memchr2.h: Likewise.
62089         * lib/memchr2.c: Likewise, based on memchr.c.
62090         * tests/test-memchr2.c: New test.
62091         * MODULES.html.sh (String handling): Add memchr2.
62092
62093 2008-02-29  Bruno Haible  <bruno@clisp.org>
62094
62095         * modules/freadseek-tests: New file.
62096         * tests/test-freadseek.sh: New file.
62097         * tests/test-freadseek.c: New file.
62098
62099         New module 'freadseek'.
62100         * modules/freadseek: New file.
62101         * lib/freadseek.h: New file.
62102         * lib/freadseek.c: New file.
62103         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
62104
62105 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
62106
62107         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
62108         wydawca.
62109
62110         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
62111         program_invocation_name and program_invocation_short_name are
62112         present.
62113
62114 2008-02-28  Bruno Haible  <bruno@clisp.org>
62115
62116         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
62117         * tests/test-freadptr.sh: Also test non-seekable stdin.
62118
62119 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
62120
62121         * build-aux/bootstrap (source_base, m4_base)
62122         (doc_base, tests_base): New variables.
62123         (gnulib_tool_options): Do not hardcode base directories, use
62124         the above variables instead.
62125
62126 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
62127
62128         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
62129
62130 2008-02-28  Bruno Haible  <bruno@clisp.org>
62131
62132         * modules/freadptr-tests: New file.
62133         * tests/test-freadptr.sh: New file.
62134         * tests/test-freadptr.c: New file.
62135
62136         New module 'freadptr'.
62137         * modules/freadptr: New file.
62138         * lib/freadptr.h: New file.
62139         * lib/freadptr.c: New file.
62140         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
62141
62142 2008-02-26  Karl Berry  <karl@freefriends.org>
62143
62144         Sync from Libtool:
62145         * libltdl/argz.c (argz_add, argz_count): New functions.
62146         * libltdl/argz.in.h: Declare them.
62147         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
62148
62149 2008-02-22  Bruno Haible  <bruno@clisp.org>
62150
62151         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
62152         is a pointer type.  Needed for HP-UX 10.
62153         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
62154         * doc/posix-functions/gmtime_r.texi: Likewise.
62155         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
62156
62157 2008-02-24  Bruno Haible  <bruno@clisp.org>
62158
62159         * modules/environ-tests: New file.
62160         * tests/test-environ.c: New file.
62161
62162         New module 'environ'.
62163         * modules/environ: New file.
62164         * lib/unistd.in.h (environ): New declaration.
62165         * m4/environ.m4: New file.
62166         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
62167         after use.
62168         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
62169         HAVE_DECL_ENVIRON.
62170         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
62171         HAVE_DECL_ENVIRON.
62172         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
62173         wrong claim that 'environ' is missing on some systems.
62174         * modules/execute (Depends-on): Add environ.
62175         * lib/execute.c (environ): Remove fallback declaration.
62176         * modules/pipe (Depends-on): Add environ.
62177         * lib/pipe.c (environ): Remove fallback declaration.
62178         * modules/setenv (Depends-on): Add environ.
62179         * lib/setenv.c (environ): Remove fallback declaration.
62180         * modules/unsetenv (Depends-on): Add environ.
62181         * lib/unsetenv.c (environ): Remove fallback declaration.
62182         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
62183         m4/environ.m4.
62184         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
62185         (gl_PREREQ_UNSETENV): Likewise.
62186
62187 2008-02-24  Bruno Haible  <bruno@clisp.org>
62188
62189         * doc/posix-functions/environ.texi: Document the MacOS X problem.
62190
62191 2008-02-20  Bob Proulx  <bob@proulx.com>
62192
62193         Enable use of older two part flavor 'git describe'.
62194         * build-aux/git-version-gen: If using the older two part flavor of
62195         git version then recreate the third part now present in the
62196         newer three part flavor of git describe.
62197
62198 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
62199
62200         * lib/fts.c (fts_build): Typo correction to comment.
62201
62202 2008-02-17  Bruno Haible  <bruno@clisp.org>
62203
62204         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
62205         generating no-op conflicts.
62206
62207 2008-02-17  Bruno Haible  <bruno@clisp.org>
62208
62209         Speed up by 10%.
62210         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
62211         result_entries, rather than an index-based loop.
62212
62213 2008-02-17  Bruno Haible  <bruno@clisp.org>
62214
62215         Speed up by 25%.
62216         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
62217         'hashcode_cached'.
62218         (entry_create): New function.
62219         (entry_hashcode): Use the cached hashcode if possible.
62220         (read_changelog_file, try_split_merged_entry): Use entry_create.
62221
62222 2008-02-17  Bruno Haible  <bruno@clisp.org>
62223
62224         Speed up from O(n^2) to O(n) for long ChangeLog files.
62225         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
62226         (read_changelog_file): Change implementation of entries_reversed list
62227         to rbtreehash.
62228         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
62229
62230 2008-02-17  Bruno Haible  <bruno@clisp.org>
62231
62232         New option --split-merged-entry.
62233         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
62234         (find_paragraph_end, try_split_merged_entry): New functions.
62235         (long_options): Add option --split-merged-entry.
62236         (usage): Document option --split-merged-entry.
62237         (main): Implement option --split-merged-entry.
62238         Reported by Eric Blake.
62239
62240 2008-02-17  Bruno Haible  <bruno@clisp.org>
62241
62242         * lib/git-merge-changelog.c: Include c-strstr.h.
62243         (main): Support the "git pull --rebase" situation.
62244         * modules/git-merge-changelog (Depends-on): Add c-strstr.
62245         Reported by Eric Blake.
62246
62247 2008-02-16  Eric Blake  <ebb9@byu.net>
62248
62249         Avoid doubling \ in common case of "c-maybe" quoting style.
62250         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
62251         eliding outer quotes.
62252         * lib/quotearg.h: Document this.
62253         * tests/test-quotearg.c (result_strings, inputs, results_g)
62254         (flag_results, locale_results): Test it by adding a new string to
62255         each test group.
62256         (compare_strings): Test new string.
62257
62258 2008-02-13  Eric Blake  <ebb9@byu.net>
62259
62260         Avoid trigraph quoting in default output.
62261         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
62262         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
62263         unless explicitly requested.
62264         * tests/test-quotearg.c (flag_results, main): Add additional tests.
62265
62266 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
62267
62268         Don't rely on signed integer overflowing to negative value.
62269         * lib/getugroups.c (getugroups): Include <limits.h>.
62270         Instead, compare against INT_MAX, and increment only if the test passes.
62271
62272 2008-02-13  Jim Meyering  <meyering@redhat.com>
62273         and Eric Blake  <ebb9@byu.net>
62274
62275         Avoid shadowing warning and compile errors on Linux.
62276         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
62277         forwarding macros on Linux.
62278         (dcgettext): Define a stub, for Linux.
62279         (results_g, main): Avoid warnings.
62280
62281 2008-02-12  Eric Blake  <ebb9@byu.net>
62282
62283         Silence warning in last patch.
62284         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
62285
62286         Quotearg part 4: add tests, fix c-maybe colon quoting.
62287         * lib/quotearg.h: Improve documentation.
62288         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
62289         escapes when adding outer quotes.  When quoting trigraphs, use
62290         valid C notation.  When quoting NUL, omit extra characters if next
62291         character is not digit.  Alter prototype.
62292         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
62293         callers.
62294         * modules/quotearg-tests: New module.
62295         * tests/test-quotearg.c: New test.
62296
62297 2008-02-07  Eric Blake  <ebb9@byu.net>
62298
62299         Quotearg part 3: add flag to control outer quote elision.
62300         * lib/quotearg.h (c_maybe_quoting_style): New style.
62301         (enum quoting_flags): Better documentation of flags.
62302         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
62303         c-maybe style.
62304         (quotearg_buffer_restyled): Handle new flag to elide outer
62305         quotes.
62306
62307         Quotearg part 2: add flag that can control NUL elision.
62308         * lib/quotearg.h (set_quoting_flags): New prototype.
62309         * lib/quotearg.c (struct quoting_options): Add flag field.
62310         (set_quoting_flags): New function.
62311         (quotearg_buffer_restyled): Add flags parameter.
62312         (quotearg_alloc_mem): Set the flag if length cannot be returned.
62313         (quotearg_n_options): Set the flag, since length cannot be
62314         returned.
62315         (quoting_options_from_style): Default flags correctly.
62316
62317         Quotearg part 1: more wrappers, restore quotearg_char state.
62318         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
62319         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
62320         (quotearg_colon_mem): New wrappers.
62321         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
62322         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
62323         functions.
62324         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
62325         (quotearg_colon_mem): New functions.
62326
62327 2008-02-11  Bruno Haible  <bruno@clisp.org>
62328
62329         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
62330         library in the current directory: it does not work with parallel make.
62331         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62332
62333 2008-02-11  Bruno Haible  <bruno@clisp.org>
62334
62335         * .gitattributes: New file.
62336
62337 2008-02-11  Jim Meyering  <meyering@redhat.com>
62338
62339         useless-if-before-free: Fix reversed exit values.
62340         * build-aux/useless-if-before-free: Use correct values
62341         for EXIT_MATCH and EXIT_NO_MATCH.
62342
62343         * build-aux/useless-if-before-free: Close stdout carefully.
62344
62345 2008-02-10  Bruno Haible  <bruno@clisp.org>
62346
62347         New module 'git-merge-changelog'.
62348         * modules/git-merge-changelog: New file.
62349         * lib/git-merge-changelog.c: New file.
62350
62351 2008-02-10  Jim Meyering  <meyering@redhat.com>
62352
62353         useless-if-before-free: New option: --list (-l).
62354
62355         useless-if-before-free: Don't exit immediately upon open failure.
62356         * build-aux/useless-if-before-free: Exit 2 for errors.
62357         Upon failure to open a file, don't exit immediately.
62358         Rather, just warn and continue with any remaining files.
62359
62360 2008-02-10  Bruno Haible  <bruno@clisp.org>
62361
62362         New abstract list operation 'node_set_value'.
62363         * lib/gl_list.h (gl_list_node_set_value): New function.
62364         (struct gl_list_implementation): New field node_set_value.
62365         * lib/gl_list.c (gl_list_node_set_value): New function.
62366         * lib/gl_array_list.c (gl_array_node_set_value): New function.
62367         (gl_array_list_implementation): Update.
62368         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
62369         (gl_carray_list_implementation): Update.
62370         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
62371         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
62372         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
62373         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
62374         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
62375         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
62376         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
62377         Update.
62378         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
62379         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
62380         (gl_sublist_list_implementation): Update.
62381
62382 2008-02-10  Bruno Haible  <bruno@clisp.org>
62383
62384         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
62385         Needed when ELEMENT is #defined to 'some_type *'.
62386
62387 2008-02-10  Jim Meyering  <meyering@redhat.com>
62388
62389         New script and module: useless-if-before-free
62390         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
62391         * build-aux/useless-if-before-free: New file.
62392         * modules/useless-if-before-free: New file.
62393
62394         * build-aux/gitlog-to-changelog: Use committer date, not author date.
62395
62396         xstrtol_error: Fix typo.
62397         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
62398         s/exit_failure/exit_status/.
62399
62400 2008-02-09  Jim Meyering  <meyering@redhat.com>
62401
62402         New script and module: gitlog-to-changelog
62403         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
62404         * modules/gitlog-to-changelog: New file.
62405         * build-aux/gitlog-to-changelog: New file.
62406
62407 2008-02-08  Jim Meyering  <meyering@redhat.com>
62408
62409         Avoid two "parameter unused" warnings.
62410         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
62411         Mark "st" as used.
62412
62413         Use "git COMMAND", not "git-COMMAND".
62414         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
62415         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
62416         * build-aux/git-version-gen: Use "git status", not "git-status".
62417
62418 2008-02-07  Bruno Haible  <bruno@clisp.org>
62419
62420         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
62421         Avoids a crash on Windows Vista.
62422         Reported by Adam Strzelecki <ono@java.pl> via
62423         Simon Josefsson <simon@josefsson.org>.
62424
62425 2008-02-06  Bruno Haible  <bruno@clisp.org>
62426
62427         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
62428         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
62429         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
62430         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
62431         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
62432         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62433         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
62434         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
62435         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62436         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62437         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62438         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62439         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62440         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62441         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62442         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
62443         left-adjust flag.
62444         * tests/test-snprintf-posix.h (test_function): Likewise.
62445         * tests/test-sprintf-posix.h (test_function): Likewise.
62446         * tests/test-vasprintf-posix.c (test_function): Likewise.
62447         * doc/posix-functions/fprintf.texi: Update.
62448         * doc/posix-functions/printf.texi: Update.
62449         * doc/posix-functions/snprintf.texi: Update.
62450         * doc/posix-functions/sprintf.texi: Update.
62451         * doc/posix-functions/vfprintf.texi: Update.
62452         * doc/posix-functions/vprintf.texi: Update.
62453         * doc/posix-functions/vsnprintf.texi: Update.
62454         * doc/posix-functions/vsprintf.texi: Update.
62455         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62456
62457 2008-02-06  Bruno Haible  <bruno@clisp.org>
62458
62459         Fix bug introduced on 2008-01-26.
62460         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
62461
62462 2008-02-06  Bruno Haible  <bruno@clisp.org>
62463
62464         Fix bug introduced on 2007-06-10.
62465         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
62466         !NEED_PRINTF_FLAG_ZERO.
62467
62468 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
62469
62470         getloadavg: use libperfstat on AIX5
62471         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
62472
62473 2008-02-03  Bruno Haible  <bruno@clisp.org>
62474
62475         * lib/diffseq.h: Add comments about required #includes.
62476         Reported by Michael Biggs <gnulib@doubleplum.net>.
62477
62478 2008-02-01  Bruno Haible  <bruno@clisp.org>
62479
62480         * users.txt: Add gnuit.
62481
62482 2008-01-31  Bruno Haible  <bruno@clisp.org>
62483
62484         * lib/md4.c (set_uint32): Mark as inline.
62485         * lib/md5.c (set_uint32): Likewise.
62486         * lib/sha1.c (set_uint32): Likewise.
62487         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
62488         * m4/md5.m4 (gl_MD5): Likewise.
62489         * m4/sha1.m4 (gl_SHA1): Likewise.
62490
62491 2008-01-31  Jim Meyering  <meyering@redhat.com>
62492
62493         Use "sizeof VAR", rather than a literal "4".
62494         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
62495         * lib/md4.c (md4_read_ctx): Likewise.
62496         * lib/sha1.c (sha1_read_ctx): Likewise.
62497
62498 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62499
62500         * tests/test-sha1.c: New file, based on test-md5.c.
62501
62502         * modules/crypto/sha1-tests: New file.
62503
62504 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62505
62506         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
62507
62508 2008-01-31  Jim Meyering  <meyering@redhat.com>
62509
62510         Prefer "sizeof v" over the equivalent "4".
62511         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
62512         * lib/md5.c (set_uint32): Likewise.
62513         * lib/sha1.c (set_uint32): Likewise.
62514
62515 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62516
62517         * lib/sha1.c (set_uint32): Mark function as static.
62518
62519 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62520
62521         md2: clarify comments to say that alignment is not required.
62522         * lib/md2.h: Remove warning about alignment in comment.
62523         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
62524         never been required.
62525
62526 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62527
62528         md4: adapt alignment constraint fix from sha1.
62529         * lib/md4.c (set_uint32): New function, from sha1.c
62530         (md4_read_ctx): Use it.
62531         (md4_finish_ctx): Doc fix.
62532         * lib/md4.h: Doc fix.
62533
62534 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62535
62536         md5: adapt alignment constraint fix from sha1.
62537         * lib/md5.c (set_uint32): New function, from sha1.c
62538         (md5_read_ctx): Use it.
62539         (md5_finish_ctx): Doc fix.
62540         * lib/md5.h: Doc fix.
62541
62542 2008-01-30  Peter Palfrader  <weasel@debian.org>
62543
62544         sha1: remove the result buffer alignment constraint
62545         * lib/sha1.c (set_uint32): New function.
62546         (sha1_read_ctx): Rewrite to remove the result buffer alignment
62547         constraint.
62548         (sha1_finish_ctx): Remove comment warning about alignment constraint.
62549         * lib/sha1.h: Likewise.
62550
62551 2008-01-30  Andreas Schwab  <schwab@suse.de>
62552             Bruno Haible  <bruno@clisp.org>
62553
62554         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
62555         correct definition of LDBL_MIN_EXP.
62556
62557 2008-01-30  Karl Berry  <karl@gnu.org>
62558
62559         * config/srclist-update: try to preserve x bit on updates.
62560         * config/srclistvars.sh: update for karl.
62561
62562 2008-01-29  Jim Meyering  <meyering@redhat.com>
62563
62564         vasnprintf.c: Avoid warning about unused label
62565         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
62566         "overflow" label definition and associated code with the
62567         same cpp condition that guards the sole use of that label.
62568
62569 2008-01-26  Bruno Haible  <bruno@clisp.org>
62570
62571         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
62572         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
62573         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
62574         * lib/isnanl-nolibm.h (isnanl): Likewise.
62575         Reported by Paul Eggert <eggert@cs.ucla.edu>.
62576
62577 2008-01-26  Bruno Haible  <bruno@clisp.org>
62578
62579         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
62580         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
62581
62582 2008-01-26  Bruno Haible  <bruno@clisp.org>
62583
62584         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
62585         GCC >= 4.0 built-in.
62586         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
62587
62588 2008-01-26  Bruno Haible  <bruno@clisp.org>
62589
62590         Rename isnan, applicable to 'double' only, to isnand.
62591         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
62592         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
62593         (configure.ac): Update.
62594         (Include): Replace "isnan.h" with "isnand.h".
62595         * m4/isnand.m4: Renamed from m4/isnan.m4.
62596         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
62597         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
62598         instead of isnan.c.
62599         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
62600         instead of HAVE_ISNAN_IN_LIBC.
62601         (isnand): Renamed from isnan.
62602         * lib/isnand.c: New file.
62603         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
62604         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
62605         (Makefile.am): Update.
62606         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
62607         Include isnand.h instead of isnan.h.
62608         (main): Test isnand instead of isnan.
62609         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
62610         isnan-nolibm.
62611         * modules/frexp (Depends-on): Likewise.
62612         * modules/frexp-tests (Depends-on): Likewise.
62613         * modules/frexp-nolibm (Depends-on): Likewise.
62614         * modules/frexp-nolibm-tests (Depends-on): Likewise.
62615         * modules/isfinite (Depends-on): Likewise.
62616         * modules/round-tests (Depends-on): Likewise.
62617         * modules/signbit (Depends-on): Likewise.
62618         * modules/signbit-tests (Depends-on): Likewise.
62619         * modules/snprintf-posix (Depends-on): Likewise.
62620         * modules/sprintf-posix (Depends-on): Likewise.
62621         * modules/trunc-tests (Depends-on): Likewise.
62622         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
62623         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
62624         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
62625         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
62626         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
62627         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
62628         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
62629         * modules/vasnprintf-posix (Depends-on): Likewise.
62630         * modules/vasprintf-posix (Depends-on): Likewise.
62631         * modules/vfprintf-posix (Depends-on): Likewise.
62632         * modules/vsnprintf-posix (Depends-on): Likewise.
62633         * modules/vsprintf-posix (Depends-on): Likewise.
62634         * lib/frexp.c: Include isnand.h instead of isnan.h.
62635         (ISNAN): Set to isnand instead of isnan.
62636         * lib/isfinite.c: Include isnand.h instead of isnan.h.
62637         (gl_isfinited): Use isnand instead of isnan.
62638         * lib/signbitd.c: Include isnand.h instead of isnan.h.
62639         (gl_signbitd): Use isnand instead of isnan.
62640         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
62641         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
62642         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
62643         (main): Use isnand instead of isnan.
62644         * tests/test-round1.c: Include isnand.h.
62645         (main): Use isnand instead of isnan.
62646         * tests/test-round2.c: Include isnand.h instead of isnan.h.
62647         (ISNAN): Set to isnand instead of isnan.
62648         * tests/test-trunc1.c: Include isnand.h.
62649         (main): Use isnand instead of isnan.
62650         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
62651         (equal): Use isnand instead of isnan.
62652         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
62653         isnand-nolibm.
62654         * NEWS: Mention the change.
62655
62656 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
62657             Bruno Haible  <bruno@clisp.org>
62658
62659         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
62660         the GCC builtins for signbits are present and set
62661         REPLACE_SIGNBIT_USING_GCC if so.
62662         * lib/math.in.h (signbit): Define using GCC builtins if
62663         REPLACE_SIGNBIT_USING_GCC is set.
62664         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
62665         REPLACE_SIGNBIT_USING_GCC.
62666         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
62667
62668 2008-01-25  Jim Meyering  <meyering@redhat.com>
62669
62670         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
62671         * lib/poll.c: Include <config.h>, not "config.h".
62672         * tests/test-getaddrinfo.c: Likewise.
62673
62674 2008-01-25  Simon Josefsson  <simon@josefsson.org>
62675
62676         * modules/sockets-tests: New file.
62677
62678 2008-01-24  Simon Josefsson  <simon@josefsson.org>
62679
62680         * modules/sockets: New module, can be used to call WSA_Startup and
62681         WSA_Cleanup when needed.
62682
62683         * lib/sockets.h, lib/sockets.c: New files.
62684
62685         * m4/sockets.m4: New file.
62686
62687         * tests/test-sockets.c: New file.
62688
62689 2008-01-19  Bruno Haible  <bruno@clisp.org>
62690
62691         * doc/posix-headers: Renamed from doc/headers.
62692         * doc/posix-functions: Renamed from doc/functions.
62693         * doc/gnulib.texi: Update.
62694
62695 2008-01-19  Bruno Haible  <bruno@clisp.org>
62696
62697         * doc/glibc-functions/strcasestr.texi: Include contents of
62698         doc/functions/strcasestr.texi, fixing the list of platforms.
62699         * doc/functions/strcasestr.texi: Remove file.
62700
62701 2008-01-19  Bruno Haible  <bruno@clisp.org>
62702
62703         * doc/glibc-functions/memmem.texi: Include contents of
62704         doc/functions/memmem.texi.
62705         * doc/functions/memmem.texi: Remove file.
62706
62707 2008-01-18  Bruno Haible  <bruno@clisp.org>
62708
62709         * doc/glibc-functions/*.texi: New files.
62710         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
62711         to use the new files.
62712
62713 2008-01-17  Bruno Haible  <bruno@clisp.org>
62714
62715         * tests/test-gethostname.c (main): Fix printf statement.
62716
62717 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62718
62719         * modules/gethostname-tests: New file.
62720
62721         * tests/test-gethostname.c: New file.
62722
62723 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62724
62725         * lib/gethostname.c: Include string.h unconditionally, strncpy is
62726         used by the UNAME case.  Reported by Bruno Haible
62727         <bruno@clisp.org>.
62728
62729 2008-01-17  Eric Blake  <ebb9@byu.net>
62730
62731         Convert c-strcasestr to be more efficient.
62732         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
62733         (Depends-on): Add c-strcase, remove malloca, strnlen.
62734         * tests/test-c-strcasestr.c (main): Enhance test.
62735         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
62736
62737 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
62738
62739         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
62740         Use it in creating po/Makevars.
62741
62742 2008-01-15  Simon Josefsson  <simon@josefsson.org>
62743
62744         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
62745         Applications that requires it should initialize libgcrypt
62746         manually.
62747
62748 2008-01-16  Simon Josefsson  <simon@josefsson.org>
62749
62750         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
62751
62752 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
62753
62754         Fix problem with getdate on mingw32 reported by Simon Josefsson
62755         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
62756         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
62757         tzname", when deciding whether to declare tzname.
62758         * lib/strftime.c (tzname): Likewise.
62759
62760 2008-01-15  Bruno Haible  <bruno@clisp.org>
62761
62762         Work around a MacOS X 10.5 bug in frexpl().
62763         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
62764         * doc/functions/frexpl.texi: Document the bug.
62765         Reported by Elias Pipping <pipping@gentoo.org>.
62766
62767 2008-01-14  Eric Blake  <ebb9@byu.net>
62768
62769         Touch up previous patch.
62770         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
62771         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
62772
62773         Convert strcasestr module to use Two-Way algorithm.
62774         * modules/strcasestr-simple: New module, based on the old
62775         strcasestr, but with Two-Way rather than KMP.
62776         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
62777         * lib/string.in.h (rpl_strcasestr): Declare.
62778         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
62779         performance.
62780         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
62781         * modules/string (Makefile.am): Support strcasestr.
62782         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
62783         * modules/strcasestr-tests (Depends-on): Check for alarm.
62784         * tests/test-strcasestr.c: Augment test.
62785         * lib/str-two-way.h: Clean up stray macro.
62786         * NEWS: Document new module.
62787         * MODULES.html.sh (string handling): Likewise.
62788         * doc/functions/strcasestr.texi: New file.
62789         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
62790         here, since it is not a POSIX function.
62791
62792 2008-01-14  Colin Watson  <cjwatson@debian.org>
62793             Bruno Haible  <bruno@clisp.org>
62794
62795         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
62796         works fine; if not, set REPLACE_STRSIGNAL.
62797         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
62798         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62799         REPLACE_STRSIGNAL.
62800         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
62801         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
62802         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
62803
62804 2008-01-14  Bruno Haible  <bruno@clisp.org>
62805
62806         * modules/strsignal (Include): Change to <string.h>.
62807
62808 2008-01-14  Colin Watson  <cjwatson@debian.org>
62809
62810         * modules/argp (Notice): Add a notice recommending to change
62811         XGETTEXT_OPTIONS.
62812         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
62813
62814 2008-01-13  Colin Watson  <cjwatson@debian.org>
62815
62816         * modules/strsignal-tests: New file.
62817         * tests/test-strsignal.c: New file.
62818
62819         * lib/strsignal.c: New file, from glibc with modifications.
62820         * lib/siglist.h: New file, from glibc with modifications.
62821         * lib/string.in.h (strsignal): New declaration.
62822         * m4/strsignal.m4: New file.
62823         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62824         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
62825         * modules/strsignal: New file.
62826         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
62827         HAVE_DECL_STRSIGNAL.
62828
62829 2008-01-13  Bruno Haible  <bruno@clisp.org>
62830
62831         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
62832         locale encoding is not ASCII. Needed for OpenBSD 4.0.
62833         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
62834         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62835
62836 2008-01-13  Bruno Haible  <bruno@clisp.org>
62837
62838         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
62839         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
62840         * lib/argp.h (__attribute__): Likewise.
62841         * lib/c-stack.c (__attribute__): Likewise.
62842         * lib/error.h (__attribute__): Likewise.
62843         * lib/fts.c (__attribute__): Likewise.
62844         * lib/openat.h (__attribute__): Likewise.
62845         * lib/stdio.in.h (__attribute__): Likewise.
62846         * lib/string.in.h (__attribute__): Likewise.
62847         * lib/utimens.c (__attribute__): Likewise.
62848         * lib/vasnprintf.h (__attribute__): Likewise.
62849         * lib/xalloc.h (__attribute__): Likewise.
62850         * lib/xprintf.h (__attribute__): Likewise.
62851         * lib/xstrtol.h (__attribute__): Likewise.
62852         * lib/xvasprintf.h (__attribute__): Likewise.
62853
62854 2008-01-12  Bruno Haible  <bruno@clisp.org>
62855
62856         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
62857         * doc/glibc-headers/a.out.texi: New file.
62858         * doc/glibc-headers/aliases.texi: New file.
62859         * doc/glibc-headers/alloca.texi: New file.
62860         * doc/glibc-headers/ar.texi: New file.
62861         * doc/glibc-headers/argp.texi: New file.
62862         * doc/glibc-headers/argz.texi: New file.
62863         * doc/glibc-headers/byteswap.texi: New file.
62864         * doc/glibc-headers/crypt.texi: New file.
62865         * doc/glibc-headers/endian.texi: New file.
62866         * doc/glibc-headers/envz.texi: New file.
62867         * doc/glibc-headers/err.texi: New file.
62868         * doc/glibc-headers/error.texi: New file.
62869         * doc/glibc-headers/execinfo.texi: New file.
62870         * doc/glibc-headers/fpu_control.texi: New file.
62871         * doc/glibc-headers/fstab.texi: New file.
62872         * doc/glibc-headers/fts.texi: New file.
62873         * doc/glibc-headers/getopt.texi: New file.
62874         * doc/glibc-headers/ieee754.texi: New file.
62875         * doc/glibc-headers/ifaddrs.texi: New file.
62876         * doc/glibc-headers/libintl.texi: New file.
62877         * doc/glibc-headers/mcheck.texi: New file.
62878         * doc/glibc-headers/mntent.texi: New file.
62879         * doc/glibc-headers/obstack.texi: New file.
62880         * doc/glibc-headers/paths.texi: New file.
62881         * doc/glibc-headers/printf.texi: New file.
62882         * doc/glibc-headers/pty.texi: New file.
62883         * doc/glibc-headers/resolv.texi: New file.
62884         * doc/glibc-headers/shadow.texi: New file.
62885         * doc/glibc-headers/sysexits.texi: New file.
62886         * doc/glibc-headers/ttyent.texi: New file.
62887
62888 2008-01-12  Jim Meyering  <meyering@redhat.com>
62889
62890         announce-gen: emit Gnulib's git-based version string.
62891         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
62892         New option --gnulib-version=V, where V is expected to be
62893         the output of running git describe in the gnulib directory.
62894         (get_tool_versions): Request feedback on xdelta.  I suspect it's
62895         not useful, and plan to stop publishing an xdelta file with each
62896         coreutils release.
62897
62898         * build-aux/announce-gen: Also check for lzma-compressed files.
62899
62900 2008-01-11  Bruno Haible  <bruno@clisp.org>
62901
62902         * tests/test-memmem.c (main): Increase maximum allowed time.
62903         * tests/test-strstr.c (main): Likewise.
62904
62905 2008-01-11  Bruno Haible  <bruno@clisp.org>
62906
62907         * doc/functions/memmem.texi: Add more precisions about platforms.
62908         * doc/functions/strstr.texi: Likewise.
62909
62910 2008-01-10  Eric Blake  <ebb9@byu.net>
62911
62912         * m4/strstr.m4: Delete cruft from copy-n-paste.
62913         Reported by Bruno Haible.
62914
62915 2008-01-10  Bruno Haible  <bruno@clisp.org>
62916
62917         Make c-strstr rely on strstr.
62918         * lib/c-strstr.c: Don't include str-kmp.h.
62919         (c_strstr): Define in terms of strstr.
62920         * modules/c-strstr (Files): Remove lib/str-kmp.h.
62921         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
62922
62923 2008-01-10  Bruno Haible  <bruno@clisp.org>
62924
62925         * doc/gnulib.texi (String Functions in C Locale): New section.
62926         * doc/c-ctype.texi: New file.
62927         * doc/c-strcase.texi: New file.
62928         * doc/c-strcaseeq.texi: New file.
62929         * doc/c-strcasestr.texi: New file.
62930         * doc/c-strstr.texi: New file.
62931         * doc/c-strtod.texi: New file.
62932         * doc/c-strtold.texi: New file.
62933
62934 2008-01-10  Eric Blake  <ebb9@byu.net>
62935
62936         * lib/relocatable.h: Fix a comment.
62937
62938 2008-01-10  Eric Blake  <ebb9@byu.net>
62939
62940         Share two-way algorithm.
62941         * lib/str-two-way.h: New file, merged from...
62942         * lib/memmem.c: ...here...
62943         * lib/strstr.c: ...and here.
62944         * modules/memmem (Files): Use it.
62945         * modules/strstr (Files): Likewise.
62946
62947         Avoid quadratic strstr implementations.
62948         * lib/strstr.c: New file.
62949         * m4/strstr.m4: Likewise.
62950         * modules/strstr: Likewise.
62951         * modules/strstr-tests: Likewise.
62952         * tests/test-strstr.c: Likewise.
62953         * lib/string.in.h (rpl_strstr): Declare.
62954         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
62955         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
62956         * modules/string (Makefile.am): Likewise.
62957         * MODULES.html.sh (string handling): Mention new module.
62958         * doc/functions/strstr.texi (strstr): Document the bug.
62959
62960 2008-01-10  Bruno Haible  <bruno@clisp.org>
62961
62962         * lib/relocatable.h (relocate): State whether result is freshly
62963         allocated or not.
62964         * lib/relocatable.c (relocate): Return a freshly allocated string
62965         instead of a pointer to a privately held string.
62966         Reported by Sylvain Beucler <beuc@gnu.org>.
62967
62968 2008-01-10  Colin Watson  <cjwatson@debian.org>
62969
62970         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
62971         s/S_ISNLK/S_ISLNK/.
62972
62973 2008-01-09  Bruno Haible  <bruno@clisp.org>
62974
62975         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
62976         and other files.
62977         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
62978         if it's only a guess.
62979         * modules/memmem: Simplify by depending on memmem-simple.
62980
62981 2008-01-09  Bruno Haible  <bruno@clisp.org>
62982
62983         Work around OpenBSD 4.0 tdelete() bug.
62984         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
62985         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
62986         macros and don't redefine the enum values.
62987         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
62988         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
62989         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
62990
62991 2008-01-09  Bruno Haible  <bruno@clisp.org>
62992
62993         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
62994         (main): Don't perform the tests if setlocale did not install a UTF-8
62995         locale. Needed on OpenBSD 4.0.
62996         * modules/wcwidth-tests (Depends-on): Add localcharset.
62997
62998 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62999
63000         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
63001         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
63002         * NEWS: announce this.
63003         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
63004
63005 2008-01-09  Simon Josefsson  <simon@josefsson.org>
63006         and Eric Blake  <ebb9@byu.net>
63007
63008         Add memmem-simple module.
63009         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
63010         (gl_FUNC_MEMMEM): Separate performance from presence checks.
63011         * modules/memmem-simple: New file.
63012         * modules/memmem (Description): Tweak.
63013         * MODULES.html.sh (string handling): Mention new module.
63014         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
63015         addressed by memmem-simple.
63016         * NEWS: Document the difference.
63017
63018 2008-01-09  Eric Blake  <ebb9@byu.net>
63019
63020         Give gcc some memmem optimization hints.
63021         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
63022         (strcasestr): Declare as pure.
63023         * modules/memmem (Maintainer): Claim my implementation.
63024
63025 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63026
63027         Support AIX 6.1 and higher.
63028         * build-aux/config.libpath: Likewise.
63029         * build-aux/config.rpath: Likewise.
63030
63031 2008-01-08  Jim Meyering  <meyering@redhat.com>
63032             Bruno Haible  <bruno@clisp.org>
63033
63034         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
63035         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
63036         Reported by Peter Fales in
63037         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
63038
63039 2008-01-08  Bruno Haible  <bruno@clisp.org>
63040
63041         * modules/unictype/category-of (Depends-on): Add
63042         unictype/category-none.
63043         * modules/unictype/category-and-tests (Depends-on): Add
63044         unictype/category-{L,N,Lu,Nd}.
63045         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
63046         * modules/unictype/category-or-tests (Depends-on): Add
63047         unictype/category-{L,N}.
63048         * modules/unictype/category-name-tests (Depends-on): Add
63049         unictype/category-{Z,Nl}.
63050         Reported by Simon Josefsson.
63051
63052 2008-01-08  Bruno Haible  <bruno@clisp.org>
63053
63054         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
63055         convention better.
63056         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
63057         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
63058         Reported by Peter Miller <millerp@canb.auug.org.au>.
63059
63060 2008-01-08  Eric Blake  <ebb9@byu.net>
63061
63062         Rewrite memmem to guarantee linear complexity without malloc.
63063         * lib/memmem.c (memmem): Use Two-Way rather than
63064         Knuth-Morris-Pratt, to allow O(1) space usage.
63065         (critical_factorization, two_way_short_needle)
63066         (two_way_long_needle): New functions.
63067         (knuth_morris_pratt): Delete.
63068         * modules/memmem (Depends-on): No longer need malloca or stdbool.
63069         Add stdint.
63070         * tests/test-memmem.c (main): Add tests for periodic needle and
63071         sublinear performance.
63072         * doc/functions/memmem.texi (memmem): Document other deficiencies
63073         in cygwin and older glibc.
63074
63075 2008-01-08  Bruno Haible  <bruno@clisp.org>
63076
63077         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
63078         augmentation.
63079
63080 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
63081
63082         Add a configure time option: --disable-acl.
63083         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
63084         AC_ARG_ENABLE(acl).
63085
63086 2008-01-06  Simon Josefsson  <simon@josefsson.org>
63087
63088         * tests/test-localename.c: Don't include obsolete "setenv.h".
63089
63090         * modules/localename-tests (Depends-on): Need unsetenv.
63091
63092 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63093
63094         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
63095
63096 2008-01-06  Colin Watson  <cjwatson@debian.org>
63097
63098         * users.txt: Add man-db.
63099
63100 2008-01-07  Bruno Haible  <bruno@clisp.org>
63101
63102         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
63103         previous section name.
63104
63105 2008-01-07  Bruno Haible  <bruno@clisp.org>
63106
63107         * lib/progname.c (set_program_name): Don't strip off a leading
63108         "lt-" prefix outside a .libs directory.
63109         Suggested by Paul Eggert.
63110
63111 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
63112             Bruno Haible  <bruno@clisp.org>
63113
63114         Improve memory cleanup in 'relocatable' module.
63115         * lib/relocatable.h (compute_curr_prefix): Change return type to
63116         'char *'.
63117         * lib/relocatable.c (compute_curr_prefix): Change return type to
63118         'char *'. Free curr_installdir after use.
63119         (relocate): Free curr_prefix_better after use.
63120         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
63121
63122 2008-01-01  Bruno Haible  <bruno@clisp.org>
63123
63124         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
63125         failure on older glibc systems.
63126         Reported by Peter Fales <psfales@alcatel-lucent.com>.
63127
63128 2008-01-05  Eric Blake  <ebb9@byu.net>
63129
63130         Avoid quadratic system memmem.
63131         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
63132         Reported by Ralf Wildenhues.
63133
63134         Fix memmem test for mingw.
63135         * modules/memmem-tests (configure.ac): Check for alarm.
63136         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
63137         it.
63138         * doc/functions/memmem.texi: New file.
63139         * doc/gnulib.texi (Function Substitutes): Add memmem.
63140         Reported by Bruno Haible.
63141
63142 2008-01-04  Bruno Haible  <bruno@clisp.org>
63143
63144         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
63145         Require gl_HEADER_STRINGS_H_DEFAULTS, not
63146         gl_HEADER_STRING_H_DEFAULTS.
63147
63148 2008-01-04  Eric Blake  <ebb9@byu.net>
63149
63150         Shorten duration of memmem test.
63151         * tests/test-memmem.c (main): Use alarm to declare failure if test
63152         is taking too long.
63153         Reported by Ralf Wildenhues.
63154
63155 2007-12-21  Simon Josefsson  <simon@josefsson.org>
63156
63157         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
63158         string, needed by strerror.
63159
63160 2008-01-03  Colin Watson  <cjwatson@debian.org>
63161             Bruno Haible  <bruno@clisp.org>
63162
63163         * doc/gnulib-tool.texi (Localization): New section.
63164
63165 2008-01-02  Bruno Haible  <bruno@clisp.org>
63166
63167         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
63168         variables to 'unsigned char *' type.
63169         Reported by Paul Eggert.
63170
63171 2008-01-02  Jim Meyering  <jim@meyering.net>
63172
63173         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
63174
63175 2007-12-31  Jim Meyering  <jim@meyering.net>
63176
63177         Avoid use of private FTS type name.
63178         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
63179
63180 2007-12-30  Karl Berry  <karl@gnu.org>
63181
63182         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
63183         work around defect in Texinfo and/or the standalone Info browser.
63184
63185 2007-12-30  Bruno Haible  <bruno@clisp.org>
63186
63187         Unify 5 copies of the KMP code.
63188         * lib/str-kmp.h: New file.
63189         * lib/c-strcasestr.c: Include str-kmp.h.
63190         (knuth_morris_pratt): Remove function.
63191         (c_strcasestr): Update.
63192         * lib/c-strstr.c: Include str-kmp.h.
63193         (knuth_morris_pratt): Remove function.
63194         (c_strcasestr): Update.
63195         * lib/mbscasestr.c: Include str-kmp.h.
63196         (knuth_morris_pratt_unibyte): Remove function.
63197         * lib/mbsstr.c: Include str-kmp.h.
63198         (knuth_morris_pratt_unibyte): Remove function.
63199         * lib/strcasestr.c: Include str-kmp.h.
63200         (knuth_morris_pratt): Remove function.
63201         (strcasestr): Update.
63202         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
63203         * modules/c-strstr (Files): Likewise.
63204         * modules/mbscasestr (Files): Likewise.
63205         * modules/mbsstr (Files): Likewise.
63206         * modules/strcasestr (Files): Likewise.
63207         Suggested by Paul Eggert.
63208
63209 2007-12-30  Bruno Haible  <bruno@clisp.org>
63210
63211         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
63212         defined.
63213
63214 2007-12-30  Bruno Haible  <bruno@clisp.org>
63215
63216         * lib/xmalloca.h: Include xalloc.h.
63217         (xnmalloca): New macro.
63218
63219 2007-12-30  Bruno Haible  <bruno@clisp.org>
63220
63221         * lib/malloca.h (nmalloca): New macro.
63222         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
63223         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
63224         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
63225         knuth_morris_pratt_multibyte): Likewise.
63226         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
63227         knuth_morris_pratt_multibyte): Likewise.
63228         * lib/memmem.c (knuth_morris_pratt): Likewise.
63229         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
63230
63231 2007-12-25  Bruno Haible  <bruno@clisp.org>
63232
63233         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
63234         * lib/glob.c: Don't include openat.h.
63235         (link_exists2_p): Add back the code that deals with the
63236         !GLOB_ALTDIRFUNC case.
63237         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
63238         let it do the filename concatenation.
63239         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
63240         * modules/glob (Depends-on): Remove openat.
63241
63242 2007-12-31  Bruno Haible  <bruno@clisp.org>
63243
63244         * modules/dirfd (License): Change to LGPLv2+.
63245         Approved by Jim Meyering.
63246
63247 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
63248
63249         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
63250         when multiplying M by sizeof (size_t).
63251
63252 2007-12-10  Martin Lambers  <marlam@marlam.de>
63253
63254         Override getpagesize on mingw.
63255         * lib/getpagesize.c: New file.
63256         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
63257         * modules/getpagesize (Files): Add lib/getpagesize.c.
63258         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
63259         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63260         REPLACE_GETPAGESIZE.
63261         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
63262
63263 2007-12-25  Bruno Haible  <bruno@clisp.org>
63264
63265         * modules/localcharset (Notice): New field.
63266         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
63267         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
63268
63269 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
63270             Bruno Haible  <bruno@clisp.org>
63271
63272         Avoid using the syntax symbol() in formatted documentation.
63273         * MODULES.html.sh (func_module): When replacing symbol() with a
63274         hyperlink, remove the parentheses. Show an error if some remain.
63275         Recognize and render the '...' syntax.
63276         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
63277         Rework. Add paragraph about GCC's inlining.
63278         * doc/alloca.texi: Likewise.
63279         * doc/error.texi: Remove parentheses from symbol reference.
63280         * doc/gnulib-intro.texi: Likewise.
63281         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
63282         * modules/fnmatch (Description): Reword to say "the ... function".
63283         * modules/full-read (Description): Likewise.
63284         * modules/full-write (Description): Likewise.
63285         * modules/safe-read (Description): Likewise.
63286         * modules/safe-write (Description): Likewise.
63287         * modules/strchrnul (Description): Likewise.
63288         * modules/trim (Description): Likewise.
63289         * modules/error (Description): Remove parentheses from symbol
63290         references.
63291         * modules/verror (Description): Likewise.
63292         Reported by Karl Berry.
63293
63294 2007-12-25  Bruno Haible  <bruno@clisp.org>
63295
63296         Fixup after 2007-10-16 commit.
63297         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
63298
63299 2007-12-24  Bruno Haible  <bruno@clisp.org>
63300
63301         Make --enable-relocatable work with DESTDIR.
63302         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
63303         to compute installdir from destprog.
63304         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
63305         also set the RELOC_DESTDIR variable.
63306         Reported by Левашев Иван <octagram@bluebottle.com>.
63307
63308 2007-12-24  Bruno Haible  <bruno@clisp.org>
63309
63310         Fix link error due to xalloc_die().
63311         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
63312         of xreadlink.
63313         * lib/relocwrapper.c: Update comments.
63314         * build-aux/install-reloc: Remove xreadlink.c from file list.
63315         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
63316         xreadlink.c.
63317         Reported by Левашев Иван <octagram@bluebottle.com>.
63318
63319 2007-12-24  Bruno Haible  <bruno@clisp.org>
63320
63321         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
63322         * lib/setenv.h: Remove file.
63323         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
63324         lib/setenv.h.
63325         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
63326         (Depends-on): Add stdlib.
63327         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
63328         gl_FUNC_UNSETENV.
63329         (Include): Replace setenv.h with <stdlib.h>.
63330         * modules/unsetenv: New file.
63331         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
63332         * lib/unsetenv.c: Include <stdlib.h> first.
63333         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
63334         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
63335         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
63336         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
63337         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
63338         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
63339         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
63340         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
63341         * doc/functions/unsetenv.texi: Update.
63342         * modules/xsetenv (Depends-on): Add unsetenv.
63343         * modules/getdate (Depends-on): Likewise.
63344         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
63345         * lib/xsetenv.c: Don't include setenv.h.
63346         * lib/getdate.y: Likewise.
63347         * lib/relocwrapper.c: Likewise.
63348         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
63349         (Depends-on): Add stdlib.
63350         * NEWS: Mention the changes.
63351         Reported by Левашев Иван <octagram@bluebottle.com>.
63352
63353 2007-12-23  Bruno Haible  <bruno@clisp.org>
63354
63355         * lib/memmem.c (memmem): Use lowercase variable names. Tab
63356         indentation.
63357
63358 2007-12-23  Bruno Haible  <bruno@clisp.org>
63359
63360         * lib/c-strcasestr.c: Add more comments.
63361         * lib/c-strstr.c: Likewise.
63362         * lib/mbscasestr.c: Likewise.
63363         * lib/mbsstr.c: Likewise.
63364         * lib/strcasestr.c: Likewise.
63365         * lib/memmem.c: Likewise.
63366
63367 2007-12-23  Bruno Haible  <bruno@clisp.org>
63368
63369         * tests/test-memmem.c: Include <string.h> first.
63370
63371 2007-12-22  Bruno Haible  <bruno@clisp.org>
63372
63373         * gnulib-tool (func_create_testdir): Change $auxdir while generating
63374         the contents of $testsbase.
63375         Reported by Ralf Wildenhues.
63376
63377 2007-12-22  Bruno Haible  <bruno@clisp.org>
63378
63379         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
63380         two variables local_ldadd_before, local_ldadd_last.
63381
63382 2007-12-20  Eric Blake  <ebb9@byu.net>
63383
63384         Work around circular library issue when cross-compiling.
63385         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
63386         that progname.o does not need to pull in rpl_memcmp.
63387
63388 2007-12-19  Eric Blake  <ebb9@byu.net>
63389
63390         Fix memmem to avoid O(n^2) worst-case complexity.
63391         * lib/memmem.c (knuth_morris_pratt): New function.
63392         (memmem): Use it if first few naive iterations fail.
63393         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
63394         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
63395         * modules/memchr (License): Likewise.
63396         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
63397         malloca.
63398         * tests/test-memmem.c: Rewrite, borrowing ideas from
63399         test-mbsstr1.c; the old version wouldn't even compile!
63400         * modules/memmem-tests: New file.
63401         * lib/string.in.h (rpl_memmem): Add declaration.
63402         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
63403         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
63404         REPLACE_MEMMEM.
63405
63406 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
63407
63408         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
63409         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
63410         before any system include files, and undef after them all.  This
63411         should fix a problem on VMS reported by John E. Malmberg in
63412         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
63413
63414 2007-12-17  Eric Blake  <ebb9@byu.net>
63415
63416         Revert addition of verify, for BSD/OS.
63417         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
63418         can't handle large files, for the sake of obsolete platforms.
63419         * modules/fseeko (Depends-on): Remove verify.
63420         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
63421         * doc/functions/ftello.texi (ftello): Likewise.
63422         * doc/functions/fgetpos.texi (fgetpos): Likewise.
63423         Reported by Larry Jones.
63424
63425 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
63426
63427         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
63428         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
63429
63430 2007-12-17  Jim Meyering  <meyering@redhat.com>
63431
63432         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
63433         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
63434         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
63435         * modules/getcwd (Depends-on): Add openat.
63436         Reported by Petr Salinger.
63437
63438 2007-12-17  Bruno Haible  <bruno@clisp.org>
63439
63440         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
63441         avoid a segmentation fault of the configure test on x86_64 systems.
63442
63443 2007-12-15  Jim Meyering  <meyering@redhat.com>
63444
63445         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
63446
63447 2007-12-13  Eric Blake  <ebb9@byu.net>
63448
63449         Another fseek test.
63450         * tests/test-fseek.c (main): Also test ungetc handling.
63451         * tests/test-fseeko.c (main): Likewise.
63452         * modules/fseeko (Depends-on): Add verify.
63453         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
63454         large.
63455         Reported by Larry Jones.
63456
63457         Fix fseeko on mingw.
63458         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
63459         seek.
63460
63461         Beef up fseek tests.
63462         * tests/test-fseek.c (main): Also test eof handling.
63463         * tests/test-fseeko.c (main): Likewise.
63464         Reported by Larry Jones.
63465
63466 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
63467
63468         Fix fseeko on BSD-based platforms.
63469         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
63470         successful seek.
63471
63472 2007-12-12  Eric Blake  <ebb9@byu.net>
63473
63474         Allow circular dependency of separate libtests.a
63475         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
63476         when use_libtests.
63477
63478 2007-12-11  Eric Blake  <ebb9@byu.net>
63479
63480         Fix bug with -0.0L in previous patch.
63481         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
63482         * tests/test-isnan.c (main): Also test on zeroes.
63483         * tests/test-isnanf.c (main): Likewise.
63484         * tests/test-isnanl.h (main): Likewise.
63485
63486         Detect pseudo-denormals on x86 even when cross-compiling.
63487         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
63488         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
63489         invalid bit patterns that happen to satisfy ==.
63490
63491         Avoid link failures with separate libtests.a.
63492         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
63493         last, to satisfy circular dependencies.
63494
63495 2007-12-11  Eric Blake  <ebb9@byu.net>
63496         and Bruno Haible  <bruno@clisp.org>
63497
63498         Fix OpenBSD 4.0 <float.h> handling of long double.
63499         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
63500         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
63501         * doc/headers/float.texi (float.h): Document OpenBSD bug.
63502
63503 2007-12-11  Jim Meyering  <meyering@redhat.com>
63504
63505         * users.txt: Add libvirt.
63506
63507         Support versions of autoconf prior to 2.59c.
63508         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
63509         if it is not already defined.
63510
63511 2007-12-09  Bruno Haible  <bruno@clisp.org>
63512
63513         Let 'gnulib-tool --import' collect sources needed for the tests in
63514         tests/ rather than in lib/.
63515         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
63516         argument. If true, add rules to generate libtests.a, and put libtests.a
63517         into $(LDADD). Consider source files in subdirectories and set
63518         uses_subdirs.
63519         (func_emit_initmacro_start, func_emit_initmacro_end,
63520         func_emit_initmacro_done): Pass all arguments explicitly.
63521         (func_import): Determine two module lists main_modules,
63522         testsrelated_modules. Determine use_libtests. Determine two variables
63523         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
63524         instead of just sed_transform_lib_file. Determine two variables
63525         main_files and testsrelated_files. Compute 'files' as the union of
63526         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
63527         func_add_or_update. In the generated gnulib-comp.m4, collect the
63528         object files for tests/ in different variables than those for lib/.
63529         Substitute LIBTESTS_LIBDEPS.
63530         (func_create_testdir): Combine the uses_subdirs results from
63531         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
63532
63533 2007-12-09  Bruno Haible  <bruno@clisp.org>
63534
63535         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
63536         the build-aux directory.
63537
63538 2007-12-09  Bruno Haible  <bruno@clisp.org>
63539
63540         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
63541         introduced on 2006-09-09.
63542
63543 2007-12-07  Jim Meyering  <meyering@redhat.com>
63544
63545         Let these macros work also with autoconf-2.59.
63546         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
63547         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
63548         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63549
63550 2007-12-06  Jim Meyering  <meyering@redhat.com>
63551
63552         Avoid a configure-time syntax error in gl_FUNC_ACL.
63553         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
63554         function in each branch, before testing the cache variable.
63555
63556 2007-12-04  Eric Blake  <ebb9@byu.net>
63557
63558         Make scripts executable.
63559         * build-aux/config.guess: Add execute permissions.
63560         * build-aux/config.sub: Likewise.
63561         * build-aux/gendocs.sh: Likewise.
63562
63563         Fix frexp on mingw.
63564         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
63565         cross-compiling.
63566         * doc/functions/frexp.texi (frexp): Document the bug.
63567
63568         Make cygwin fseeko check more reliable.
63569         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
63570         version numbers, rather than unrelated feature check.
63571         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
63572         * doc/functions/ftello.texi (ftello): Likewise.
63573         Reported by Bruno Haible.
63574
63575         * m4/strerror.m4: Bump version number.
63576
63577 2007-12-03  Bruno Haible  <bruno@clisp.org>
63578
63579         * doc/functions/mprotect.texi: Mention the mingw problem.
63580
63581 2007-12-03  Eric Blake  <ebb9@byu.net>
63582
63583         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
63584         REPLACE_STRERROR is initialized before this macro.
63585
63586 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
63587
63588         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
63589         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
63590         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
63591         put -lsec in even for programs other than 'ls'.  This fixes a problem
63592         for gettext reported by Bruno Haible in
63593         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
63594         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
63595         Add support for Solaris 10.  This isn't efficient, but should get the
63596         job done for now.
63597
63598 2007-12-03  James Youngman  <jay@gnu.org>
63599
63600         * doc/regexprops-generic.texi: change "an close-group" to "a
63601         close-group" and "illegal" to "not allowed".
63602
63603 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63604
63605         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
63606         pr_byname.h. Needed for the rare case when the maintainer has done
63607         "make maintainer-clean" in the source directory and then attempts a
63608         build outside the source directory.
63609         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
63610         scripts_byname.h.
63611
63612 2007-12-02  Martin Lambers <marlam@marlam.de>
63613             Bruno Haible  <bruno@clisp.org>
63614
63615         * lib/getpagesize.h: Remove file.
63616         * lib/unistd.in.h: Include declaration of getpagesize here.
63617         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
63618         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
63619         HAVE_SYS_PARAM_H.
63620         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
63621         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63622         * modules/getpagesize (Files): Remove lib/getpagesize.h.
63623         (Depends-on): Add unistd.
63624         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63625         (Include): Use <unistd.h> instead of getpagesize.h.
63626         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
63627         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63628         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
63629         gl_GETPAGESIZE invocation, already handled by module dependency.
63630         * lib/pagealign_alloc.c: Don't include getpagesize.h.
63631
63632 2007-12-02  Bruno Haible  <bruno@clisp.org>
63633
63634         * modules/strings-tests: New file.
63635         * tests/test-strings.c: New file.
63636
63637         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
63638         * lib/strings.in.h: New file.
63639         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
63640         * m4/strings_h.m4: New file.
63641         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
63642         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
63643         * modules/strings: New file.
63644         * modules/string (Makefile.am): Update.
63645         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
63646         Reported by Karl Berry.
63647
63648 2007-12-01  Eric Blake  <ebb9@byu.net>
63649
63650         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
63651         accommodate fix in cygwin 1.5.25.
63652
63653 2007-12-01  Jim Meyering  <meyering@redhat.com>
63654
63655         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
63656         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
63657         that would inhibit utf8-optimization of a regexp containing line-
63658         or buffer-anchors, e.g., `^', `$'.
63659
63660 2007-11-30  Bruno Haible  <bruno@clisp.org>
63661
63662         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
63663         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
63664         glthread_recursive_lock_init.
63665         * lib/lock.c (glthread_recursive_lock_init)
63666         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
63667         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63668
63669 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
63670
63671         New function qset_acl, like set_acl but with syscall semantics.
63672         * lib/acl.h (qset_acl): New decl.
63673         * lib/acl.c (qset_acl): New function.
63674         (set_acl): Use new function.  Use more-consistent diagnostics.
63675
63676 2007-11-28  Jim Meyering  <meyering@redhat.com>
63677
63678         * modules/physmem (License): Change from GPL to LGPLv2+.
63679
63680 2007-11-26  Bruno Haible  <bruno@clisp.org>
63681
63682         * lib/vasnprintf.c (decode_long_double): Don't abort if the
63683         'long double' type has excess precision.
63684         Reported by Jim Meyering in
63685         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
63686
63687 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63688
63689         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
63690         Sync from <http://gnu.org/licenses>.
63691         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
63692         with license text from same location.
63693         * doc/maintain.texi, doc/standards.texi:  Sync from
63694         <http://savannah.gnu.org/projects/gnustandards>.
63695
63696 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
63697         and Jim Meyering  <meyering@redhat.com>
63698
63699         Adjust getdate' grammar to accept a slightly more regular language.
63700         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
63701         Before, the former was rejected.
63702         * lib/getdate.y (digits_to_date_time): New function, factored
63703         out of ...
63704         (number): ...here.  Just call digits_to_date_time.
63705         (hybrid): New non-terminal to handle an <unsigned number,
63706         signed relative offset> sequence consistently.
63707
63708 2007-11-18  Jim Meyering  <meyering@redhat.com>
63709
63710         Pull my changes from coreutils:
63711         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
63712         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
63713         use of $gnulib_tool_option_extras, so that it's separated from the
63714         preceding argument.
63715
63716         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
63717         * build-aux/bootstrap (cp_mark_as_generated): Create any required
63718         parent destination directories before copying a file into place.
63719
63720 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
63721
63722         bootstrap: work also with 4-argument variant of AC_INIT
63723         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
63724
63725 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
63726
63727         Port test-getaddrinfo to Solaris.
63728         Problem reported by Bruno Haible in
63729         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
63730         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
63731         explanation of setting 'hints'.
63732         Don't reject an implementation merely because it returns EAI_SERVICE.
63733         (EAI_SERVICE): Define to 0 if not defined.
63734
63735 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63736
63737         The license of gnu-make and posix-shell is now "GPLed build tool".
63738         * modules/gnu-make (License): Likewise.
63739         * modules/posix-shell (License): Likewise.
63740
63741         New module posix-shell, for determining a POSIX shell
63742         or perhaps something that is close enough to a POSIX shell.
63743         * m4/posix-shell.m4: New file.
63744         * modules/posix-shell: New file.
63745
63746         * MODULES.html.sh: Mention new module.
63747
63748         New module gnu-make, for determining whether we're using GNU Make.
63749         * m4/gnu-make.m4: New file.
63750         * modules/gnu-make: New file.
63751         * MODULES.html.sh: Mention new module.
63752
63753 2007-11-14  Jim Meyering  <meyering@redhat.com>
63754
63755         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
63756         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
63757         use this macro to create a function _definition_.
63758         Remove useless "#undef ARGMATCH_DIE".
63759
63760 2007-11-14  Bruno Haible  <bruno@clisp.org>
63761
63762         * lib/config.charset: Update for OpenBSD 4.1.
63763         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
63764
63765 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
63766
63767         Document 64-bit #if problems in stdint.texi.
63768         * doc/headers/stdint.texi (stdint.h): Mention problems with
63769         64-bit-#if, and how to work around them.
63770
63771         Don't insist on 'long long int' support in the preprocessor.  It
63772         breaks too many things.  For example, PRIdMAX still uses a 'long
63773         long int' format with the latest Sun compiler, even though
63774         HAVE_LONG_LONG_INT isn't defined due to that compiler's
63775         preprocessor problem.  This causes the latest coreutils to dump
63776         core on Solaris 10 sparc with the Sun C compiler.
63777         Instead, fix the 2007-10-16 problem in a different way, by evaluating
63778         the troublesome expressions at configure-time, not at #if-time.
63779         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
63780         preprocessor.
63781         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
63782         compile-time C checks, done at 'configure'-time.
63783         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
63784         * modules/inttypes (Makefile): Substitute the new symbols that
63785         gl_INTTYPES_H now generates.
63786         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
63787
63788 2007-11-12  Bruno Haible  <bruno@clisp.org>
63789
63790         Tests for Unicode character classification functions.
63791
63792         * modules/unictype/bidicategory-byname-tests: New file.
63793         * modules/unictype/bidicategory-name-tests: New file.
63794         * modules/unictype/bidicategory-of-tests: New file.
63795         * modules/unictype/bidicategory-test-tests: New file.
63796         * modules/unictype/block-list-tests: New file.
63797         * modules/unictype/block-of-tests: New file.
63798         * modules/unictype/block-test-tests: New file.
63799         * modules/unictype/category-C-tests: New file.
63800         * modules/unictype/category-Cc-tests: New file.
63801         * modules/unictype/category-Cf-tests: New file.
63802         * modules/unictype/category-Cn-tests: New file.
63803         * modules/unictype/category-Co-tests: New file.
63804         * modules/unictype/category-Cs-tests: New file.
63805         * modules/unictype/category-L-tests: New file.
63806         * modules/unictype/category-Ll-tests: New file.
63807         * modules/unictype/category-Lm-tests: New file.
63808         * modules/unictype/category-Lo-tests: New file.
63809         * modules/unictype/category-Lt-tests: New file.
63810         * modules/unictype/category-Lu-tests: New file.
63811         * modules/unictype/category-M-tests: New file.
63812         * modules/unictype/category-Mc-tests: New file.
63813         * modules/unictype/category-Me-tests: New file.
63814         * modules/unictype/category-Mn-tests: New file.
63815         * modules/unictype/category-N-tests: New file.
63816         * modules/unictype/category-Nd-tests: New file.
63817         * modules/unictype/category-Nl-tests: New file.
63818         * modules/unictype/category-No-tests: New file.
63819         * modules/unictype/category-P-tests: New file.
63820         * modules/unictype/category-Pc-tests: New file.
63821         * modules/unictype/category-Pd-tests: New file.
63822         * modules/unictype/category-Pe-tests: New file.
63823         * modules/unictype/category-Pf-tests: New file.
63824         * modules/unictype/category-Pi-tests: New file.
63825         * modules/unictype/category-Po-tests: New file.
63826         * modules/unictype/category-Ps-tests: New file.
63827         * modules/unictype/category-S-tests: New file.
63828         * modules/unictype/category-Sc-tests: New file.
63829         * modules/unictype/category-Sk-tests: New file.
63830         * modules/unictype/category-Sm-tests: New file.
63831         * modules/unictype/category-So-tests: New file.
63832         * modules/unictype/category-Z-tests: New file.
63833         * modules/unictype/category-Zl-tests: New file.
63834         * modules/unictype/category-Zp-tests: New file.
63835         * modules/unictype/category-Zs-tests: New file.
63836         * modules/unictype/category-and-not-tests: New file.
63837         * modules/unictype/category-and-tests: New file.
63838         * modules/unictype/category-byname-tests: New file.
63839         * modules/unictype/category-name-tests: New file.
63840         * modules/unictype/category-none-tests: New file.
63841         * modules/unictype/category-of-tests: New file.
63842         * modules/unictype/category-or-tests: New file.
63843         * modules/unictype/category-test-withtable-tests: New file.
63844         * modules/unictype/combining-class-tests: New file.
63845         * modules/unictype/ctype-alnum-tests: New file.
63846         * modules/unictype/ctype-alpha-tests: New file.
63847         * modules/unictype/ctype-blank-tests: New file.
63848         * modules/unictype/ctype-cntrl-tests: New file.
63849         * modules/unictype/ctype-digit-tests: New file.
63850         * modules/unictype/ctype-graph-tests: New file.
63851         * modules/unictype/ctype-lower-tests: New file.
63852         * modules/unictype/ctype-print-tests: New file.
63853         * modules/unictype/ctype-punct-tests: New file.
63854         * modules/unictype/ctype-space-tests: New file.
63855         * modules/unictype/ctype-upper-tests: New file.
63856         * modules/unictype/ctype-xdigit-tests: New file.
63857         * modules/unictype/decimal-digit-tests: New file.
63858         * modules/unictype/digit-tests: New file.
63859         * modules/unictype/mirror-tests: New file.
63860         * modules/unictype/numeric-tests: New file.
63861         * modules/unictype/property-alphabetic-tests: New file.
63862         * modules/unictype/property-ascii-hex-digit-tests: New file.
63863         * modules/unictype/property-bidi-arabic-digit-tests: New file.
63864         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
63865         * modules/unictype/property-bidi-block-separator-tests: New file.
63866         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
63867         * modules/unictype/property-bidi-common-separator-tests: New file.
63868         * modules/unictype/property-bidi-control-tests: New file.
63869         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
63870         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
63871         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
63872         * modules/unictype/property-bidi-european-digit-tests: New file.
63873         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
63874         * modules/unictype/property-bidi-left-to-right-tests: New file.
63875         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
63876         * modules/unictype/property-bidi-other-neutral-tests: New file.
63877         * modules/unictype/property-bidi-pdf-tests: New file.
63878         * modules/unictype/property-bidi-segment-separator-tests: New file.
63879         * modules/unictype/property-bidi-whitespace-tests: New file.
63880         * modules/unictype/property-byname-tests: New file.
63881         * modules/unictype/property-combining-tests: New file.
63882         * modules/unictype/property-composite-tests: New file.
63883         * modules/unictype/property-currency-symbol-tests: New file.
63884         * modules/unictype/property-dash-tests: New file.
63885         * modules/unictype/property-decimal-digit-tests: New file.
63886         * modules/unictype/property-default-ignorable-code-point-tests: New file.
63887         * modules/unictype/property-deprecated-tests: New file.
63888         * modules/unictype/property-diacritic-tests: New file.
63889         * modules/unictype/property-extender-tests: New file.
63890         * modules/unictype/property-format-control-tests: New file.
63891         * modules/unictype/property-grapheme-base-tests: New file.
63892         * modules/unictype/property-grapheme-extend-tests: New file.
63893         * modules/unictype/property-grapheme-link-tests: New file.
63894         * modules/unictype/property-hex-digit-tests: New file.
63895         * modules/unictype/property-hyphen-tests: New file.
63896         * modules/unictype/property-id-continue-tests: New file.
63897         * modules/unictype/property-id-start-tests: New file.
63898         * modules/unictype/property-ideographic-tests: New file.
63899         * modules/unictype/property-ids-binary-operator-tests: New file.
63900         * modules/unictype/property-ids-trinary-operator-tests: New file.
63901         * modules/unictype/property-ignorable-control-tests: New file.
63902         * modules/unictype/property-iso-control-tests: New file.
63903         * modules/unictype/property-join-control-tests: New file.
63904         * modules/unictype/property-left-of-pair-tests: New file.
63905         * modules/unictype/property-line-separator-tests: New file.
63906         * modules/unictype/property-logical-order-exception-tests: New file.
63907         * modules/unictype/property-lowercase-tests: New file.
63908         * modules/unictype/property-math-tests: New file.
63909         * modules/unictype/property-non-break-tests: New file.
63910         * modules/unictype/property-not-a-character-tests: New file.
63911         * modules/unictype/property-numeric-tests: New file.
63912         * modules/unictype/property-other-alphabetic-tests: New file.
63913         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
63914         * modules/unictype/property-other-grapheme-extend-tests: New file.
63915         * modules/unictype/property-other-id-continue-tests: New file.
63916         * modules/unictype/property-other-id-start-tests: New file.
63917         * modules/unictype/property-other-lowercase-tests: New file.
63918         * modules/unictype/property-other-math-tests: New file.
63919         * modules/unictype/property-other-uppercase-tests: New file.
63920         * modules/unictype/property-paired-punctuation-tests: New file.
63921         * modules/unictype/property-paragraph-separator-tests: New file.
63922         * modules/unictype/property-pattern-syntax-tests: New file.
63923         * modules/unictype/property-pattern-white-space-tests: New file.
63924         * modules/unictype/property-private-use-tests: New file.
63925         * modules/unictype/property-punctuation-tests: New file.
63926         * modules/unictype/property-quotation-mark-tests: New file.
63927         * modules/unictype/property-radical-tests: New file.
63928         * modules/unictype/property-sentence-terminal-tests: New file.
63929         * modules/unictype/property-soft-dotted-tests: New file.
63930         * modules/unictype/property-space-tests: New file.
63931         * modules/unictype/property-terminal-punctuation-tests: New file.
63932         * modules/unictype/property-test-tests: New file.
63933         * modules/unictype/property-titlecase-tests: New file.
63934         * modules/unictype/property-unassigned-code-value-tests: New file.
63935         * modules/unictype/property-unified-ideograph-tests: New file.
63936         * modules/unictype/property-uppercase-tests: New file.
63937         * modules/unictype/property-variation-selector-tests: New file.
63938         * modules/unictype/property-white-space-tests: New file.
63939         * modules/unictype/property-xid-continue-tests: New file.
63940         * modules/unictype/property-xid-start-tests: New file.
63941         * modules/unictype/property-zero-width-tests: New file.
63942         * modules/unictype/scripts-tests: New file.
63943         * modules/unictype/syntax-c-ident-tests: New file.
63944         * modules/unictype/syntax-c-whitespace-tests: New file.
63945         * modules/unictype/syntax-java-ident-tests: New file.
63946         * modules/unictype/syntax-java-whitespace-tests: New file.
63947         * tests/unictype/test-bidi_byname.c: New file.
63948         * tests/unictype/test-bidi_name.c: New file.
63949         * tests/unictype/test-bidi_of.c: New file.
63950         * tests/unictype/test-bidi_test.c: New file.
63951         * tests/unictype/test-block_list.c: New file.
63952         * tests/unictype/test-block_of.c: New file.
63953         * tests/unictype/test-block_test.c: New file.
63954         * tests/unictype/test-categ_and.c: New file.
63955         * tests/unictype/test-categ_and_not.c: New file.
63956         * tests/unictype/test-categ_byname.c: New file.
63957         * tests/unictype/test-categ_name.c: New file.
63958         * tests/unictype/test-categ_none.c: New file.
63959         * tests/unictype/test-categ_of.c: New file.
63960         * tests/unictype/test-categ_or.c: New file.
63961         * tests/unictype/test-categ_test_withtable.c: New file.
63962         * tests/unictype/test-combining.c: New file.
63963         * tests/unictype/test-decdigit.c: New file.
63964         * tests/unictype/test-digit.c: New file.
63965         * tests/unictype/test-mirror.c: New file.
63966         * tests/unictype/test-numeric.c: New file.
63967         * tests/unictype/test-pr_byname.c: New file.
63968         * tests/unictype/test-pr_test.c: New file.
63969         * tests/unictype/test-predicate-part1.h: New file.
63970         * tests/unictype/test-predicate-part2.h: New file.
63971         * tests/unictype/test-scripts.c: New file.
63972         * tests/unictype/test-sy_c_ident.c: New file.
63973         * tests/unictype/test-sy_java_ident.c: New file.
63974
63975         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
63976         for Unicode 5.0.0.
63977         * tests/unictype/test-categ_Cc.c: Likewise.
63978         * tests/unictype/test-categ_Cf.c: Likewise.
63979         * tests/unictype/test-categ_Cn.c: Likewise.
63980         * tests/unictype/test-categ_Co.c: Likewise.
63981         * tests/unictype/test-categ_Cs.c: Likewise.
63982         * tests/unictype/test-categ_L.c: Likewise.
63983         * tests/unictype/test-categ_Ll.c: Likewise.
63984         * tests/unictype/test-categ_Lm.c: Likewise.
63985         * tests/unictype/test-categ_Lo.c: Likewise.
63986         * tests/unictype/test-categ_Lt.c: Likewise.
63987         * tests/unictype/test-categ_Lu.c: Likewise.
63988         * tests/unictype/test-categ_M.c: Likewise.
63989         * tests/unictype/test-categ_Mc.c: Likewise.
63990         * tests/unictype/test-categ_Me.c: Likewise.
63991         * tests/unictype/test-categ_Mn.c: Likewise.
63992         * tests/unictype/test-categ_N.c: Likewise.
63993         * tests/unictype/test-categ_Nd.c: Likewise.
63994         * tests/unictype/test-categ_Nl.c: Likewise.
63995         * tests/unictype/test-categ_No.c: Likewise.
63996         * tests/unictype/test-categ_P.c: Likewise.
63997         * tests/unictype/test-categ_Pc.c: Likewise.
63998         * tests/unictype/test-categ_Pd.c: Likewise.
63999         * tests/unictype/test-categ_Pe.c: Likewise.
64000         * tests/unictype/test-categ_Pf.c: Likewise.
64001         * tests/unictype/test-categ_Pi.c: Likewise.
64002         * tests/unictype/test-categ_Po.c: Likewise.
64003         * tests/unictype/test-categ_Ps.c: Likewise.
64004         * tests/unictype/test-categ_S.c: Likewise.
64005         * tests/unictype/test-categ_Sc.c: Likewise.
64006         * tests/unictype/test-categ_Sk.c: Likewise.
64007         * tests/unictype/test-categ_Sm.c: Likewise.
64008         * tests/unictype/test-categ_So.c: Likewise.
64009         * tests/unictype/test-categ_Z.c: Likewise.
64010         * tests/unictype/test-categ_Zl.c: Likewise.
64011         * tests/unictype/test-categ_Zp.c: Likewise.
64012         * tests/unictype/test-categ_Zs.c: Likewise.
64013         * tests/unictype/test-ctype_alnum.c: Likewise.
64014         * tests/unictype/test-ctype_alpha.c: Likewise.
64015         * tests/unictype/test-ctype_blank.c: Likewise.
64016         * tests/unictype/test-ctype_cntrl.c: Likewise.
64017         * tests/unictype/test-ctype_digit.c: Likewise.
64018         * tests/unictype/test-ctype_graph.c: Likewise.
64019         * tests/unictype/test-ctype_lower.c: Likewise.
64020         * tests/unictype/test-ctype_print.c: Likewise.
64021         * tests/unictype/test-ctype_punct.c: Likewise.
64022         * tests/unictype/test-ctype_space.c: Likewise.
64023         * tests/unictype/test-ctype_upper.c: Likewise.
64024         * tests/unictype/test-ctype_xdigit.c: Likewise.
64025         * tests/unictype/test-decdigit.h: Likewise.
64026         * tests/unictype/test-digit.h: Likewise.
64027         * tests/unictype/test-numeric.h: Likewise.
64028         * tests/unictype/test-pr_alphabetic.c: Likewise.
64029         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
64030         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
64031         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
64032         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
64033         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
64034         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
64035         * tests/unictype/test-pr_bidi_control.c: Likewise.
64036         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
64037         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
64038         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
64039         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
64040         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
64041         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
64042         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
64043         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
64044         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
64045         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
64046         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
64047         * tests/unictype/test-pr_combining.c: Likewise.
64048         * tests/unictype/test-pr_composite.c: Likewise.
64049         * tests/unictype/test-pr_currency_symbol.c: Likewise.
64050         * tests/unictype/test-pr_dash.c: Likewise.
64051         * tests/unictype/test-pr_decimal_digit.c: Likewise.
64052         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
64053         * tests/unictype/test-pr_deprecated.c: Likewise.
64054         * tests/unictype/test-pr_diacritic.c: Likewise.
64055         * tests/unictype/test-pr_extender.c: Likewise.
64056         * tests/unictype/test-pr_format_control.c: Likewise.
64057         * tests/unictype/test-pr_grapheme_base.c: Likewise.
64058         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
64059         * tests/unictype/test-pr_grapheme_link.c: Likewise.
64060         * tests/unictype/test-pr_hex_digit.c: Likewise.
64061         * tests/unictype/test-pr_hyphen.c: Likewise.
64062         * tests/unictype/test-pr_id_continue.c: Likewise.
64063         * tests/unictype/test-pr_id_start.c: Likewise.
64064         * tests/unictype/test-pr_ideographic.c: Likewise.
64065         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
64066         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
64067         * tests/unictype/test-pr_ignorable_control.c: Likewise.
64068         * tests/unictype/test-pr_iso_control.c: Likewise.
64069         * tests/unictype/test-pr_join_control.c: Likewise.
64070         * tests/unictype/test-pr_left_of_pair.c: Likewise.
64071         * tests/unictype/test-pr_line_separator.c: Likewise.
64072         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
64073         * tests/unictype/test-pr_lowercase.c: Likewise.
64074         * tests/unictype/test-pr_math.c: Likewise.
64075         * tests/unictype/test-pr_non_break.c: Likewise.
64076         * tests/unictype/test-pr_not_a_character.c: Likewise.
64077         * tests/unictype/test-pr_numeric.c: Likewise.
64078         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
64079         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
64080         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
64081         * tests/unictype/test-pr_other_id_continue.c: Likewise.
64082         * tests/unictype/test-pr_other_id_start.c: Likewise.
64083         * tests/unictype/test-pr_other_lowercase.c: Likewise.
64084         * tests/unictype/test-pr_other_math.c: Likewise.
64085         * tests/unictype/test-pr_other_uppercase.c: Likewise.
64086         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
64087         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
64088         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
64089         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
64090         * tests/unictype/test-pr_private_use.c: Likewise.
64091         * tests/unictype/test-pr_punctuation.c: Likewise.
64092         * tests/unictype/test-pr_quotation_mark.c: Likewise.
64093         * tests/unictype/test-pr_radical.c: Likewise.
64094         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
64095         * tests/unictype/test-pr_soft_dotted.c: Likewise.
64096         * tests/unictype/test-pr_space.c: Likewise.
64097         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
64098         * tests/unictype/test-pr_titlecase.c: Likewise.
64099         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
64100         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
64101         * tests/unictype/test-pr_uppercase.c: Likewise.
64102         * tests/unictype/test-pr_variation_selector.c: Likewise.
64103         * tests/unictype/test-pr_white_space.c: Likewise.
64104         * tests/unictype/test-pr_xid_continue.c: Likewise.
64105         * tests/unictype/test-pr_xid_start.c: Likewise.
64106         * tests/unictype/test-pr_zero_width.c: Likewise.
64107         * tests/unictype/test-sy_c_whitespace.c: Likewise.
64108         * tests/unictype/test-sy_java_whitespace.c: Likewise.
64109
64110 2007-11-12  Bruno Haible  <bruno@clisp.org>
64111
64112         Unicode character classification functions.
64113         * lib/unictype.h: New file.
64114         * modules/unictype/base: New file.
64115         * modules/unictype/category-L: New file.
64116         * modules/unictype/category-Lu: New file.
64117         * modules/unictype/category-Ll: New file.
64118         * modules/unictype/category-Lt: New file.
64119         * modules/unictype/category-Lm: New file.
64120         * modules/unictype/category-Lo: New file.
64121         * modules/unictype/category-M: New file.
64122         * modules/unictype/category-Mn: New file.
64123         * modules/unictype/category-Mc: New file.
64124         * modules/unictype/category-Me: New file.
64125         * modules/unictype/category-N: New file.
64126         * modules/unictype/category-Nd: New file.
64127         * modules/unictype/category-Nl: New file.
64128         * modules/unictype/category-No: New file.
64129         * modules/unictype/category-P: New file.
64130         * modules/unictype/category-Pc: New file.
64131         * modules/unictype/category-Pd: New file.
64132         * modules/unictype/category-Ps: New file.
64133         * modules/unictype/category-Pe: New file.
64134         * modules/unictype/category-Pi: New file.
64135         * modules/unictype/category-Pf: New file.
64136         * modules/unictype/category-Po: New file.
64137         * modules/unictype/category-S: New file.
64138         * modules/unictype/category-Sm: New file.
64139         * modules/unictype/category-Sc: New file.
64140         * modules/unictype/category-Sk: New file.
64141         * modules/unictype/category-So: New file.
64142         * modules/unictype/category-Z: New file.
64143         * modules/unictype/category-Zs: New file.
64144         * modules/unictype/category-Zl: New file.
64145         * modules/unictype/category-Zp: New file.
64146         * modules/unictype/category-C: New file.
64147         * modules/unictype/category-Cc: New file.
64148         * modules/unictype/category-Cf: New file.
64149         * modules/unictype/category-Cs: New file.
64150         * modules/unictype/category-Co: New file.
64151         * modules/unictype/category-Cn: New file.
64152         * modules/unictype/category-or: New file.
64153         * modules/unictype/category-of: New file.
64154         * modules/unictype/category-test: New file.
64155         * modules/unictype/category-test-withtable: New file.
64156         * modules/unictype/category-byname: New file.
64157         * modules/unictype/category-none: New file.
64158         * modules/unictype/category-and: New file.
64159         * modules/unictype/category-and-not: New file.
64160         * modules/unictype/category-name: New file.
64161         * modules/unictype/combining-class: New file.
64162         * modules/unictype/category-all: New file.
64163         * modules/unictype/bidicategory-all: New file.
64164         * modules/unictype/bidicategory-byname: New file.
64165         * modules/unictype/bidicategory-name: New file.
64166         * modules/unictype/bidicategory-of: New file.
64167         * modules/unictype/bidicategory-test: New file.
64168         * modules/unictype/decimal-digit: New file.
64169         * modules/unictype/digit: New file.
64170         * modules/unictype/numeric: New file.
64171         * modules/unictype/mirror: New file.
64172         * modules/unictype/property-white-space: New file.
64173         * modules/unictype/property-alphabetic: New file.
64174         * modules/unictype/property-other-alphabetic: New file.
64175         * modules/unictype/property-not-a-character: New file.
64176         * modules/unictype/property-default-ignorable-code-point: New file.
64177         * modules/unictype/property-other-default-ignorable-code-point: New
64178         file.
64179         * modules/unictype/property-deprecated: New file.
64180         * modules/unictype/property-logical-order-exception: New file.
64181         * modules/unictype/property-variation-selector: New file.
64182         * modules/unictype/property-private-use: New file.
64183         * modules/unictype/property-unassigned-code-value: New file.
64184         * modules/unictype/property-uppercase: New file.
64185         * modules/unictype/property-other-uppercase: New file.
64186         * modules/unictype/property-lowercase: New file.
64187         * modules/unictype/property-other-lowercase: New file.
64188         * modules/unictype/property-titlecase: New file.
64189         * modules/unictype/property-soft-dotted: New file.
64190         * modules/unictype/property-id-start: New file.
64191         * modules/unictype/property-other-id-start: New file.
64192         * modules/unictype/property-id-continue: New file.
64193         * modules/unictype/property-other-id-continue: New file.
64194         * modules/unictype/property-xid-start: New file.
64195         * modules/unictype/property-xid-continue: New file.
64196         * modules/unictype/property-pattern-white-space: New file.
64197         * modules/unictype/property-pattern-syntax: New file.
64198         * modules/unictype/property-join-control: New file.
64199         * modules/unictype/property-grapheme-base: New file.
64200         * modules/unictype/property-grapheme-extend: New file.
64201         * modules/unictype/property-other-grapheme-extend: New file.
64202         * modules/unictype/property-grapheme-link: New file.
64203         * modules/unictype/property-bidi-control: New file.
64204         * modules/unictype/property-bidi-left-to-right: New file.
64205         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
64206         * modules/unictype/property-bidi-arabic-right-to-left: New file.
64207         * modules/unictype/property-bidi-european-digit: New file.
64208         * modules/unictype/property-bidi-eur-num-separator: New file.
64209         * modules/unictype/property-bidi-eur-num-terminator: New file.
64210         * modules/unictype/property-bidi-arabic-digit: New file.
64211         * modules/unictype/property-bidi-common-separator: New file.
64212         * modules/unictype/property-bidi-block-separator: New file.
64213         * modules/unictype/property-bidi-segment-separator: New file.
64214         * modules/unictype/property-bidi-whitespace: New file.
64215         * modules/unictype/property-bidi-non-spacing-mark: New file.
64216         * modules/unictype/property-bidi-boundary-neutral: New file.
64217         * modules/unictype/property-bidi-pdf: New file.
64218         * modules/unictype/property-bidi-embedding-or-override: New file.
64219         * modules/unictype/property-bidi-other-neutral: New file.
64220         * modules/unictype/property-hex-digit: New file.
64221         * modules/unictype/property-ascii-hex-digit: New file.
64222         * modules/unictype/property-ideographic: New file.
64223         * modules/unictype/property-unified-ideograph: New file.
64224         * modules/unictype/property-radical: New file.
64225         * modules/unictype/property-ids-binary-operator: New file.
64226         * modules/unictype/property-ids-trinary-operator: New file.
64227         * modules/unictype/property-zero-width: New file.
64228         * modules/unictype/property-space: New file.
64229         * modules/unictype/property-non-break: New file.
64230         * modules/unictype/property-iso-control: New file.
64231         * modules/unictype/property-format-control: New file.
64232         * modules/unictype/property-dash: New file.
64233         * modules/unictype/property-hyphen: New file.
64234         * modules/unictype/property-punctuation: New file.
64235         * modules/unictype/property-line-separator: New file.
64236         * modules/unictype/property-paragraph-separator: New file.
64237         * modules/unictype/property-quotation-mark: New file.
64238         * modules/unictype/property-sentence-terminal: New file.
64239         * modules/unictype/property-terminal-punctuation: New file.
64240         * modules/unictype/property-currency-symbol: New file.
64241         * modules/unictype/property-math: New file.
64242         * modules/unictype/property-other-math: New file.
64243         * modules/unictype/property-paired-punctuation: New file.
64244         * modules/unictype/property-left-of-pair: New file.
64245         * modules/unictype/property-combining: New file.
64246         * modules/unictype/property-composite: New file.
64247         * modules/unictype/property-decimal-digit: New file.
64248         * modules/unictype/property-numeric: New file.
64249         * modules/unictype/property-diacritic: New file.
64250         * modules/unictype/property-extender: New file.
64251         * modules/unictype/property-ignorable-control: New file.
64252         * modules/unictype/property-test: New file.
64253         * modules/unictype/property-byname: New file.
64254         * modules/unictype/property-all: New file.
64255         * modules/unictype/scripts: New file.
64256         * modules/unictype/scripts-all: New file.
64257         * modules/unictype/block-of: New file.
64258         * modules/unictype/block-test: New file.
64259         * modules/unictype/block-list: New file.
64260         * modules/unictype/block-all: New file.
64261         * modules/unictype/syntax-c-whitespace: New file.
64262         * modules/unictype/syntax-java-whitespace: New file.
64263         * modules/unictype/syntax-c-ident: New file.
64264         * modules/unictype/syntax-java-ident: New file.
64265         * modules/unictype/ctype-alnum: New file.
64266         * modules/unictype/ctype-alpha: New file.
64267         * modules/unictype/ctype-cntrl: New file.
64268         * modules/unictype/ctype-digit: New file.
64269         * modules/unictype/ctype-graph: New file.
64270         * modules/unictype/ctype-lower: New file.
64271         * modules/unictype/ctype-print: New file.
64272         * modules/unictype/ctype-punct: New file.
64273         * modules/unictype/ctype-space: New file.
64274         * modules/unictype/ctype-upper: New file.
64275         * modules/unictype/ctype-xdigit: New file.
64276         * modules/unictype/ctype-blank: New file.
64277         * lib/unictype/bidi_byname.c: New file.
64278         * lib/unictype/bidi_name.c: New file.
64279         * lib/unictype/bidi_of.c: New file.
64280         * lib/unictype/bidi_test.c: New file.
64281         * lib/unictype/bitmap.h: New file.
64282         * lib/unictype/block_test.c: New file.
64283         * lib/unictype/blocks.c: New file.
64284         * lib/unictype/categ_C.c: New file.
64285         * lib/unictype/categ_Cc.c: New file.
64286         * lib/unictype/categ_Cf.c: New file.
64287         * lib/unictype/categ_Cn.c: New file.
64288         * lib/unictype/categ_Co.c: New file.
64289         * lib/unictype/categ_Cs.c: New file.
64290         * lib/unictype/categ_L.c: New file.
64291         * lib/unictype/categ_Ll.c: New file.
64292         * lib/unictype/categ_Lm.c: New file.
64293         * lib/unictype/categ_Lo.c: New file.
64294         * lib/unictype/categ_Lt.c: New file.
64295         * lib/unictype/categ_Lu.c: New file.
64296         * lib/unictype/categ_M.c: New file.
64297         * lib/unictype/categ_Mc.c: New file.
64298         * lib/unictype/categ_Me.c: New file.
64299         * lib/unictype/categ_Mn.c: New file.
64300         * lib/unictype/categ_N.c: New file.
64301         * lib/unictype/categ_Nd.c: New file.
64302         * lib/unictype/categ_Nl.c: New file.
64303         * lib/unictype/categ_No.c: New file.
64304         * lib/unictype/categ_P.c: New file.
64305         * lib/unictype/categ_Pc.c: New file.
64306         * lib/unictype/categ_Pd.c: New file.
64307         * lib/unictype/categ_Pe.c: New file.
64308         * lib/unictype/categ_Pf.c: New file.
64309         * lib/unictype/categ_Pi.c: New file.
64310         * lib/unictype/categ_Po.c: New file.
64311         * lib/unictype/categ_Ps.c: New file.
64312         * lib/unictype/categ_S.c: New file.
64313         * lib/unictype/categ_Sc.c: New file.
64314         * lib/unictype/categ_Sk.c: New file.
64315         * lib/unictype/categ_Sm.c: New file.
64316         * lib/unictype/categ_So.c: New file.
64317         * lib/unictype/categ_Z.c: New file.
64318         * lib/unictype/categ_Zl.c: New file.
64319         * lib/unictype/categ_Zp.c: New file.
64320         * lib/unictype/categ_Zs.c: New file.
64321         * lib/unictype/categ_and.c: New file.
64322         * lib/unictype/categ_and_not.c: New file.
64323         * lib/unictype/categ_byname.c: New file.
64324         * lib/unictype/categ_name.c: New file.
64325         * lib/unictype/categ_none.c: New file.
64326         * lib/unictype/categ_of.c: New file.
64327         * lib/unictype/categ_or.c: New file.
64328         * lib/unictype/categ_test.c: New file.
64329         * lib/unictype/combining.c: New file.
64330         * lib/unictype/ctype_alnum.c: New file.
64331         * lib/unictype/ctype_alpha.c: New file.
64332         * lib/unictype/ctype_blank.c: New file.
64333         * lib/unictype/ctype_cntrl.c: New file.
64334         * lib/unictype/ctype_digit.c: New file.
64335         * lib/unictype/ctype_graph.c: New file.
64336         * lib/unictype/ctype_lower.c: New file.
64337         * lib/unictype/ctype_print.c: New file.
64338         * lib/unictype/ctype_punct.c: New file.
64339         * lib/unictype/ctype_space.c: New file.
64340         * lib/unictype/ctype_upper.c: New file.
64341         * lib/unictype/ctype_xdigit.c: New file.
64342         * lib/unictype/decdigit.c: New file.
64343         * lib/unictype/digit.c: New file.
64344         * lib/unictype/identsyntaxmap.h: New file.
64345         * lib/unictype/mirror.c: New file.
64346         * lib/unictype/numeric.c: New file.
64347         * lib/unictype/pr_alphabetic.c: New file.
64348         * lib/unictype/pr_ascii_hex_digit.c: New file.
64349         * lib/unictype/pr_bidi_arabic_digit.c: New file.
64350         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
64351         * lib/unictype/pr_bidi_block_separator.c: New file.
64352         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
64353         * lib/unictype/pr_bidi_common_separator.c: New file.
64354         * lib/unictype/pr_bidi_control.c: New file.
64355         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
64356         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
64357         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
64358         * lib/unictype/pr_bidi_european_digit.c: New file.
64359         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
64360         * lib/unictype/pr_bidi_left_to_right.c: New file.
64361         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
64362         * lib/unictype/pr_bidi_other_neutral.c: New file.
64363         * lib/unictype/pr_bidi_pdf.c: New file.
64364         * lib/unictype/pr_bidi_segment_separator.c: New file.
64365         * lib/unictype/pr_bidi_whitespace.c: New file.
64366         * lib/unictype/pr_byname.c: New file.
64367         * lib/unictype/pr_byname.gperf: New file.
64368         * lib/unictype/pr_combining.c: New file.
64369         * lib/unictype/pr_composite.c: New file.
64370         * lib/unictype/pr_currency_symbol.c: New file.
64371         * lib/unictype/pr_dash.c: New file.
64372         * lib/unictype/pr_decimal_digit.c: New file.
64373         * lib/unictype/pr_default_ignorable_code_point.c: New file.
64374         * lib/unictype/pr_deprecated.c: New file.
64375         * lib/unictype/pr_diacritic.c: New file.
64376         * lib/unictype/pr_extender.c: New file.
64377         * lib/unictype/pr_format_control.c: New file.
64378         * lib/unictype/pr_grapheme_base.c: New file.
64379         * lib/unictype/pr_grapheme_extend.c: New file.
64380         * lib/unictype/pr_grapheme_link.c: New file.
64381         * lib/unictype/pr_hex_digit.c: New file.
64382         * lib/unictype/pr_hyphen.c: New file.
64383         * lib/unictype/pr_id_continue.c: New file.
64384         * lib/unictype/pr_id_start.c: New file.
64385         * lib/unictype/pr_ideographic.c: New file.
64386         * lib/unictype/pr_ids_binary_operator.c: New file.
64387         * lib/unictype/pr_ids_trinary_operator.c: New file.
64388         * lib/unictype/pr_ignorable_control.c: New file.
64389         * lib/unictype/pr_iso_control.c: New file.
64390         * lib/unictype/pr_join_control.c: New file.
64391         * lib/unictype/pr_left_of_pair.c: New file.
64392         * lib/unictype/pr_line_separator.c: New file.
64393         * lib/unictype/pr_logical_order_exception.c: New file.
64394         * lib/unictype/pr_lowercase.c: New file.
64395         * lib/unictype/pr_math.c: New file.
64396         * lib/unictype/pr_non_break.c: New file.
64397         * lib/unictype/pr_not_a_character.c: New file.
64398         * lib/unictype/pr_numeric.c: New file.
64399         * lib/unictype/pr_other_alphabetic.c: New file.
64400         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
64401         * lib/unictype/pr_other_grapheme_extend.c: New file.
64402         * lib/unictype/pr_other_id_continue.c: New file.
64403         * lib/unictype/pr_other_id_start.c: New file.
64404         * lib/unictype/pr_other_lowercase.c: New file.
64405         * lib/unictype/pr_other_math.c: New file.
64406         * lib/unictype/pr_other_uppercase.c: New file.
64407         * lib/unictype/pr_paired_punctuation.c: New file.
64408         * lib/unictype/pr_paragraph_separator.c: New file.
64409         * lib/unictype/pr_pattern_syntax.c: New file.
64410         * lib/unictype/pr_pattern_white_space.c: New file.
64411         * lib/unictype/pr_private_use.c: New file.
64412         * lib/unictype/pr_punctuation.c: New file.
64413         * lib/unictype/pr_quotation_mark.c: New file.
64414         * lib/unictype/pr_radical.c: New file.
64415         * lib/unictype/pr_sentence_terminal.c: New file.
64416         * lib/unictype/pr_soft_dotted.c: New file.
64417         * lib/unictype/pr_space.c: New file.
64418         * lib/unictype/pr_terminal_punctuation.c: New file.
64419         * lib/unictype/pr_test.c: New file.
64420         * lib/unictype/pr_titlecase.c: New file.
64421         * lib/unictype/pr_unassigned_code_value.c: New file.
64422         * lib/unictype/pr_unified_ideograph.c: New file.
64423         * lib/unictype/pr_uppercase.c: New file.
64424         * lib/unictype/pr_variation_selector.c: New file.
64425         * lib/unictype/pr_white_space.c: New file.
64426         * lib/unictype/pr_xid_continue.c: New file.
64427         * lib/unictype/pr_xid_start.c: New file.
64428         * lib/unictype/pr_zero_width.c: New file.
64429         * lib/unictype/scripts.c: New file.
64430         * lib/unictype/sy_c_ident.c: New file.
64431         * lib/unictype/sy_c_whitespace.c: New file.
64432         * lib/unictype/sy_java_ident.c: New file.
64433         * lib/unictype/sy_java_whitespace.c: New file.
64434
64435         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
64436         Unicode 5.0.0.
64437         * lib/unictype/blocks.h: Likewise.
64438         * lib/unictype/categ_C.h: Likewise.
64439         * lib/unictype/categ_Cc.h: Likewise.
64440         * lib/unictype/categ_Cf.h: Likewise.
64441         * lib/unictype/categ_Cn.h: Likewise.
64442         * lib/unictype/categ_Co.h: Likewise.
64443         * lib/unictype/categ_Cs.h: Likewise.
64444         * lib/unictype/categ_L.h: Likewise.
64445         * lib/unictype/categ_Ll.h: Likewise.
64446         * lib/unictype/categ_Lm.h: Likewise.
64447         * lib/unictype/categ_Lo.h: Likewise.
64448         * lib/unictype/categ_Lt.h: Likewise.
64449         * lib/unictype/categ_Lu.h: Likewise.
64450         * lib/unictype/categ_M.h: Likewise.
64451         * lib/unictype/categ_Mc.h: Likewise.
64452         * lib/unictype/categ_Me.h: Likewise.
64453         * lib/unictype/categ_Mn.h: Likewise.
64454         * lib/unictype/categ_N.h: Likewise.
64455         * lib/unictype/categ_Nd.h: Likewise.
64456         * lib/unictype/categ_Nl.h: Likewise.
64457         * lib/unictype/categ_No.h: Likewise.
64458         * lib/unictype/categ_P.h: Likewise.
64459         * lib/unictype/categ_Pc.h: Likewise.
64460         * lib/unictype/categ_Pd.h: Likewise.
64461         * lib/unictype/categ_Pe.h: Likewise.
64462         * lib/unictype/categ_Pf.h: Likewise.
64463         * lib/unictype/categ_Pi.h: Likewise.
64464         * lib/unictype/categ_Po.h: Likewise.
64465         * lib/unictype/categ_Ps.h: Likewise.
64466         * lib/unictype/categ_S.h: Likewise.
64467         * lib/unictype/categ_Sc.h: Likewise.
64468         * lib/unictype/categ_Sk.h: Likewise.
64469         * lib/unictype/categ_Sm.h: Likewise.
64470         * lib/unictype/categ_So.h: Likewise.
64471         * lib/unictype/categ_Z.h: Likewise.
64472         * lib/unictype/categ_Zl.h: Likewise.
64473         * lib/unictype/categ_Zp.h: Likewise.
64474         * lib/unictype/categ_Zs.h: Likewise.
64475         * lib/unictype/categ_of.h: Likewise.
64476         * lib/unictype/combining.h: Likewise.
64477         * lib/unictype/ctype_alnum.h: Likewise.
64478         * lib/unictype/ctype_alpha.h: Likewise.
64479         * lib/unictype/ctype_blank.h: Likewise.
64480         * lib/unictype/ctype_cntrl.h: Likewise.
64481         * lib/unictype/ctype_digit.h: Likewise.
64482         * lib/unictype/ctype_graph.h: Likewise.
64483         * lib/unictype/ctype_lower.h: Likewise.
64484         * lib/unictype/ctype_print.h: Likewise.
64485         * lib/unictype/ctype_punct.h: Likewise.
64486         * lib/unictype/ctype_space.h: Likewise.
64487         * lib/unictype/ctype_upper.h: Likewise.
64488         * lib/unictype/ctype_xdigit.h: Likewise.
64489         * lib/unictype/decdigit.h: Likewise.
64490         * lib/unictype/digit.h: Likewise.
64491         * lib/unictype/mirror.h: Likewise.
64492         * lib/unictype/numeric.h: Likewise.
64493         * lib/unictype/pr_alphabetic.h: Likewise.
64494         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
64495         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
64496         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
64497         * lib/unictype/pr_bidi_block_separator.h: Likewise.
64498         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
64499         * lib/unictype/pr_bidi_common_separator.h: Likewise.
64500         * lib/unictype/pr_bidi_control.h: Likewise.
64501         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
64502         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
64503         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
64504         * lib/unictype/pr_bidi_european_digit.h: Likewise.
64505         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
64506         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
64507         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
64508         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
64509         * lib/unictype/pr_bidi_pdf.h: Likewise.
64510         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
64511         * lib/unictype/pr_bidi_whitespace.h: Likewise.
64512         * lib/unictype/pr_combining.h: Likewise.
64513         * lib/unictype/pr_composite.h: Likewise.
64514         * lib/unictype/pr_currency_symbol.h: Likewise.
64515         * lib/unictype/pr_dash.h: Likewise.
64516         * lib/unictype/pr_decimal_digit.h: Likewise.
64517         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
64518         * lib/unictype/pr_deprecated.h: Likewise.
64519         * lib/unictype/pr_diacritic.h: Likewise.
64520         * lib/unictype/pr_extender.h: Likewise.
64521         * lib/unictype/pr_format_control.h: Likewise.
64522         * lib/unictype/pr_grapheme_base.h: Likewise.
64523         * lib/unictype/pr_grapheme_extend.h: Likewise.
64524         * lib/unictype/pr_grapheme_link.h: Likewise.
64525         * lib/unictype/pr_hex_digit.h: Likewise.
64526         * lib/unictype/pr_hyphen.h: Likewise.
64527         * lib/unictype/pr_id_continue.h: Likewise.
64528         * lib/unictype/pr_id_start.h: Likewise.
64529         * lib/unictype/pr_ideographic.h: Likewise.
64530         * lib/unictype/pr_ids_binary_operator.h: Likewise.
64531         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
64532         * lib/unictype/pr_ignorable_control.h: Likewise.
64533         * lib/unictype/pr_iso_control.h: Likewise.
64534         * lib/unictype/pr_join_control.h: Likewise.
64535         * lib/unictype/pr_left_of_pair.h: Likewise.
64536         * lib/unictype/pr_line_separator.h: Likewise.
64537         * lib/unictype/pr_logical_order_exception.h: Likewise.
64538         * lib/unictype/pr_lowercase.h: Likewise.
64539         * lib/unictype/pr_math.h: Likewise.
64540         * lib/unictype/pr_non_break.h: Likewise.
64541         * lib/unictype/pr_not_a_character.h: Likewise.
64542         * lib/unictype/pr_numeric.h: Likewise.
64543         * lib/unictype/pr_other_alphabetic.h: Likewise.
64544         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
64545         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
64546         * lib/unictype/pr_other_id_continue.h: Likewise.
64547         * lib/unictype/pr_other_id_start.h: Likewise.
64548         * lib/unictype/pr_other_lowercase.h: Likewise.
64549         * lib/unictype/pr_other_math.h: Likewise.
64550         * lib/unictype/pr_other_uppercase.h: Likewise.
64551         * lib/unictype/pr_paired_punctuation.h: Likewise.
64552         * lib/unictype/pr_paragraph_separator.h: Likewise.
64553         * lib/unictype/pr_pattern_syntax.h: Likewise.
64554         * lib/unictype/pr_pattern_white_space.h: Likewise.
64555         * lib/unictype/pr_private_use.h: Likewise.
64556         * lib/unictype/pr_punctuation.h: Likewise.
64557         * lib/unictype/pr_quotation_mark.h: Likewise.
64558         * lib/unictype/pr_radical.h: Likewise.
64559         * lib/unictype/pr_sentence_terminal.h: Likewise.
64560         * lib/unictype/pr_soft_dotted.h: Likewise.
64561         * lib/unictype/pr_space.h: Likewise.
64562         * lib/unictype/pr_terminal_punctuation.h: Likewise.
64563         * lib/unictype/pr_titlecase.h: Likewise.
64564         * lib/unictype/pr_unassigned_code_value.h: Likewise.
64565         * lib/unictype/pr_unified_ideograph.h: Likewise.
64566         * lib/unictype/pr_uppercase.h: Likewise.
64567         * lib/unictype/pr_variation_selector.h: Likewise.
64568         * lib/unictype/pr_white_space.h: Likewise.
64569         * lib/unictype/pr_xid_continue.h: Likewise.
64570         * lib/unictype/pr_xid_start.h: Likewise.
64571         * lib/unictype/pr_zero_width.h: Likewise.
64572         * lib/unictype/scripts.h: Likewise.
64573         * lib/unictype/scripts_byname.gperf: Likewise.
64574         * lib/unictype/sy_c_ident.h: Likewise.
64575         * lib/unictype/sy_c_whitespace.h: Likewise.
64576         * lib/unictype/sy_java_ident.h: Likewise.
64577         * lib/unictype/sy_java_whitespace.h: Likewise.
64578
64579         * lib/unictype/Makefile: New file.
64580         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
64581         glibc.
64582         * lib/unictype/3level.h: New file, copied from glibc.
64583         * lib/unictype/3levelbit.h: New file.
64584
64585 2007-11-11  Bruno Haible  <bruno@clisp.org>
64586
64587         * modules/gperf: New file.
64588         * modules/iconv_open (Depends-on): Add it.
64589         (Makefile.am): Remove the GPERF definition.
64590
64591 2007-11-11  Bruno Haible  <bruno@clisp.org>
64592
64593         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
64594         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
64595
64596 2007-11-11  Bruno Haible  <bruno@clisp.org>
64597
64598         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
64599         (usage): Remove function.
64600
64601 2007-11-11  Bruno Haible  <bruno@clisp.org>
64602
64603         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
64604         gl_FUNC_CEILF_LIBS.
64605         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
64606         gl_FUNC_CEIL_LIBS.
64607         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
64608         gl_FUNC_CEILL_LIBS.
64609         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
64610         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
64611         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
64612
64613 2007-11-11  Bruno Haible  <bruno@clisp.org>
64614
64615         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
64616         roundf were declared but do not exist on functions.
64617         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
64618         roundl were declared but do not exist on functions.
64619         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
64620         HAVE_FLOORL_AND_CEILL, respectively.
64621         Needed for Sun C on Solaris 10.
64622
64623 2007-11-11  Bruno Haible  <bruno@clisp.org>
64624
64625         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
64626         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
64627         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
64628         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
64629         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
64630         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
64631         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
64632         HAVE_DECL_ROUNDF.
64633         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
64634         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
64635         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
64636         of HAVE_DECL_ROUND*.
64637         * modules/math (Makefile.am): Update.
64638
64639 2007-11-10  Bruno Haible  <bruno@clisp.org>
64640
64641         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
64642         ptrdiff_t as m4/intl.m4.
64643
64644 2007-11-10  Jim Meyering  <meyering@redhat.com>
64645
64646         Avoid link failure for the argmatch test.
64647         * tests/test-argmatch.c (usage): Define function to avoid a link
64648         failure: argmatch_die requires a usage function.
64649
64650 2007-11-09  Bruno Haible  <bruno@clisp.org>
64651
64652         * doc/functions/snprintf.texi: Mention BeOS deficiency.
64653         * doc/functions/vsnprintf.texi: Likewise.
64654         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
64655         with a size argument < 2.
64656
64657 2007-11-09  Bruno Haible  <bruno@clisp.org>
64658
64659         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
64660         buffer. Fixes an inefficiency introduced on 2007-11-03.
64661
64662 2007-11-09  Bruno Haible  <bruno@clisp.org>
64663
64664         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
64665         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
64666
64667 2007-11-08  Jim Meyering  <meyering@redhat.com>
64668
64669         Change cache variable name prefix "jm_" to "gl_" everywhere.
64670         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
64671         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
64672         * m4/uptime.m4: s/gl_/jm_/
64673
64674 2007-11-07  Bruno Haible  <bruno@clisp.org>
64675
64676         Update to GNU gettext 0.17.
64677         * m4/intl.m4: Update to GNU gettext 0.17.
64678         * m4/po.m4: Likewise.
64679         * modules/gettext (Files): Remove m4/ulonglong.m4.
64680         (configure.ac): Require gettext infrastructure from version 0.17.
64681
64682 2007-11-06  Bruno Haible  <bruno@clisp.org>
64683
64684         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
64685         symbolic values are not defined in a public header.
64686         * lib/freadable.c (freadable) [QNX]: Likewise.
64687         * lib/freadahead.c (freadahead) [QNX]: Likewise.
64688         * lib/freading.c (freading) [QNX]: Likewise.
64689         * lib/fseterr.c (fseterr) [QNX]: Likewise.
64690         * lib/fwritable.c (fwritable) [QNX]: Likewise.
64691         * lib/fwriting.c (fwriting) [QNX]: Likewise.
64692         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
64693         Reported by Alain Magloire.
64694
64695         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
64696
64697 2007-11-05  Bruno Haible  <bruno@clisp.org>
64698
64699         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
64700         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
64701         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
64702         Reported by Eric Blake.
64703
64704 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64705             Bruno Haible  <bruno@clisp.org>
64706
64707         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
64708         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
64709         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
64710         (malloc): Undefine also before including <stdlib.h>.
64711         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
64712         Needed on OSF/1 4.0.
64713
64714 2007-11-05  Jim Meyering  <meyering@redhat.com>
64715
64716         git-version-gen: sync from coreutils.
64717         * build-aux/git-version-gen: Add comments.
64718         Change the first '-' to '.' in the snapshot version string,
64719         e.g., 6.9-377-08144 -> 6.9.377-08144
64720         Remove first parameter.
64721         Don't declare a version "-dirty" merely because a time
64722         stamp has changed.
64723
64724 2007-11-04  Bruno Haible  <bruno@clisp.org>
64725
64726         * lib/lock.h: Protect all macro definitions containing an 'if'
64727         statement through a "do { ... } while (0)".
64728         * lib/tls.h: Likewise.
64729
64730 2007-11-04  Bruno Haible  <bruno@clisp.org>
64731
64732         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
64733
64734 2007-11-04  Bruno Haible  <bruno@clisp.org>
64735
64736         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
64737         * modules/fprintf-posix (Depends-on): Add nocrash.
64738         * modules/snprintf-posix (Depends-on): Likewise.
64739         * modules/sprintf-posix (Depends-on): Likewise.
64740         * modules/vasnprintf-posix (Depends-on): Likewise.
64741         * modules/vasprintf-posix (Depends-on): Likewise.
64742         * modules/vfprintf-posix (Depends-on): Likewise.
64743         * modules/vsnprintf-posix (Depends-on): Likewise.
64744         * modules/vsprintf-posix (Depends-on): Likewise.
64745         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
64746         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
64747         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
64748         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
64749         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
64750         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
64751         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
64752
64753 2007-11-04  Bruno Haible  <bruno@clisp.org>
64754
64755         * modules/nocrash: New file.
64756         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
64757         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
64758
64759 2007-11-04  Bruno Haible  <bruno@clisp.org>
64760
64761         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
64762         precision handling.
64763         * tests/test-vasprintf-posix.c (test_function): Likewise.
64764         * tests/test-snprintf-posix.h (test_function): Likewise.
64765         * tests/test-sprintf-posix.h (test_function): Likewise.
64766
64767         Fix *printf behaviour for large precisions on mingw and BeOS.
64768         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
64769         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
64770         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
64771         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64772         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64773         gl_PRINTF_PRECISION and test its result. Invoke
64774         gl_PREREQ_VASNPRINTF_PRECISION.
64775         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64776         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64777         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64778         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64779         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64780         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64781         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64782         * doc/functions/fprintf.texi: Update.
64783         * doc/functions/printf.texi: Update.
64784         * doc/functions/snprintf.texi: Update.
64785         * doc/functions/sprintf.texi: Update.
64786         * doc/functions/vfprintf.texi: Update.
64787         * doc/functions/vprintf.texi: Update.
64788         * doc/functions/vsnprintf.texi: Update.
64789         * doc/functions/vsprintf.texi: Update.
64790
64791 2007-11-04  Bruno Haible  <bruno@clisp.org>
64792
64793         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
64794
64795 2007-11-04  Bruno Haible  <bruno@clisp.org>
64796
64797         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
64798         Reported by Sylvain Beucler <beuc@gnu.org>.
64799
64800 2007-11-03  Bruno Haible  <bruno@clisp.org>
64801
64802         * tests/test-fprintf-posix2.sh: New file.
64803         * tests/test-fprintf-posix2.c: New file.
64804         * modules/fprintf-posix-tests (Files): Add them.
64805         (TESTS): Add test-fprintf-posix2.sh.
64806         (configure.ac): Check for getrlimit and setrlimit.
64807         (check_PROGRAMS): Add test-fprintf-posix2.
64808
64809         * tests/test-printf-posix2.sh: New file.
64810         * tests/test-printf-posix2.c: New file.
64811         * modules/printf-posix-tests (Files): Add them.
64812         (TESTS): Add test-printf-posix2.sh.
64813         (configure.ac): Check for getrlimit and setrlimit.
64814         (check_PROGRAMS): Add test-printf-posix2.
64815
64816         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
64817         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
64818         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
64819         (decode_double): New function, copied from decode_long_double.
64820         (scale10_round_decimal_decoded): New function, extracted from
64821         scale10_round_decimal_long_double.
64822         (scale10_round_decimal_long_double): Use it.
64823         (scale10_round_decimal_double): New function.
64824         (floorlog10): New function.
64825         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
64826         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
64827         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64828         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64829         gl_PRINTF_ENOMEM and test its result. Invoke
64830         gl_PREREQ_VASNPRINTF_ENOMEM.
64831         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64832         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64833         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64834         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64835         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64836         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64837         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64838         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
64839         * modules/snprintf-posix (Depends-on): Likewise.
64840         * modules/sprintf-posix (Depends-on): Likewise.
64841         * modules/vasnprintf-posix (Depends-on): Likewise.
64842         * modules/vasprintf-posix (Depends-on): Likewise.
64843         * modules/vfprintf-posix (Depends-on): Likewise.
64844         * modules/vsnprintf-posix (Depends-on): Likewise.
64845         * modules/vsprintf-posix (Depends-on): Likewise.
64846         * doc/functions/fprintf.texi: Update.
64847         * doc/functions/printf.texi: Update.
64848         * doc/functions/snprintf.texi: Update.
64849         * doc/functions/sprintf.texi: Update.
64850         * doc/functions/vfprintf.texi: Update.
64851         * doc/functions/vprintf.texi: Update.
64852         * doc/functions/vsnprintf.texi: Update.
64853         * doc/functions/vsprintf.texi: Update.
64854
64855 2007-11-03  Bruno Haible  <bruno@clisp.org>
64856
64857         * modules/frexp-nolibm-tests: New file.
64858
64859         * modules/frexp-nolibm: New file.
64860         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
64861
64862 2007-11-03  Bruno Haible  <bruno@clisp.org>
64863
64864         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
64865         value is C99 compliant.
64866         Needed for OSF/1 5.1.
64867
64868 2007-11-03  Bruno Haible  <bruno@clisp.org>
64869
64870         Fix out-of-memory handling of vasnprintf.
64871         * lib/printf-parse.c: Include <errno.h>.
64872         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
64873         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
64874         is already set.
64875
64876 2007-11-02  Eric Blake  <ebb9@byu.net>
64877
64878         Fix tests on cygwin.
64879         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
64880
64881 2007-11-01  Bruno Haible  <bruno@clisp.org>
64882
64883         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
64884         warning.
64885         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
64886         needed for POSIX compatibility.
64887
64888 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
64889
64890         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
64891         for compatibility with GNU.
64892
64893 2007-11-01  Bruno Haible  <bruno@clisp.org>
64894
64895         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
64896         (putenv): Renamed from rpl_putenv. Change argument type from
64897         'const char *' to 'char *'.
64898         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
64899         of defining putenv in config.h, just set REPLACE_PUTENV.
64900         * modules/putenv (Depends-on): Add stdlib.
64901         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
64902         (Include): Use <stdlib.h>.
64903         * lib/stdlib.in.h (putenv): New declaration.
64904         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
64905         REPLACE_PUTENV.
64906         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
64907         REPLACE_PUTENV.
64908         Needed for MacOS X 10.5.0.
64909         Reported by Peter O'Gorman <peter@pogma.com>.
64910
64911 2007-11-01  Jim Meyering  <meyering@redhat.com>
64912
64913         Treat an empty date string exactly like "0".
64914         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
64915         if the remaining date string (to be parsed) is empty, use "0".
64916         Reported by Mischa Molhoek and discussed in this thread:
64917         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
64918
64919 2007-10-31  Bruno Haible  <bruno@clisp.org>
64920
64921         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
64922         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
64923         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
64924         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
64925         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
64926         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
64927
64928 2007-10-31  Bruno Haible  <bruno@clisp.org>
64929
64930         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
64931         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
64932         (AC_TYPE_LONG_LONG_INT): Use it.
64933         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
64934         it as well.
64935         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
64936         to m4/longlong.m4.
64937         * modules/stdint (Files): Remove m4/ulonglong.m4.
64938         * modules/strtoull (Files): Use m4/longlong.m4 instead of
64939         m4/ulonglong.m4.
64940         * modules/strtoumax (Files): Likewise.
64941
64942 2007-10-30  Bruno Haible  <bruno@clisp.org>
64943
64944         * modules/xvasprintf-posix: New file.
64945         Suggested by Eric Blake.
64946
64947 2007-10-30  Bruno Haible  <bruno@clisp.org>
64948
64949         * modules/xprintf-posix-tests: New file.
64950         * tests/test-xprintf-posix.sh: New file.
64951         * tests/test-xprintf-posix.c: New file.
64952         * tests/test-xfprintf-posix.c: New file.
64953
64954         * modules/xprintf-posix: New file.
64955
64956 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64957
64958         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
64959         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
64960         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
64961
64962 2007-10-29  Bruno Haible  <bruno@clisp.org>
64963
64964         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
64965         contain the special marker '_cv_'.
64966         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
64967         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
64968         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
64969         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
64970         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
64971         Reported by Ralf Wildenhues.
64972
64973 2007-10-29  Bruno Haible  <bruno@clisp.org>
64974
64975         * gnulib-tool (func_import): When --lgpl is not specified, set
64976         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
64977         GPLv3.
64978         Reported by Simon Josefsson.
64979
64980 2007-10-28  Bruno Haible  <bruno@clisp.org>
64981
64982         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
64983         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
64984         HAVE_DECL_ISFINITE.
64985         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64986         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
64987         HAVE_DECL_ISFINITE.
64988
64989 2007-10-28  Bruno Haible  <bruno@clisp.org>
64990
64991         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
64992         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
64993
64994 2007-10-28  Bruno Haible  <bruno@clisp.org>
64995
64996         Fix link errors with Sun C 5.0 on Solaris 10.
64997         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
64998         function is declared but not present in the compiler's libm.
64999         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
65000         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
65001         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
65002         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
65003         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
65004         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
65005         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
65006         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
65007         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
65008         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
65009         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
65010         HAVE_DECL_FLOORL.
65011
65012 2007-10-28  Bruno Haible  <bruno@clisp.org>
65013
65014         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
65015         gl_FUNC_FLOORL. Cache the result.
65016         (gl_FUNC_FLOORL): Use it.
65017         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
65018         gl_FUNC_CEILL. Cache the result.
65019         (gl_FUNC_CEILL): Use it.
65020
65021         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
65022         gl_FUNC_FLOOR. Cache the result.
65023         (gl_FUNC_FLOOR): Use it.
65024         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
65025         gl_FUNC_CEIL. Cache the result.
65026         (gl_FUNC_CEIL): Use it.
65027
65028         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
65029         gl_FUNC_FLOORF. Cache the result.
65030         (gl_FUNC_FLOORF): Use it.
65031         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
65032         gl_FUNC_CEILF. Cache the result.
65033         (gl_FUNC_CEILF): Use it.
65034
65035 2007-10-28  Bruno Haible  <bruno@clisp.org>
65036
65037         * gnulib-tool: Allow specifying the LGPL version number through
65038         --lgpl=2 or --lgpl=3.
65039         (func_usage): Document --lgpl with argument.
65040         Handle --lgpl=... arguments.
65041         (func_import): Recognize also gl_LGPL calls with an argument. When
65042         --lgpl=2 is used and the module's license is just LGPL, report an
65043         error. Set sed_transform_lib_file according to the lgpl variable. In
65044         the generated files, use --lgpl or gl_LGPL invocations with argument,
65045         if necessary.
65046         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
65047         an LGPv2+ license.
65048         * doc/gnulib-tool.texi (Modified imports): Update explanation of
65049         gl_LGPL macro.
65050
65051 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65052             Bruno Haible  <bruno@clisp.org>
65053
65054         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
65055         (u16_uctomb_aux): Likewise.
65056         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
65057         !HAVE_INLINE.
65058         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
65059
65060 2007-10-28  Bruno Haible  <bruno@clisp.org>
65061
65062         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
65063         Invoke AM_GETTEXT_OPTION if it exists.
65064         * modules/vasprintf: Likewise.
65065         * modules/verror: Likewise.
65066         * modules/xprintf: Likewise.
65067         * modules/xvasprintf: Likewise.
65068
65069 2007-10-27  Ben Pfaff  <blp@gnu.org>
65070
65071         * lib/math.in.h: Define isfinite macro and prototypes for
65072         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
65073         implementations.
65074         * m4/math_h.m4: New substitutions for isfinite module.
65075         * lib/isfinite.c: New file.
65076         * m4/isfinite.m4: New file.
65077         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
65078         * modules/isfinite: New file.
65079         * modules/isfinite-tests: New file.
65080         * tests/tests-isfinite.c: New file.
65081         * doc/functions/isfinite.texi: Mention isfinite module.
65082         * MODULES.html.sh: Mention new module.
65083
65084 2007-10-27  Ben Pfaff  <blp@gnu.org>
65085
65086         Ralf Wildenhues reported that Tru64 4.0D declares the round
65087         functions but does not have definitions.
65088         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
65089         cannot be found in any library, set the output variable to
65090         "missing" instead of "".
65091         * m4/round.m4: Also use our substitute if we cannot find round in
65092         any library, even if it is declared.
65093         * m4/roundf.m4: Likewise for roundf.
65094         * m4/roundl.m4: Likewise for roundl.
65095         * lib/math.in.h: Undefine roundf, round, roundl before defining
65096         their replacements, to allow for hypothetical systems where these
65097         may be defined as macros but not available in libraries.
65098
65099 2007-10-27  Bruno Haible  <bruno@clisp.org>
65100
65101         * doc/gnulib.texi: Invoke @firstparagraphindent.
65102         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
65103         changes in gnulib.
65104         (Source changes): New section.
65105
65106 2007-10-26  Bruno Haible  <bruno@clisp.org>
65107
65108         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
65109         borrowed from autoconf.
65110
65111 2007-10-26  Bruno Haible  <bruno@clisp.org>
65112
65113         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
65114         strerror returned the empty string. Needed on HP-UX 11.00.
65115
65116 2007-10-24  Micah Cowan  <micah@cowan.name>
65117
65118         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
65119         * build-aux/bootstrap: Remove support for now-unnecessary option,
65120         --cvs-user, and envvars CVS_USER, CVS_RSH.
65121
65122 2007-10-24  Jim Meyering  <meyering@redhat.com>
65123
65124         Avoid diagnostics from sha1sum when there is no cached checksum.
65125         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
65126         if the po.s1 file hasn't been created yet.
65127
65128         * build-aux/bootstrap: Sync from coreutils:
65129         2007-10-24  Jim Meyering  <meyering@redhat.com>
65130         Get gnulib from the git repository, not from an obsolete cvs one.
65131         * build-aux/bootstrap: Suggestion from Micah Cowan.
65132         2007-10-04  Jim Meyering  <jim@meyering.net>
65133         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
65134         (update_po_files): Work also when there are no .po files in po/.
65135
65136 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
65137
65138         * README: Append ".git" to git and cg examples.
65139         Problem reported by Benoit Sigoure.
65140
65141 2007-10-23  Micah Cowan  <micah@cowan.name>
65142
65143         * users.txt: Add wget.
65144
65145 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65146
65147         Fix linking of some unistdio tests on FreeBSD.
65148         * modules/unistdio/u16-vsnprintf-tests
65149         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
65150         * modules/unistdio/u16-vsprintf-tests
65151         (test_u16_vsnprintf1_LDADD): Likewise.
65152         * modules/unistdio/u32-vsnprintf-tests
65153         (test_u32_vsnprintf1_LDADD): Likewise.
65154         * modules/unistdio/u32-vsprintf-tests
65155         (test_u32_vsprintf1_LDADD): Likewise.
65156         * modules/unistdio/u8-vsnprintf-tests
65157         (test_u8_vsnprintf1_LDADD): Likewise.
65158         * modules/unistdio/u8-vsprintf-tests
65159         (test_u8_vsprintf1_LDADD): Likewise.
65160         * modules/unistdio/ulc-vsnprintf-tests
65161         (test_ulc_vsnprintf1_LDADD): Likewise.
65162         * modules/unistdio/ulc-vsprintf-tests
65163         (test_ulc_vsprintf1_LDADD): Likewise.
65164
65165         Fix linking of some uniconv tests on FreeBSD.
65166         * modules/uniconv/u16-conv-from-enc-tests
65167         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
65168         * modules/uniconv/u16-conv-to-enc-tests
65169         (test_u16_conv_to_enc_LDADD): Likewise.
65170         * modules/uniconv/u16-strconv-from-enc-tests
65171         (test_u16_strconv_from_enc_LDADD): Likewise.
65172         * modules/uniconv/u16-strconv-to-enc-tests
65173         (test_u16_strconv_to_enc_LDADD): Likewise.
65174         * modules/uniconv/u32-conv-from-enc-tests
65175         (test_u32_conv_from_enc_LDADD): Likewise.
65176         * modules/uniconv/u32-conv-to-enc-tests
65177         (test_u32_conv_to_enc_LDADD): Likewise.
65178         * modules/uniconv/u32-strconv-from-enc-tests
65179         (test_u32_strconv_from_enc_LDADD): Likewise.
65180         * modules/uniconv/u32-strconv-to-enc-tests
65181         (test_u32_strconv_to_enc_LDADD): Likewise.
65182         * modules/uniconv/u8-conv-from-enc-tests
65183         (test_u8_conv_from_enc_LDADD): Likewise.
65184         * modules/uniconv/u8-conv-to-enc-tests
65185         (test_u8_conv_to_enc_LDADD): Likewise.
65186         * modules/uniconv/u8-strconv-from-enc-tests
65187         (test_u8_strconv_from_enc_LDADD): Likewise.
65188         * modules/uniconv/u8-strconv-to-enc-tests
65189         (test_u8_strconv_to_enc_LDADD): Likewise.
65190
65191 2007-10-22  Bruno Haible  <bruno@clisp.org>
65192
65193         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
65194         size.
65195
65196 2007-10-22  Eric Blake  <ebb9@byu.net>
65197
65198         Tweak x*printf documentation.
65199         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
65200         variable name and comments.
65201         Suggested by Bruno Haible.
65202
65203 2007-10-22  Bruno Haible  <bruno@clisp.org>
65204
65205         * lib/acl.c (copy_acl): Fix file name in comment.
65206
65207 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
65208
65209         Fix Tru64 problem with stdbool.h.
65210         * lib/stdbool.in.h (false, true):
65211         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
65212         Don't declare as an enum in this situation; it runs afoul of Tru64.
65213         Problem reported by Steven M. Schweda in
65214         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
65215
65216 2007-10-22  Eric Blake  <ebb9@byu.net>
65217
65218         Also wrap vf?printf.
65219         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
65220         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
65221         (xvprintf, xvfprintf): New functions.
65222
65223 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65224
65225         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
65226         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
65227
65228         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
65229         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
65230
65231 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
65232
65233         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
65234         by Bruno Haible.
65235
65236 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65237
65238         * lib/getloadavg.c
65239         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
65240         Undef `sys' after including sys/table.h, for Tru64 4.0D.
65241
65242         * tests/test-i-ring.c: Work for C89.
65243
65244 2007-10-22  Bruno Haible  <bruno@clisp.org>
65245
65246         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
65247         -1u, in preprocessor expression, so that we don't test for the bug
65248         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
65249         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
65250
65251 2007-10-22  Eric Blake  <ebb9@byu.net>
65252
65253         * tests/test-yesno.sh: Silence stderr during test.
65254
65255 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65256
65257         * modules/crypto/gc-camellia: New file.
65258
65259         * m4/gc-camellia.m4: New file.
65260
65261         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
65262
65263         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
65264
65265 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65266
65267         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
65268         --help to stdout.  Reported by sms@antinode.org (Steven
65269         M. Schweda).
65270
65271 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65272
65273         * users.txt: Fix link to libksba.
65274
65275 2007-10-21  Ben Pfaff  <blp@gnu.org>
65276
65277         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
65278         round.c roundf implementation that depends on floorf and ceilf to
65279         be tested unconditionally.
65280
65281 2007-10-21  Ben Pfaff  <blp@gnu.org>
65282
65283         * m4/check-libm-func.m4: Removed.
65284         * m4/check-math-lib.m4: New file.
65285         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
65286         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
65287         definition and lack of AC_LIBOBJ([roundf]).
65288         * m4/roundl.m4: Ditto, and similarly for roundl.
65289         * modules/round: Reference new m4 file.
65290         * modules/roundf: Ditto.
65291         * modules/roundl: Ditto.
65292         * tests/test-round2.c (main): Use ROUND instead of round.
65293         Bug report from Bruno Haible.
65294
65295 2007-10-21  Bruno Haible  <bruno@clisp.org>
65296
65297         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
65298         context.
65299
65300 2007-10-21  Bruno Haible  <bruno@clisp.org>
65301
65302         * tests/test-wcwidth.c (main): Allow negative result for some control
65303         characters.
65304
65305         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
65306         Needed on OSF/1 5.1.
65307
65308 2007-10-21  Bruno Haible  <bruno@clisp.org>
65309
65310         * tests/test-floorf1.c: Include isnanf.h.
65311         (main): Use isnanf() instead of isnan().
65312         * tests/test-ceilf1.c: Include isnanf.h.
65313         (main): Use isnanf() instead of isnan().
65314         * tests/test-truncf1.c: Include isnanf.h.
65315         (main): Use isnanf() instead of isnan().
65316         * tests/test-roundf1.c: Include isnanf.h.
65317         (main): Use isnanf() instead of isnan().
65318
65319 2007-10-21  Eric Blake  <ebb9@byu.net>
65320
65321         * users.txt: Update URL for m4.
65322
65323 2007-10-21  Bruno Haible  <bruno@clisp.org>
65324
65325         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
65326
65327 2007-10-21  Bruno Haible  <bruno@clisp.org>
65328
65329         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
65330         Git's management files if the CVS files are not present.
65331
65332 2007-10-20  Bruno Haible  <bruno@clisp.org>
65333
65334         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
65335         gcc-3.4.x.
65336
65337 2007-10-20  Ben Pfaff  <blp@gnu.org>
65338
65339         * lib/math.in.h: Declare round, roundf, roundl if we are providing
65340         implementations.
65341         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
65342         * lib/round.c: New file.
65343         * lib/roundf.c: New file.
65344         * lib/roundl.c: New file.
65345         * m4/round.m4: New file.
65346         * m4/roundf.m4: New file.
65347         * m4/roundl.m4: New file.
65348         * m4/check-libm-func-m4: New file.
65349         * modules/math: Replace round, roundf, roundl related @VARS@ in
65350         math.in.h.
65351         * modules/round: New file.
65352         * modules/round-tests: New file.
65353         * modules/roundf: New file.
65354         * modules/roundf-tests: New file.
65355         * modules/roundl: New file.
65356         * modules/roundl-tests: New file.
65357         * tests/test-round1.c: New file.
65358         * tests/test-round2.c: New file.
65359         * tests/test-roundf1.c: New file.
65360         * tests/test-roundf2.c: New file.
65361         * tests/test-roundl.c: New file.
65362         * doc/functions/round.texi: Mention round module.
65363         * doc/functions/roundf.texi: Mention roundf module.
65364         * doc/functions/roundl.texi: Mention roundl module.
65365         * MODULES.html.sh: Mention new modules.
65366         Thanks to Bruno Haible for suggestions.
65367
65368 2007-10-20  Jim Meyering  <meyering@redhat.com>
65369
65370         * lib/xprintf.c: Include <config.h> unconditionally.
65371
65372         Change xprintf's license to GPL.
65373         * modules/xprintf (License): s/LGPL/GPL/, since this module
65374         depends on modules (exit and exitfail) which are GPL.
65375         Suggestion from Bruno Haible.
65376
65377         xprintf fixes.
65378         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
65379         Use a clearer diagnostic.
65380         Patch from Bruno Haible.
65381
65382 2007-10-20  Bruno Haible  <bruno@clisp.org>
65383
65384         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
65385         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
65386         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65387
65388 2007-10-20  Bruno Haible  <bruno@clisp.org>
65389
65390         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
65391         precision in the comparison result > x - 1 or similar.
65392         * tests/test-ceilf2.c (correct_result_p): Likewise.
65393         * tests/test-truncf2.c (correct_result_p): Likewise.
65394         * tests/test-trunc2.c (correct_result_p): Likewise.
65395         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65396
65397 2007-10-20  Bruno Haible  <bruno@clisp.org>
65398
65399         * modules/ceil: New file.
65400         * m4/ceil.m4: New file.
65401         * doc/functions/ceil.texi: Mention the 'ceil' module.
65402
65403 2007-10-20  Bruno Haible  <bruno@clisp.org>
65404
65405         * modules/floor: New file.
65406         * m4/floor.m4: New file.
65407         * doc/functions/floor.texi: Mention the 'floor' module.
65408
65409 2007-10-20  Bruno Haible  <bruno@clisp.org>
65410
65411         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
65412         of %a.
65413         * modules/floorf-tests (Depends-on): Likewise.
65414         * modules/truncf-tests (Depends-on): Likewise.
65415         * modules/trunc-tests (Depends-on): Likewise.
65416         Reported by Ben Pfaff.
65417
65418 2007-10-19  Jim Meyering  <meyering@redhat.com>
65419
65420         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
65421         Don't bother testing specific errno values.  Just test ferror.
65422
65423         New module: xprintf
65424         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
65425
65426 2007-10-19  Bruno Haible  <bruno@clisp.org>
65427
65428         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
65429         syntax.
65430         * modules/javaexec (Makefile.am): Likewise.
65431         * modules/relocatable-prog (Makefile.am): Likewise.
65432         Suggested by Jim Meyering.
65433
65434 2007-10-18  Bruno Haible  <bruno@clisp.org>
65435
65436         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
65437         Reported by Jim Meyering.
65438
65439 2007-10-18  Eric Blake  <ebb9@byu.net>
65440
65441         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
65442
65443 2007-10-18  Bruno Haible  <bruno@clisp.org>
65444
65445         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
65446         the format string into writable memory. Needed in Fortify conditions.
65447
65448 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
65449             Bruno Haible  <bruno@clisp.org>
65450
65451         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
65452         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
65453         * modules/trim (Depends-on): Add mbchar.
65454         (configure.ac): Add gl_FUNC_MBRTOWC.
65455         (Makefile.am): Augment lib_SOURCES.
65456
65457 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
65458
65459         Modify glob.c to use fstatat and dirfd, to simplify it.
65460         Suggested by Eric Blake.
65461         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
65462         Don't include <stdbool.h>; not used.
65463         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
65464         (link_exists_p): Simplify implementation, since we can now assume
65465         dirfd and fstatat.
65466         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
65467
65468 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65469
65470         * gnulib-tool (func_get_dependencies): Fix sed script to
65471         match only tests.
65472
65473 2007-10-17  Bruno Haible  <bruno@clisp.org>
65474
65475         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
65476         allow locale names without encoding suffix.
65477         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
65478         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
65479
65480 2007-10-16  Bruno Haible  <bruno@clisp.org>
65481
65482         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
65483         * lib/getgroups.c (getgroups): Likewise.
65484         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
65485
65486 2007-10-16  Bruno Haible  <bruno@clisp.org>
65487
65488         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
65489         * modules/malloc-posix (License): Likewise.
65490         * modules/realloc-posix (License): Likewise.
65491         * modules/calloc-posix (License): Likewise.
65492         * modules/intprops (License): Change from GPL to LGPL, with
65493         Paul Eggert's approval.
65494
65495 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
65496
65497         Merge glibc changes into lib/glob.c.
65498
65499         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
65500         2007-10-15 04:59:03 UTC.  Here are the changes:
65501
65502         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
65503
65504         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
65505
65506         * lib/glob.c: Add some branch prediction throughout.
65507
65508         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
65509
65510         [BZ #5103]
65511         * lib/glob.c (glob): Recognize patterns starting \/.
65512
65513         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
65514
65515         [BZ #3996]
65516         * lib/glob.c (attribute_hidden): Define if not defined.
65517         (glob): Unescape dirname, filename or username when needed and not
65518         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
65519         is NULL.  Handle unescaped [ in pattern without closing ].
65520         Don't pass GLOB_CHECK down to recursive glob for directories.
65521         (__glob_pattern_type): New function.
65522         (__glob_pattern_p): Implement using __glob_pattern_type.
65523         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
65524         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
65525         Remove unreachable code.
65526
65527         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
65528
65529         * lib/glob.c (glob_in_dir): Add some comments and asserts to
65530         explain why there are no leaks.
65531
65532         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
65533
65534         [BZ #3253]
65535         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
65536         time, rather allocate increasingly bigger arrays of pointers, if
65537         possible with alloca, if too large with malloc.
65538
65539 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
65540
65541         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
65542         Problem reported by H.Merijn Brand in
65543         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
65544         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
65545         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
65546
65547 2007-10-15  Bruno Haible  <bruno@clisp.org>
65548
65549         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
65550         with explicit rpl_ prefix.
65551         * lib/fopen.c (fopen): Likewise.
65552         * lib/freopen.c (freopen): Likewise.
65553         * lib/iconv.c (iconv): Likewise.
65554         * lib/iconv_close.c (iconv_close): Likewise.
65555
65556 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65557
65558         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
65559
65560 2007-10-15  Bruno Haible  <bruno@clisp.org>
65561
65562         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
65563         <stddef.h> instead of <stdlib.h> since we only need NULL.
65564         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65565
65566 2007-10-15  Bruno Haible  <bruno@clisp.org>
65567
65568         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
65569         Replace paragraph talking about LIBOBJS.
65570         Reported by Colin Watson <cjwatson@debian.org>.
65571
65572 2007-10-15  Bruno Haible  <bruno@clisp.org>
65573
65574         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
65575         <stdlib.h> before using NULL.
65576
65577 2007-10-15  Simon Josefsson  <simon@josefsson.org>
65578
65579         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
65580         Reported by Albert Chin <china@thewrittenword.com>.
65581
65582 2007-10-14  Bruno Haible  <bruno@clisp.org>
65583
65584         * modules/iconv_open-utf-tests: New file.
65585         * tests/test-iconv-utf.c: New file.
65586
65587         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
65588         * modules/iconv_open-utf: New file.
65589         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
65590         (iconv, iconv_close): New declarations.
65591         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
65592         be defined.
65593         (iconv_open): Add special handling of conversion between UTF-8 and
65594         UTF-{16,32}{BE,LE}.
65595         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
65596         * lib/iconv_close.c: New file.
65597         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
65598         gl_FUNC_ICONV_OPEN.
65599         (gl_FUNC_ICONV_OPEN): Use it.
65600         (gl_FUNC_ICONV_OPEN_UTF): New macro.
65601         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
65602         and REPLACE_ICONV_UTF.
65603         * modules/iconv_open (Depends-on): Add c-strcase.
65604         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
65605         ICONV_CONST.
65606         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
65607
65608 2007-10-13  Albert Chin  <china@thewrittenword.com>
65609             Bruno Haible  <bruno@clisp.org>
65610
65611         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
65612         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
65613
65614 2007-10-13  Bruno Haible  <bruno@clisp.org>
65615
65616         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
65617         defined, use the ISO C99 inline semantics.
65618         * lib/argp.h (ARGP_EI): Likewise.
65619
65620 2007-10-13  Bruno Haible  <bruno@clisp.org>
65621
65622         Handle 'inline' change in gcc 4.3.0.
65623         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
65624         argp_fmtstream_write, argp_fmtstream_set_lmargin,
65625         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
65626         argp_fmtstream_point): Disable 'extern' declaration if the function
65627         definition is going to be provided inline.
65628         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
65629         semantics, not the ISO C99 inline semantics.
65630         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
65631         'extern' declaration if the function definition is going to be provided
65632         inline.
65633         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
65634         the GNU C inline semantics, not the ISO C99 inline semantics. With
65635         GCC 4.2, avoid a warning.
65636
65637 2007-10-13  Bruno Haible  <bruno@clisp.org>
65638
65639         * lib/freading.h (freading): Enable the use of __freading for
65640         glibc >= 2.7.
65641         * lib/freading.c (freading): Likewise.
65642
65643 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
65644
65645         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
65646         "warning: C99 inline functions are not supported; using GNU89".
65647
65648 2007-10-12  Bruno Haible  <bruno@clisp.org>
65649
65650         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
65651         of 2.
65652         * tests/test-ceilf2.c: New file.
65653         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
65654
65655         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
65656         * modules/ceilf-tests: Update.
65657
65658 2007-10-12  Bruno Haible  <bruno@clisp.org>
65659
65660         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
65661         of 2.
65662         * tests/test-floorf2.c: New file.
65663         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
65664
65665         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
65666         * modules/floorf-tests: Update.
65667
65668 2007-10-12  Bruno Haible  <bruno@clisp.org>
65669
65670         * tests/test-trunc2.c: New file.
65671         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
65672
65673         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
65674         * modules/trunc-tests: Update.
65675
65676 2007-10-12  Bruno Haible  <bruno@clisp.org>
65677
65678         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
65679         of 2.
65680         * tests/test-truncf2.c: New file.
65681         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
65682
65683         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
65684         * modules/truncf-tests: Update.
65685
65686 2007-10-11  Eric Blake  <ebb9@byu.net>
65687
65688         Don't claim strerror is broken on Interix.
65689         * doc/functions/strerror.texi (strerror): Known broken systems are
65690         now Solaris 8, and not Interix.
65691         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
65692         Interix on cross-compile.
65693         Reported by Martin Koeppe in
65694         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
65695
65696 2007-10-11  Bruno Haible  <bruno@clisp.org>
65697
65698         * modules/i-ring-tests: New file.
65699         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
65700         instead of assert.
65701
65702 2007-10-11  Bruno Haible  <bruno@clisp.org>
65703
65704         * modules/filenamecat-tests: New file.
65705         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
65706         * lib/filenamecat.c: Remove test code.
65707
65708 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
65709
65710         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
65711
65712         * lib/strerror.c: Include <string.h> always, to test interface,
65713         and to remove the need for the dummy.
65714         Include intprops.h to compute width instead of doing it ourselves
65715         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
65716         (strerror): Define it to return NULL if there's no system strerror.
65717         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
65718         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
65719         ancient pre-strerror Unix systems well any more.  Saying "unknown
65720         system error" is enough.
65721         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
65722         simpler strerror.c implementation.
65723         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
65724         Simplify the tests to reflect the simpler strerror implementation.
65725         * modules/strerror (Depends-on): Add intprops.
65726
65727 2007-10-09  Eric Blake  <ebb9@byu.net>
65728
65729         Silence test-fpending.
65730         * modules/fpending-tests (Files): Add wrapper script.
65731         * tests/test-fpending.sh: New file.
65732
65733 2007-10-09  Bruno Haible  <bruno@clisp.org>
65734
65735         * MODULES.html.sh (func_module): Don't create a hyperlink for
65736         function names like 'printf_frexp'.
65737         (Misc): Add crc, memxor.
65738         (Characteristics of floating types): New section.
65739         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
65740         isnanf-nolibm, signbit, trunc, truncf, truncl.
65741         (Enhancements for ISO C 99 functions): New subsection Input/output.
65742         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
65743         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
65744         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
65745         (Compatibility checks for POSIX:2001 functions): Add clock-time.
65746         (Enhancements for POSIX:2001 functions): Add chdir-long.
65747         (File system functions): Add areadlink, chdir-safer, read-file.
65748         Remove cycle-check.
65749         (File system as inode set): New section.
65750         (Date and time): Add gethrxtime.
65751         (Multithreading): Add openmp.
65752         (Internationalization functions): Add localename.
65753         (Unicode string functions): Add unistr/u*-mbsnlen.
65754         (Support for maintaining and releasing projects): Add git-version-gen.
65755         (Lone files): Remove directories.
65756
65757 2007-10-08  Ben Pfaff  <blp@gnu.org>
65758
65759         * lib/xmalloca.h: Fix typo in comment.
65760
65761 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
65762
65763         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
65764         when avoiding problems with integer overflow.  Use a portable test
65765         instead.
65766
65767 2007-10-08  Simon Josefsson  <simon@josefsson.org>
65768
65769         * modules/dummy (License): Change to LGPLv2+.
65770         * modules/float (License): Likewise
65771         * modules/realloc (License): Likewise
65772         * modules/stdlib (License): Likewise
65773
65774 2007-10-07  Bruno Haible  <bruno@clisp.org>
65775
65776         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
65777         * floor.c (TWO_MANT_DIG): Likewise.
65778         * ceil.c (TWO_MANT_DIG): Likewise.
65779         Reported by Ben Pfaff.
65780
65781 2007-10-07  Bruno Haible  <bruno@clisp.org>
65782
65783         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
65784         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
65785         * lib/frexp.c (FUNC): Likewise.
65786         * lib/printf-frexp.h (printf_frexp): Likewise.
65787         * lib/printf-frexpl.h (printf_frexpl): Likewise.
65788         * lib/printf-frexp.c (FUNC): Likewise.
65789         Suggested by Jim Meyering.
65790
65791 2007-10-07  Jim Meyering  <meyering@redhat.com>
65792
65793         Make xnanosleep's integer overflow test more robust.
65794         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
65795         so that gcc-4.3.0 doesn't optimize away this test for overflow.
65796
65797 2007-10-07  Bruno Haible  <bruno@clisp.org>
65798
65799         * NEWS: Mention the license change.
65800
65801         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
65802         abbreviations in the modules files.
65803
65804         Change copyright notice from GPLv2+ to GPLv3+.
65805         * README: Change copyright notice.
65806         * MODULES.html.sh: Likewise.
65807         * build-aux/bootstrap.conf: Likewise.
65808         * build-aux/config.libpath: Likewise.
65809         * build-aux/csharpcomp.sh.in: Likewise.
65810         * build-aux/csharpexec.sh.in: Likewise.
65811         * build-aux/install-reloc: Likewise.
65812         * build-aux/javacomp.sh.in: Likewise.
65813         * build-aux/javaexec.sh.in: Likewise.
65814         * build-aux/ldd.sh.in: Likewise.
65815         * build-aux/reloc-ldflags: Likewise.
65816         * build-aux/relocatable.sh.in: Likewise.
65817         * build-aux/x-to-1.in: Likewise.
65818         * check-module: Likewise.
65819         * config/srclistvars.sh: Likewise.
65820         * gnulib-tool: Likewise.
65821         * lib/acl-internal.h: Likewise.
65822         * lib/acl.c: Likewise.
65823         * lib/acl.h: Likewise.
65824         * lib/acl_entries.c: Likewise.
65825         * lib/areadlink-with-size.c: Likewise.
65826         * lib/areadlink.c: Likewise.
65827         * lib/areadlink.h: Likewise.
65828         * lib/argmatch.c: Likewise.
65829         * lib/argmatch.h: Likewise.
65830         * lib/argp-ba.c: Likewise.
65831         * lib/argp-eexst.c: Likewise.
65832         * lib/argp-fmtstream.c: Likewise.
65833         * lib/argp-fmtstream.h: Likewise.
65834         * lib/argp-fs-xinl.c: Likewise.
65835         * lib/argp-help.c: Likewise.
65836         * lib/argp-namefrob.h: Likewise.
65837         * lib/argp-parse.c: Likewise.
65838         * lib/argp-pin.c: Likewise.
65839         * lib/argp-pv.c: Likewise.
65840         * lib/argp-pvh.c: Likewise.
65841         * lib/argp-xinl.c: Likewise.
65842         * lib/argp.h: Likewise.
65843         * lib/at-func.c: Likewise.
65844         * lib/atanl.c: Likewise.
65845         * lib/backupfile.c: Likewise.
65846         * lib/backupfile.h: Likewise.
65847         * lib/basename.c: Likewise.
65848         * lib/binary-io.h: Likewise.
65849         * lib/byteswap.in.h: Likewise.
65850         * lib/c-stack.c: Likewise.
65851         * lib/c-stack.h: Likewise.
65852         * lib/c-strcasestr.c: Likewise.
65853         * lib/c-strcasestr.h: Likewise.
65854         * lib/c-strstr.c: Likewise.
65855         * lib/c-strstr.h: Likewise.
65856         * lib/c-strtod.c: Likewise.
65857         * lib/calloc.c: Likewise.
65858         * lib/canon-host.c: Likewise.
65859         * lib/canon-host.h: Likewise.
65860         * lib/canonicalize-lgpl.c: Likewise.
65861         * lib/canonicalize.c: Likewise.
65862         * lib/canonicalize.h: Likewise.
65863         * lib/ceil.c: Likewise.
65864         * lib/ceilf.c: Likewise.
65865         * lib/ceill.c: Likewise.
65866         * lib/chdir-long.c: Likewise.
65867         * lib/chdir-long.h: Likewise.
65868         * lib/chdir-safer.c: Likewise.
65869         * lib/chdir-safer.h: Likewise.
65870         * lib/chown.c: Likewise.
65871         * lib/classpath.c: Likewise.
65872         * lib/classpath.h: Likewise.
65873         * lib/clean-temp.c: Likewise.
65874         * lib/clean-temp.h: Likewise.
65875         * lib/cloexec.c: Likewise.
65876         * lib/close-stream.c: Likewise.
65877         * lib/closein.c: Likewise.
65878         * lib/closein.h: Likewise.
65879         * lib/closeout.c: Likewise.
65880         * lib/closeout.h: Likewise.
65881         * lib/concat-filename.c: Likewise.
65882         * lib/copy-file.c: Likewise.
65883         * lib/copy-file.h: Likewise.
65884         * lib/count-one-bits.h: Likewise.
65885         * lib/crc.c: Likewise.
65886         * lib/crc.h: Likewise.
65887         * lib/creat-safer.c: Likewise.
65888         * lib/csharpcomp.c: Likewise.
65889         * lib/csharpcomp.h: Likewise.
65890         * lib/csharpexec.c: Likewise.
65891         * lib/csharpexec.h: Likewise.
65892         * lib/cycle-check.c: Likewise.
65893         * lib/cycle-check.h: Likewise.
65894         * lib/diacrit.c: Likewise.
65895         * lib/diacrit.h: Likewise.
65896         * lib/diffseq.h: Likewise.
65897         * lib/dirchownmod.c: Likewise.
65898         * lib/dirent.in.h: Likewise.
65899         * lib/dirfd.c: Likewise.
65900         * lib/dirfd.h: Likewise.
65901         * lib/dirname.c: Likewise.
65902         * lib/dirname.h: Likewise.
65903         * lib/dummy.c: Likewise.
65904         * lib/dup-safer.c: Likewise.
65905         * lib/dup2.c: Likewise.
65906         * lib/eealloc.h: Likewise.
65907         * lib/error.c: Likewise.
65908         * lib/error.h: Likewise.
65909         * lib/euidaccess.c: Likewise.
65910         * lib/exclude.c: Likewise.
65911         * lib/exclude.h: Likewise.
65912         * lib/execute.c: Likewise.
65913         * lib/execute.h: Likewise.
65914         * lib/exitfail.c: Likewise.
65915         * lib/exitfail.h: Likewise.
65916         * lib/expl.c: Likewise.
65917         * lib/fatal-signal.c: Likewise.
65918         * lib/fatal-signal.h: Likewise.
65919         * lib/fbufmode.c: Likewise.
65920         * lib/fbufmode.h: Likewise.
65921         * lib/fchdir.c: Likewise.
65922         * lib/fchmodat.c: Likewise.
65923         * lib/fchownat.c: Likewise.
65924         * lib/fcntl--.h: Likewise.
65925         * lib/fcntl-safer.h: Likewise.
65926         * lib/fcntl.in.h: Likewise.
65927         * lib/fd-safer.c: Likewise.
65928         * lib/fflush.c: Likewise.
65929         * lib/file-has-acl.c: Likewise.
65930         * lib/file-set.c: Likewise.
65931         * lib/file-type.c: Likewise.
65932         * lib/file-type.h: Likewise.
65933         * lib/fileblocks.c: Likewise.
65934         * lib/filemode.c: Likewise.
65935         * lib/filemode.h: Likewise.
65936         * lib/filename.h: Likewise.
65937         * lib/filenamecat.c: Likewise.
65938         * lib/filenamecat.h: Likewise.
65939         * lib/findprog.c: Likewise.
65940         * lib/findprog.h: Likewise.
65941         * lib/float.in.h: Likewise.
65942         * lib/floor.c: Likewise.
65943         * lib/floorf.c: Likewise.
65944         * lib/floorl.c: Likewise.
65945         * lib/fopen-safer.c: Likewise.
65946         * lib/fopen.c: Likewise.
65947         * lib/fpending.c: Likewise.
65948         * lib/fpending.h: Likewise.
65949         * lib/fprintf.c: Likewise.
65950         * lib/fprintftime.h: Likewise.
65951         * lib/fpucw.h: Likewise.
65952         * lib/fpurge.c: Likewise.
65953         * lib/fpurge.h: Likewise.
65954         * lib/freadable.c: Likewise.
65955         * lib/freadable.h: Likewise.
65956         * lib/freadahead.c: Likewise.
65957         * lib/freadahead.h: Likewise.
65958         * lib/freading.c: Likewise.
65959         * lib/freading.h: Likewise.
65960         * lib/free.c: Likewise.
65961         * lib/freopen.c: Likewise.
65962         * lib/frexp.c: Likewise.
65963         * lib/frexpl.c: Likewise.
65964         * lib/fseek.c: Likewise.
65965         * lib/fseterr.c: Likewise.
65966         * lib/fseterr.h: Likewise.
65967         * lib/fstatat.c: Likewise.
65968         * lib/fstrcmp.c: Likewise.
65969         * lib/fstrcmp.h: Likewise.
65970         * lib/fsusage.c: Likewise.
65971         * lib/fsusage.h: Likewise.
65972         * lib/ftell.c: Likewise.
65973         * lib/ftello.c: Likewise.
65974         * lib/fts-cycle.c: Likewise.
65975         * lib/fts.c: Likewise.
65976         * lib/fts_.h: Likewise.
65977         * lib/full-read.c: Likewise.
65978         * lib/full-read.h: Likewise.
65979         * lib/full-write.c: Likewise.
65980         * lib/full-write.h: Likewise.
65981         * lib/fwritable.c: Likewise.
65982         * lib/fwritable.h: Likewise.
65983         * lib/fwriteerror.c: Likewise.
65984         * lib/fwriteerror.h: Likewise.
65985         * lib/fwriting.c: Likewise.
65986         * lib/fwriting.h: Likewise.
65987         * lib/gcd.c: Likewise.
65988         * lib/gcd.h: Likewise.
65989         * lib/getcwd.c: Likewise.
65990         * lib/getdate.h: Likewise.
65991         * lib/getdate.y: Likewise.
65992         * lib/getdomainname.c: Likewise.
65993         * lib/getdomainname.h: Likewise.
65994         * lib/getgroups.c: Likewise.
65995         * lib/gethostname.c: Likewise.
65996         * lib/gethrxtime.c: Likewise.
65997         * lib/gethrxtime.h: Likewise.
65998         * lib/getloadavg.c: Likewise.
65999         * lib/getndelim2.c: Likewise.
66000         * lib/getndelim2.h: Likewise.
66001         * lib/getnline.c: Likewise.
66002         * lib/getnline.h: Likewise.
66003         * lib/getopt.c: Likewise.
66004         * lib/getopt.in.h: Likewise.
66005         * lib/getopt1.c: Likewise.
66006         * lib/getopt_int.h: Likewise.
66007         * lib/getpagesize.h: Likewise.
66008         * lib/getsubopt.c: Likewise.
66009         * lib/gettime.c: Likewise.
66010         * lib/getugroups.c: Likewise.
66011         * lib/getugroups.h: Likewise.
66012         * lib/getusershell.c: Likewise.
66013         * lib/gl_anyavltree_list1.h: Likewise.
66014         * lib/gl_anyavltree_list2.h: Likewise.
66015         * lib/gl_anyhash_list1.h: Likewise.
66016         * lib/gl_anyhash_list2.h: Likewise.
66017         * lib/gl_anylinked_list1.h: Likewise.
66018         * lib/gl_anylinked_list2.h: Likewise.
66019         * lib/gl_anyrbtree_list1.h: Likewise.
66020         * lib/gl_anyrbtree_list2.h: Likewise.
66021         * lib/gl_anytree_list1.h: Likewise.
66022         * lib/gl_anytree_list2.h: Likewise.
66023         * lib/gl_anytree_oset.h: Likewise.
66024         * lib/gl_anytreehash_list1.h: Likewise.
66025         * lib/gl_anytreehash_list2.h: Likewise.
66026         * lib/gl_array_list.c: Likewise.
66027         * lib/gl_array_list.h: Likewise.
66028         * lib/gl_array_oset.c: Likewise.
66029         * lib/gl_array_oset.h: Likewise.
66030         * lib/gl_avltree_list.c: Likewise.
66031         * lib/gl_avltree_list.h: Likewise.
66032         * lib/gl_avltree_oset.c: Likewise.
66033         * lib/gl_avltree_oset.h: Likewise.
66034         * lib/gl_avltreehash_list.c: Likewise.
66035         * lib/gl_avltreehash_list.h: Likewise.
66036         * lib/gl_carray_list.c: Likewise.
66037         * lib/gl_carray_list.h: Likewise.
66038         * lib/gl_linked_list.c: Likewise.
66039         * lib/gl_linked_list.h: Likewise.
66040         * lib/gl_linkedhash_list.c: Likewise.
66041         * lib/gl_linkedhash_list.h: Likewise.
66042         * lib/gl_list.c: Likewise.
66043         * lib/gl_list.h: Likewise.
66044         * lib/gl_oset.c: Likewise.
66045         * lib/gl_oset.h: Likewise.
66046         * lib/gl_rbtree_list.c: Likewise.
66047         * lib/gl_rbtree_list.h: Likewise.
66048         * lib/gl_rbtree_oset.c: Likewise.
66049         * lib/gl_rbtree_oset.h: Likewise.
66050         * lib/gl_rbtreehash_list.c: Likewise.
66051         * lib/gl_rbtreehash_list.h: Likewise.
66052         * lib/gl_sublist.c: Likewise.
66053         * lib/gl_sublist.h: Likewise.
66054         * lib/group-member.c: Likewise.
66055         * lib/group-member.h: Likewise.
66056         * lib/hard-locale.c: Likewise.
66057         * lib/hard-locale.h: Likewise.
66058         * lib/hash-pjw.c: Likewise.
66059         * lib/hash-pjw.h: Likewise.
66060         * lib/hash-triple.c: Likewise.
66061         * lib/hash.c: Likewise.
66062         * lib/hash.h: Likewise.
66063         * lib/human.c: Likewise.
66064         * lib/human.h: Likewise.
66065         * lib/i-ring.c: Likewise.
66066         * lib/i-ring.h: Likewise.
66067         * lib/idcache.c: Likewise.
66068         * lib/imaxabs.c: Likewise.
66069         * lib/imaxdiv.c: Likewise.
66070         * lib/inet_pton.c: Likewise.
66071         * lib/inet_pton.h: Likewise.
66072         * lib/intprops.h: Likewise.
66073         * lib/inttostr.c: Likewise.
66074         * lib/inttostr.h: Likewise.
66075         * lib/inttypes.in.h: Likewise.
66076         * lib/isapipe.c: Likewise.
66077         * lib/isdir.c: Likewise.
66078         * lib/isnan.c: Likewise.
66079         * lib/isnan.h: Likewise.
66080         * lib/isnanf.c: Likewise.
66081         * lib/isnanf.h: Likewise.
66082         * lib/isnanl-nolibm.h: Likewise.
66083         * lib/isnanl.c: Likewise.
66084         * lib/isnanl.h: Likewise.
66085         * lib/javacomp.c: Likewise.
66086         * lib/javacomp.h: Likewise.
66087         * lib/javaexec.c: Likewise.
66088         * lib/javaexec.h: Likewise.
66089         * lib/javaversion.c: Likewise.
66090         * lib/javaversion.h: Likewise.
66091         * lib/javaversion.java: Likewise.
66092         * lib/lbrkprop.h: Likewise.
66093         * lib/lchmod.h: Likewise.
66094         * lib/lchown.c: Likewise.
66095         * lib/ldexpl.c: Likewise.
66096         * lib/linebreak.c: Likewise.
66097         * lib/linebreak.h: Likewise.
66098         * lib/linebuffer.c: Likewise.
66099         * lib/linebuffer.h: Likewise.
66100         * lib/locale.in.h: Likewise.
66101         * lib/logl.c: Likewise.
66102         * lib/long-options.c: Likewise.
66103         * lib/long-options.h: Likewise.
66104         * lib/lstat.c: Likewise.
66105         * lib/lstat.h: Likewise.
66106         * lib/math.in.h: Likewise.
66107         * lib/mbchar.c: Likewise.
66108         * lib/mbchar.h: Likewise.
66109         * lib/mbfile.h: Likewise.
66110         * lib/mbiter.h: Likewise.
66111         * lib/mbscasecmp.c: Likewise.
66112         * lib/mbscasestr.c: Likewise.
66113         * lib/mbschr.c: Likewise.
66114         * lib/mbscspn.c: Likewise.
66115         * lib/mbslen.c: Likewise.
66116         * lib/mbsncasecmp.c: Likewise.
66117         * lib/mbsnlen.c: Likewise.
66118         * lib/mbspbrk.c: Likewise.
66119         * lib/mbspcasecmp.c: Likewise.
66120         * lib/mbsrchr.c: Likewise.
66121         * lib/mbssep.c: Likewise.
66122         * lib/mbsspn.c: Likewise.
66123         * lib/mbsstr.c: Likewise.
66124         * lib/mbstok_r.c: Likewise.
66125         * lib/mbswidth.c: Likewise.
66126         * lib/mbswidth.h: Likewise.
66127         * lib/mbuiter.h: Likewise.
66128         * lib/memcasecmp.c: Likewise.
66129         * lib/memcasecmp.h: Likewise.
66130         * lib/memchr.c: Likewise.
66131         * lib/memcmp.c: Likewise.
66132         * lib/memcoll.c: Likewise.
66133         * lib/memcoll.h: Likewise.
66134         * lib/memcpy.c: Likewise.
66135         * lib/memrchr.c: Likewise.
66136         * lib/mkancesdirs.c: Likewise.
66137         * lib/mkdir-p.c: Likewise.
66138         * lib/mkdir-p.h: Likewise.
66139         * lib/mkdir.c: Likewise.
66140         * lib/mkdirat.c: Likewise.
66141         * lib/mkdtemp.c: Likewise.
66142         * lib/mkstemp-safer.c: Likewise.
66143         * lib/mkstemp.c: Likewise.
66144         * lib/modechange.c: Likewise.
66145         * lib/modechange.h: Likewise.
66146         * lib/mountlist.c: Likewise.
66147         * lib/mountlist.h: Likewise.
66148         * lib/mpsort.c: Likewise.
66149         * lib/nanosleep.c: Likewise.
66150         * lib/obstack.c: Likewise.
66151         * lib/obstack.h: Likewise.
66152         * lib/open-safer.c: Likewise.
66153         * lib/open.c: Likewise.
66154         * lib/openat-die.c: Likewise.
66155         * lib/openat-priv.h: Likewise.
66156         * lib/openat-proc.c: Likewise.
66157         * lib/openat.c: Likewise.
66158         * lib/openat.h: Likewise.
66159         * lib/pagealign_alloc.c: Likewise.
66160         * lib/pagealign_alloc.h: Likewise.
66161         * lib/physmem.c: Likewise.
66162         * lib/physmem.h: Likewise.
66163         * lib/pipe-safer.c: Likewise.
66164         * lib/pipe.c: Likewise.
66165         * lib/pipe.h: Likewise.
66166         * lib/posixtm.c: Likewise.
66167         * lib/posixtm.h: Likewise.
66168         * lib/posixver.c: Likewise.
66169         * lib/printf-frexp.c: Likewise.
66170         * lib/printf-frexp.h: Likewise.
66171         * lib/printf-frexpl.c: Likewise.
66172         * lib/printf-frexpl.h: Likewise.
66173         * lib/printf.c: Likewise.
66174         * lib/progname.c: Likewise.
66175         * lib/progname.h: Likewise.
66176         * lib/progreloc.c: Likewise.
66177         * lib/putenv.c: Likewise.
66178         * lib/quote.c: Likewise.
66179         * lib/quote.h: Likewise.
66180         * lib/quotearg.c: Likewise.
66181         * lib/quotearg.h: Likewise.
66182         * lib/raise.c: Likewise.
66183         * lib/readline.c: Likewise.
66184         * lib/readline.h: Likewise.
66185         * lib/readlink.c: Likewise.
66186         * lib/readtokens.c: Likewise.
66187         * lib/readtokens.h: Likewise.
66188         * lib/readtokens0.c: Likewise.
66189         * lib/readtokens0.h: Likewise.
66190         * lib/readutmp.c: Likewise.
66191         * lib/readutmp.h: Likewise.
66192         * lib/realloc.c: Likewise.
66193         * lib/relocwrapper.c: Likewise.
66194         * lib/rename-dest-slash.c: Likewise.
66195         * lib/rename.c: Likewise.
66196         * lib/rmdir.c: Likewise.
66197         * lib/rpmatch.c: Likewise.
66198         * lib/safe-read.c: Likewise.
66199         * lib/safe-read.h: Likewise.
66200         * lib/safe-write.c: Likewise.
66201         * lib/safe-write.h: Likewise.
66202         * lib/same-inode.h: Likewise.
66203         * lib/same.c: Likewise.
66204         * lib/same.h: Likewise.
66205         * lib/save-cwd.c: Likewise.
66206         * lib/save-cwd.h: Likewise.
66207         * lib/savedir.c: Likewise.
66208         * lib/savedir.h: Likewise.
66209         * lib/savewd.c: Likewise.
66210         * lib/savewd.h: Likewise.
66211         * lib/search.in.h: Likewise.
66212         * lib/setenv.c: Likewise.
66213         * lib/setenv.h: Likewise.
66214         * lib/settime.c: Likewise.
66215         * lib/sh-quote.c: Likewise.
66216         * lib/sh-quote.h: Likewise.
66217         * lib/sig2str.c: Likewise.
66218         * lib/sig2str.h: Likewise.
66219         * lib/signal.in.h: Likewise.
66220         * lib/signbitd.c: Likewise.
66221         * lib/signbitf.c: Likewise.
66222         * lib/signbitl.c: Likewise.
66223         * lib/sigprocmask.c: Likewise.
66224         * lib/sincosl.c: Likewise.
66225         * lib/sleep.c: Likewise.
66226         * lib/sprintf.c: Likewise.
66227         * lib/sqrtl.c: Likewise.
66228         * lib/stat-time.h: Likewise.
66229         * lib/stdio--.h: Likewise.
66230         * lib/stdio-safer.h: Likewise.
66231         * lib/stdlib--.h: Likewise.
66232         * lib/stdlib-safer.h: Likewise.
66233         * lib/stdlib.in.h: Likewise.
66234         * lib/stpcpy.c: Likewise.
66235         * lib/stpncpy.c: Likewise.
66236         * lib/strchrnul.c: Likewise.
66237         * lib/strcspn.c: Likewise.
66238         * lib/strerror.c: Likewise.
66239         * lib/strftime.c: Likewise.
66240         * lib/strftime.h: Likewise.
66241         * lib/striconveh.c: Likewise.
66242         * lib/striconveh.h: Likewise.
66243         * lib/striconveha.c: Likewise.
66244         * lib/striconveha.h: Likewise.
66245         * lib/stripslash.c: Likewise.
66246         * lib/strnlen1.c: Likewise.
66247         * lib/strnlen1.h: Likewise.
66248         * lib/strtod.c: Likewise.
66249         * lib/strtoimax.c: Likewise.
66250         * lib/strtok_r.c: Likewise.
66251         * lib/strtol.c: Likewise.
66252         * lib/strtoll.c: Likewise.
66253         * lib/strtoul.c: Likewise.
66254         * lib/strtoull.c: Likewise.
66255         * lib/sysexits.in.h: Likewise.
66256         * lib/tempname.c: Likewise.
66257         * lib/tempname.h: Likewise.
66258         * lib/timespec.h: Likewise.
66259         * lib/tls.c: Likewise.
66260         * lib/tls.h: Likewise.
66261         * lib/tmpdir.c: Likewise.
66262         * lib/tmpdir.h: Likewise.
66263         * lib/tmpfile-safer.c: Likewise.
66264         * lib/tmpfile.c: Likewise.
66265         * lib/trigl.c: Likewise.
66266         * lib/trigl.h: Likewise.
66267         * lib/trim.c: Likewise.
66268         * lib/trim.h: Likewise.
66269         * lib/trunc.c: Likewise.
66270         * lib/truncf.c: Likewise.
66271         * lib/truncl.c: Likewise.
66272         * lib/tsearch.c: Likewise.
66273         * lib/unicodeio.c: Likewise.
66274         * lib/unicodeio.h: Likewise.
66275         * lib/unistd--.h: Likewise.
66276         * lib/unistd-safer.h: Likewise.
66277         * lib/unistdio/ulc-fprintf.c: Likewise.
66278         * lib/unistdio/ulc-vfprintf.c: Likewise.
66279         * lib/unlinkdir.c: Likewise.
66280         * lib/unlinkdir.h: Likewise.
66281         * lib/unlocked-io.h: Likewise.
66282         * lib/unsetenv.c: Likewise.
66283         * lib/userspec.c: Likewise.
66284         * lib/utime.c: Likewise.
66285         * lib/utimecmp.c: Likewise.
66286         * lib/utimecmp.h: Likewise.
66287         * lib/utimens.c: Likewise.
66288         * lib/verify.h: Likewise.
66289         * lib/verror.c: Likewise.
66290         * lib/verror.h: Likewise.
66291         * lib/version-etc-fsf.c: Likewise.
66292         * lib/version-etc.c: Likewise.
66293         * lib/version-etc.h: Likewise.
66294         * lib/vfprintf.c: Likewise.
66295         * lib/vprintf.c: Likewise.
66296         * lib/vsprintf.c: Likewise.
66297         * lib/w32spawn.h: Likewise.
66298         * lib/wait-process.c: Likewise.
66299         * lib/wait-process.h: Likewise.
66300         * lib/wcwidth.c: Likewise.
66301         * lib/write-any-file.c: Likewise.
66302         * lib/xalloc-die.c: Likewise.
66303         * lib/xalloc.h: Likewise.
66304         * lib/xasprintf.c: Likewise.
66305         * lib/xgetcwd.c: Likewise.
66306         * lib/xgetcwd.h: Likewise.
66307         * lib/xgetdomainname.c: Likewise.
66308         * lib/xgetdomainname.h: Likewise.
66309         * lib/xgethostname.c: Likewise.
66310         * lib/xmalloc.c: Likewise.
66311         * lib/xmalloca.c: Likewise.
66312         * lib/xmalloca.h: Likewise.
66313         * lib/xmemcoll.c: Likewise.
66314         * lib/xnanosleep.c: Likewise.
66315         * lib/xreadlink.c: Likewise.
66316         * lib/xreadlink.h: Likewise.
66317         * lib/xsetenv.c: Likewise.
66318         * lib/xsetenv.h: Likewise.
66319         * lib/xstriconv.c: Likewise.
66320         * lib/xstriconv.h: Likewise.
66321         * lib/xstrndup.c: Likewise.
66322         * lib/xstrndup.h: Likewise.
66323         * lib/xstrtod.c: Likewise.
66324         * lib/xstrtod.h: Likewise.
66325         * lib/xstrtol-error.c: Likewise.
66326         * lib/xstrtol.c: Likewise.
66327         * lib/xstrtol.h: Likewise.
66328         * lib/xtime.h: Likewise.
66329         * lib/xvasprintf.c: Likewise.
66330         * lib/xvasprintf.h: Likewise.
66331         * lib/yesno.c: Likewise.
66332         * lib/yesno.h: Likewise.
66333         * posix-modules: Likewise.
66334         * tests/test-alloca-opt.c: Likewise.
66335         * tests/test-arcfour.c: Likewise.
66336         * tests/test-arctwo.c: Likewise.
66337         * tests/test-argmatch.c: Likewise.
66338         * tests/test-argp-2.sh: Likewise.
66339         * tests/test-argp.c: Likewise.
66340         * tests/test-arpa_inet.c: Likewise.
66341         * tests/test-array_list.c: Likewise.
66342         * tests/test-array_oset.c: Likewise.
66343         * tests/test-atexit.c: Likewise.
66344         * tests/test-avltree_list.c: Likewise.
66345         * tests/test-avltree_oset.c: Likewise.
66346         * tests/test-avltreehash_list.c: Likewise.
66347         * tests/test-base64.c: Likewise.
66348         * tests/test-binary-io.c: Likewise.
66349         * tests/test-byteswap.c: Likewise.
66350         * tests/test-c-ctype.c: Likewise.
66351         * tests/test-c-strcasecmp.c: Likewise.
66352         * tests/test-c-strcasestr.c: Likewise.
66353         * tests/test-c-strncasecmp.c: Likewise.
66354         * tests/test-c-strstr.c: Likewise.
66355         * tests/test-canonicalize-lgpl.c: Likewise.
66356         * tests/test-canonicalize.c: Likewise.
66357         * tests/test-carray_list.c: Likewise.
66358         * tests/test-ceilf.c: Likewise.
66359         * tests/test-ceill.c: Likewise.
66360         * tests/test-count-one-bits.c: Likewise.
66361         * tests/test-crc.c: Likewise.
66362         * tests/test-dirname.c: Likewise.
66363         * tests/test-fbufmode.c: Likewise.
66364         * tests/test-fcntl.c: Likewise.
66365         * tests/test-fflush.c: Likewise.
66366         * tests/test-floorf.c: Likewise.
66367         * tests/test-floorl.c: Likewise.
66368         * tests/test-fopen.c: Likewise.
66369         * tests/test-fprintf-posix.c: Likewise.
66370         * tests/test-fprintf-posix.h: Likewise.
66371         * tests/test-fpurge.c: Likewise.
66372         * tests/test-freadable.c: Likewise.
66373         * tests/test-freadahead.c: Likewise.
66374         * tests/test-freading.c: Likewise.
66375         * tests/test-freopen.c: Likewise.
66376         * tests/test-frexp.c: Likewise.
66377         * tests/test-frexpl.c: Likewise.
66378         * tests/test-fseek.c: Likewise.
66379         * tests/test-fseeko.c: Likewise.
66380         * tests/test-fseterr.c: Likewise.
66381         * tests/test-fstrcmp.c: Likewise.
66382         * tests/test-ftell.c: Likewise.
66383         * tests/test-ftello.c: Likewise.
66384         * tests/test-fwritable.c: Likewise.
66385         * tests/test-fwriting.c: Likewise.
66386         * tests/test-getaddrinfo.c: Likewise.
66387         * tests/test-getpass.c: Likewise.
66388         * tests/test-gettimeofday.c: Likewise.
66389         * tests/test-hmac-md5.c: Likewise.
66390         * tests/test-hmac-sha1.c: Likewise.
66391         * tests/test-iconv.c: Likewise.
66392         * tests/test-iconvme.c: Likewise.
66393         * tests/test-inttypes.c: Likewise.
66394         * tests/test-isnan.c: Likewise.
66395         * tests/test-isnanf.c: Likewise.
66396         * tests/test-isnanl-nolibm.c: Likewise.
66397         * tests/test-isnanl.c: Likewise.
66398         * tests/test-isnanl.h: Likewise.
66399         * tests/test-ldexpl.c: Likewise.
66400         * tests/test-linked_list.c: Likewise.
66401         * tests/test-linkedhash_list.c: Likewise.
66402         * tests/test-locale.c: Likewise.
66403         * tests/test-localename.c: Likewise.
66404         * tests/test-lock.c: Likewise.
66405         * tests/test-lseek.c: Likewise.
66406         * tests/test-malloca.c: Likewise.
66407         * tests/test-math.c: Likewise.
66408         * tests/test-mbscasecmp.c: Likewise.
66409         * tests/test-mbscasestr1.c: Likewise.
66410         * tests/test-mbscasestr2.c: Likewise.
66411         * tests/test-mbscasestr3.c: Likewise.
66412         * tests/test-mbscasestr4.c: Likewise.
66413         * tests/test-mbschr.c: Likewise.
66414         * tests/test-mbscspn.c: Likewise.
66415         * tests/test-mbsncasecmp.c: Likewise.
66416         * tests/test-mbspbrk.c: Likewise.
66417         * tests/test-mbspcasecmp.c: Likewise.
66418         * tests/test-mbsrchr.c: Likewise.
66419         * tests/test-mbsspn.c: Likewise.
66420         * tests/test-mbsstr1.c: Likewise.
66421         * tests/test-mbsstr2.c: Likewise.
66422         * tests/test-mbsstr3.c: Likewise.
66423         * tests/test-md5.c: Likewise.
66424         * tests/test-memmem.c: Likewise.
66425         * tests/test-netinet_in.c: Likewise.
66426         * tests/test-open.c: Likewise.
66427         * tests/test-printf-frexp.c: Likewise.
66428         * tests/test-printf-frexpl.c: Likewise.
66429         * tests/test-printf-posix.c: Likewise.
66430         * tests/test-printf-posix.h: Likewise.
66431         * tests/test-rbtree_list.c: Likewise.
66432         * tests/test-rbtree_oset.c: Likewise.
66433         * tests/test-rbtreehash_list.c: Likewise.
66434         * tests/test-read-file.c: Likewise.
66435         * tests/test-rijndael.c: Likewise.
66436         * tests/test-search.c: Likewise.
66437         * tests/test-signbit.c: Likewise.
66438         * tests/test-sleep.c: Likewise.
66439         * tests/test-snprintf-posix.c: Likewise.
66440         * tests/test-snprintf-posix.h: Likewise.
66441         * tests/test-snprintf.c: Likewise.
66442         * tests/test-sprintf-posix.c: Likewise.
66443         * tests/test-sprintf-posix.h: Likewise.
66444         * tests/test-stat-time.c: Likewise.
66445         * tests/test-stdbool.c: Likewise.
66446         * tests/test-stdint.c: Likewise.
66447         * tests/test-stdio.c: Likewise.
66448         * tests/test-stdlib.c: Likewise.
66449         * tests/test-stpncpy.c: Likewise.
66450         * tests/test-strcasestr.c: Likewise.
66451         * tests/test-striconv.c: Likewise.
66452         * tests/test-striconveh.c: Likewise.
66453         * tests/test-striconveha.c: Likewise.
66454         * tests/test-string.c: Likewise.
66455         * tests/test-sys_select.c: Likewise.
66456         * tests/test-sys_socket.c: Likewise.
66457         * tests/test-sys_stat.c: Likewise.
66458         * tests/test-sys_time.c: Likewise.
66459         * tests/test-sysexits.c: Likewise.
66460         * tests/test-time.c: Likewise.
66461         * tests/test-tls.c: Likewise.
66462         * tests/test-trunc.c: Likewise.
66463         * tests/test-truncf.c: Likewise.
66464         * tests/test-truncl.c: Likewise.
66465         * tests/test-unistd.c: Likewise.
66466         * tests/test-vasnprintf-posix.c: Likewise.
66467         * tests/test-vasnprintf-posix2.c: Likewise.
66468         * tests/test-vasnprintf.c: Likewise.
66469         * tests/test-vasprintf-posix.c: Likewise.
66470         * tests/test-vasprintf.c: Likewise.
66471         * tests/test-verify.c: Likewise.
66472         * tests/test-vfprintf-posix.c: Likewise.
66473         * tests/test-vprintf-posix.c: Likewise.
66474         * tests/test-vsnprintf-posix.c: Likewise.
66475         * tests/test-vsnprintf.c: Likewise.
66476         * tests/test-vsprintf-posix.c: Likewise.
66477         * tests/test-wchar.c: Likewise.
66478         * tests/test-wctype.c: Likewise.
66479         * tests/test-wcwidth.c: Likewise.
66480         * tests/test-xstrtol.c: Likewise.
66481         * tests/test-xvasprintf.c: Likewise.
66482         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
66483         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
66484         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
66485         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
66486         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
66487         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
66488         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
66489         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
66490         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
66491         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
66492         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
66493         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
66494         * tests/uniname/test-uninames.c: Likewise.
66495         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
66496         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
66497         * tests/unistdio/test-u16-printf1.h: Likewise.
66498         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
66499         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
66500         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
66501         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
66502         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
66503         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
66504         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
66505         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
66506         * tests/unistdio/test-u32-printf1.h: Likewise.
66507         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
66508         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
66509         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
66510         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
66511         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
66512         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
66513         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
66514         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
66515         * tests/unistdio/test-u8-printf1.h: Likewise.
66516         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
66517         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
66518         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
66519         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
66520         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
66521         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
66522         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
66523         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
66524         * tests/unistdio/test-ulc-printf1.h: Likewise.
66525         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
66526         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
66527         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
66528         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
66529         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
66530         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
66531         * tests/uniwidth/test-u16-strwidth.c: Likewise.
66532         * tests/uniwidth/test-u16-width.c: Likewise.
66533         * tests/uniwidth/test-u32-strwidth.c: Likewise.
66534         * tests/uniwidth/test-u32-width.c: Likewise.
66535         * tests/uniwidth/test-u8-strwidth.c: Likewise.
66536         * tests/uniwidth/test-u8-width.c: Likewise.
66537         * tests/uniwidth/test-uc_width.c: Likewise.
66538         * config/srclist-update: Likewise.
66539         (fixlicense): Update to GPLv3+.
66540
66541         Change copyright notice from LGPLv2.1+ to LGPLv3+.
66542         * tests/test-tsearch.c: Change copyright notice.
66543
66544         Change copyright notice from LGPLv2.0+ to LGPLv3+.
66545         * lib/c-strcaseeq.h: Change copyright notice.
66546         * lib/streq.h: Likewise.
66547         * lib/uniconv.h: Likewise.
66548         * lib/uniconv/u-conv-from-enc.h: Likewise.
66549         * lib/uniconv/u-conv-to-enc.h: Likewise.
66550         * lib/uniconv/u-strconv-from-enc.h: Likewise.
66551         * lib/uniconv/u-strconv-to-enc.h: Likewise.
66552         * lib/uniconv/u16-conv-from-enc.c: Likewise.
66553         * lib/uniconv/u16-conv-to-enc.c: Likewise.
66554         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
66555         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
66556         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
66557         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
66558         * lib/uniconv/u32-conv-from-enc.c: Likewise.
66559         * lib/uniconv/u32-conv-to-enc.c: Likewise.
66560         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
66561         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
66562         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
66563         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
66564         * lib/uniconv/u8-conv-from-enc.c: Likewise.
66565         * lib/uniconv/u8-conv-to-enc.c: Likewise.
66566         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
66567         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
66568         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
66569         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
66570         * lib/uniname.h: Likewise.
66571         * lib/uniname/uniname.c: Likewise.
66572         * lib/unistdio.h: Likewise.
66573         * lib/unistdio/u-asnprintf.h: Likewise.
66574         * lib/unistdio/u-asprintf.h: Likewise.
66575         * lib/unistdio/u-printf-args.c: Likewise.
66576         * lib/unistdio/u-printf-args.h: Likewise.
66577         * lib/unistdio/u-printf-parse.h: Likewise.
66578         * lib/unistdio/u-snprintf.h: Likewise.
66579         * lib/unistdio/u-sprintf.h: Likewise.
66580         * lib/unistdio/u-vasprintf.h: Likewise.
66581         * lib/unistdio/u-vsnprintf.h: Likewise.
66582         * lib/unistdio/u-vsprintf.h: Likewise.
66583         * lib/unistdio/u16-asnprintf.c: Likewise.
66584         * lib/unistdio/u16-asprintf.c: Likewise.
66585         * lib/unistdio/u16-printf-parse.c: Likewise.
66586         * lib/unistdio/u16-snprintf.c: Likewise.
66587         * lib/unistdio/u16-sprintf.c: Likewise.
66588         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
66589         * lib/unistdio/u16-u16-asprintf.c: Likewise.
66590         * lib/unistdio/u16-u16-snprintf.c: Likewise.
66591         * lib/unistdio/u16-u16-sprintf.c: Likewise.
66592         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
66593         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
66594         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
66595         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
66596         * lib/unistdio/u16-vasnprintf.c: Likewise.
66597         * lib/unistdio/u16-vasprintf.c: Likewise.
66598         * lib/unistdio/u16-vsnprintf.c: Likewise.
66599         * lib/unistdio/u16-vsprintf.c: Likewise.
66600         * lib/unistdio/u32-asnprintf.c: Likewise.
66601         * lib/unistdio/u32-asprintf.c: Likewise.
66602         * lib/unistdio/u32-printf-parse.c: Likewise.
66603         * lib/unistdio/u32-snprintf.c: Likewise.
66604         * lib/unistdio/u32-sprintf.c: Likewise.
66605         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
66606         * lib/unistdio/u32-u32-asprintf.c: Likewise.
66607         * lib/unistdio/u32-u32-snprintf.c: Likewise.
66608         * lib/unistdio/u32-u32-sprintf.c: Likewise.
66609         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
66610         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
66611         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
66612         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
66613         * lib/unistdio/u32-vasnprintf.c: Likewise.
66614         * lib/unistdio/u32-vasprintf.c: Likewise.
66615         * lib/unistdio/u32-vsnprintf.c: Likewise.
66616         * lib/unistdio/u32-vsprintf.c: Likewise.
66617         * lib/unistdio/u8-asnprintf.c: Likewise.
66618         * lib/unistdio/u8-asprintf.c: Likewise.
66619         * lib/unistdio/u8-printf-parse.c: Likewise.
66620         * lib/unistdio/u8-snprintf.c: Likewise.
66621         * lib/unistdio/u8-sprintf.c: Likewise.
66622         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
66623         * lib/unistdio/u8-u8-asprintf.c: Likewise.
66624         * lib/unistdio/u8-u8-snprintf.c: Likewise.
66625         * lib/unistdio/u8-u8-sprintf.c: Likewise.
66626         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
66627         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
66628         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
66629         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
66630         * lib/unistdio/u8-vasnprintf.c: Likewise.
66631         * lib/unistdio/u8-vasprintf.c: Likewise.
66632         * lib/unistdio/u8-vsnprintf.c: Likewise.
66633         * lib/unistdio/u8-vsprintf.c: Likewise.
66634         * lib/unistdio/ulc-asnprintf.c: Likewise.
66635         * lib/unistdio/ulc-asprintf.c: Likewise.
66636         * lib/unistdio/ulc-printf-parse.c: Likewise.
66637         * lib/unistdio/ulc-snprintf.c: Likewise.
66638         * lib/unistdio/ulc-sprintf.c: Likewise.
66639         * lib/unistdio/ulc-vasnprintf.c: Likewise.
66640         * lib/unistdio/ulc-vasprintf.c: Likewise.
66641         * lib/unistdio/ulc-vsnprintf.c: Likewise.
66642         * lib/unistdio/ulc-vsprintf.c: Likewise.
66643         * lib/unistr.h: Likewise.
66644         * lib/unistr/u-cpy-alloc.h: Likewise.
66645         * lib/unistr/u-cpy.h: Likewise.
66646         * lib/unistr/u-endswith.h: Likewise.
66647         * lib/unistr/u-move.h: Likewise.
66648         * lib/unistr/u-set.h: Likewise.
66649         * lib/unistr/u-startswith.h: Likewise.
66650         * lib/unistr/u-stpcpy.h: Likewise.
66651         * lib/unistr/u-stpncpy.h: Likewise.
66652         * lib/unistr/u-strcat.h: Likewise.
66653         * lib/unistr/u-strcpy.h: Likewise.
66654         * lib/unistr/u-strcspn.h: Likewise.
66655         * lib/unistr/u-strdup.h: Likewise.
66656         * lib/unistr/u-strlen.h: Likewise.
66657         * lib/unistr/u-strncat.h: Likewise.
66658         * lib/unistr/u-strncpy.h: Likewise.
66659         * lib/unistr/u-strnlen.h: Likewise.
66660         * lib/unistr/u-strpbrk.h: Likewise.
66661         * lib/unistr/u-strspn.h: Likewise.
66662         * lib/unistr/u-strstr.h: Likewise.
66663         * lib/unistr/u-strtok.h: Likewise.
66664         * lib/unistr/u16-check.c: Likewise.
66665         * lib/unistr/u16-chr.c: Likewise.
66666         * lib/unistr/u16-cmp.c: Likewise.
66667         * lib/unistr/u16-cpy-alloc.c: Likewise.
66668         * lib/unistr/u16-cpy.c: Likewise.
66669         * lib/unistr/u16-endswith.c: Likewise.
66670         * lib/unistr/u16-mblen.c: Likewise.
66671         * lib/unistr/u16-mbsnlen.c: Likewise.
66672         * lib/unistr/u16-mbtouc-aux.c: Likewise.
66673         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
66674         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
66675         * lib/unistr/u16-mbtouc.c: Likewise.
66676         * lib/unistr/u16-mbtoucr.c: Likewise.
66677         * lib/unistr/u16-move.c: Likewise.
66678         * lib/unistr/u16-next.c: Likewise.
66679         * lib/unistr/u16-prev.c: Likewise.
66680         * lib/unistr/u16-set.c: Likewise.
66681         * lib/unistr/u16-startswith.c: Likewise.
66682         * lib/unistr/u16-stpcpy.c: Likewise.
66683         * lib/unistr/u16-stpncpy.c: Likewise.
66684         * lib/unistr/u16-strcat.c: Likewise.
66685         * lib/unistr/u16-strchr.c: Likewise.
66686         * lib/unistr/u16-strcmp.c: Likewise.
66687         * lib/unistr/u16-strcpy.c: Likewise.
66688         * lib/unistr/u16-strcspn.c: Likewise.
66689         * lib/unistr/u16-strdup.c: Likewise.
66690         * lib/unistr/u16-strlen.c: Likewise.
66691         * lib/unistr/u16-strmblen.c: Likewise.
66692         * lib/unistr/u16-strmbtouc.c: Likewise.
66693         * lib/unistr/u16-strncat.c: Likewise.
66694         * lib/unistr/u16-strncmp.c: Likewise.
66695         * lib/unistr/u16-strncpy.c: Likewise.
66696         * lib/unistr/u16-strnlen.c: Likewise.
66697         * lib/unistr/u16-strpbrk.c: Likewise.
66698         * lib/unistr/u16-strrchr.c: Likewise.
66699         * lib/unistr/u16-strspn.c: Likewise.
66700         * lib/unistr/u16-strstr.c: Likewise.
66701         * lib/unistr/u16-strtok.c: Likewise.
66702         * lib/unistr/u16-to-u32.c: Likewise.
66703         * lib/unistr/u16-to-u8.c: Likewise.
66704         * lib/unistr/u16-uctomb-aux.c: Likewise.
66705         * lib/unistr/u16-uctomb.c: Likewise.
66706         * lib/unistr/u32-check.c: Likewise.
66707         * lib/unistr/u32-chr.c: Likewise.
66708         * lib/unistr/u32-cmp.c: Likewise.
66709         * lib/unistr/u32-cpy-alloc.c: Likewise.
66710         * lib/unistr/u32-cpy.c: Likewise.
66711         * lib/unistr/u32-endswith.c: Likewise.
66712         * lib/unistr/u32-mblen.c: Likewise.
66713         * lib/unistr/u32-mbsnlen.c: Likewise.
66714         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
66715         * lib/unistr/u32-mbtouc.c: Likewise.
66716         * lib/unistr/u32-mbtoucr.c: Likewise.
66717         * lib/unistr/u32-move.c: Likewise.
66718         * lib/unistr/u32-next.c: Likewise.
66719         * lib/unistr/u32-prev.c: Likewise.
66720         * lib/unistr/u32-set.c: Likewise.
66721         * lib/unistr/u32-startswith.c: Likewise.
66722         * lib/unistr/u32-stpcpy.c: Likewise.
66723         * lib/unistr/u32-stpncpy.c: Likewise.
66724         * lib/unistr/u32-strcat.c: Likewise.
66725         * lib/unistr/u32-strchr.c: Likewise.
66726         * lib/unistr/u32-strcmp.c: Likewise.
66727         * lib/unistr/u32-strcpy.c: Likewise.
66728         * lib/unistr/u32-strcspn.c: Likewise.
66729         * lib/unistr/u32-strdup.c: Likewise.
66730         * lib/unistr/u32-strlen.c: Likewise.
66731         * lib/unistr/u32-strmblen.c: Likewise.
66732         * lib/unistr/u32-strmbtouc.c: Likewise.
66733         * lib/unistr/u32-strncat.c: Likewise.
66734         * lib/unistr/u32-strncmp.c: Likewise.
66735         * lib/unistr/u32-strncpy.c: Likewise.
66736         * lib/unistr/u32-strnlen.c: Likewise.
66737         * lib/unistr/u32-strpbrk.c: Likewise.
66738         * lib/unistr/u32-strrchr.c: Likewise.
66739         * lib/unistr/u32-strspn.c: Likewise.
66740         * lib/unistr/u32-strstr.c: Likewise.
66741         * lib/unistr/u32-strtok.c: Likewise.
66742         * lib/unistr/u32-to-u16.c: Likewise.
66743         * lib/unistr/u32-to-u8.c: Likewise.
66744         * lib/unistr/u32-uctomb.c: Likewise.
66745         * lib/unistr/u8-check.c: Likewise.
66746         * lib/unistr/u8-chr.c: Likewise.
66747         * lib/unistr/u8-cmp.c: Likewise.
66748         * lib/unistr/u8-cpy-alloc.c: Likewise.
66749         * lib/unistr/u8-cpy.c: Likewise.
66750         * lib/unistr/u8-endswith.c: Likewise.
66751         * lib/unistr/u8-mblen.c: Likewise.
66752         * lib/unistr/u8-mbsnlen.c: Likewise.
66753         * lib/unistr/u8-mbtouc-aux.c: Likewise.
66754         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
66755         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
66756         * lib/unistr/u8-mbtouc.c: Likewise.
66757         * lib/unistr/u8-mbtoucr.c: Likewise.
66758         * lib/unistr/u8-move.c: Likewise.
66759         * lib/unistr/u8-next.c: Likewise.
66760         * lib/unistr/u8-prev.c: Likewise.
66761         * lib/unistr/u8-set.c: Likewise.
66762         * lib/unistr/u8-startswith.c: Likewise.
66763         * lib/unistr/u8-stpcpy.c: Likewise.
66764         * lib/unistr/u8-stpncpy.c: Likewise.
66765         * lib/unistr/u8-strcat.c: Likewise.
66766         * lib/unistr/u8-strchr.c: Likewise.
66767         * lib/unistr/u8-strcmp.c: Likewise.
66768         * lib/unistr/u8-strcpy.c: Likewise.
66769         * lib/unistr/u8-strcspn.c: Likewise.
66770         * lib/unistr/u8-strdup.c: Likewise.
66771         * lib/unistr/u8-strlen.c: Likewise.
66772         * lib/unistr/u8-strmblen.c: Likewise.
66773         * lib/unistr/u8-strmbtouc.c: Likewise.
66774         * lib/unistr/u8-strncat.c: Likewise.
66775         * lib/unistr/u8-strncmp.c: Likewise.
66776         * lib/unistr/u8-strncpy.c: Likewise.
66777         * lib/unistr/u8-strnlen.c: Likewise.
66778         * lib/unistr/u8-strpbrk.c: Likewise.
66779         * lib/unistr/u8-strrchr.c: Likewise.
66780         * lib/unistr/u8-strspn.c: Likewise.
66781         * lib/unistr/u8-strstr.c: Likewise.
66782         * lib/unistr/u8-strtok.c: Likewise.
66783         * lib/unistr/u8-to-u16.c: Likewise.
66784         * lib/unistr/u8-to-u32.c: Likewise.
66785         * lib/unistr/u8-uctomb-aux.c: Likewise.
66786         * lib/unistr/u8-uctomb.c: Likewise.
66787         * lib/unitypes.h: Likewise.
66788         * lib/uniwidth.h: Likewise.
66789         * lib/uniwidth/cjk.h: Likewise.
66790         * lib/uniwidth/u16-strwidth.c: Likewise.
66791         * lib/uniwidth/u16-width.c: Likewise.
66792         * lib/uniwidth/u32-strwidth.c: Likewise.
66793         * lib/uniwidth/u32-width.c: Likewise.
66794         * lib/uniwidth/u8-strwidth.c: Likewise.
66795         * lib/uniwidth/u8-width.c: Likewise.
66796         * lib/uniwidth/width.c: Likewise.
66797
66798 2007-10-07  Bruno Haible  <bruno@clisp.org>
66799
66800         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
66801         The file is still under LGPL (see modules/inttypes).
66802
66803 2007-10-06  Bruno Haible  <bruno@clisp.org>
66804
66805         * modules/trunc (Dependencies): Add 'extensions'.
66806         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
66807         Reported by Ben Pfaff <blp@gnu.org>.
66808
66809 2007-10-06  Bruno Haible  <bruno@clisp.org>
66810
66811         * modules/freopen-tests: New file.
66812         * tests/test-freopen.c: New file.
66813
66814         * modules/fopen-tests: New file.
66815         * tests/test-fopen.c: New file.
66816
66817         * modules/fopen: New file.
66818         * lib/fopen.c: New file.
66819         * m4/fopen.m4: New file.
66820         * modules/freopen: New file.
66821         * lib/freopen.c: New file.
66822         * m4/freopen.m4: New file.
66823         * lib/stdio.in.h (fopen, freopen): New declarations.
66824         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
66825         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66826         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
66827         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66828         * doc/functions/fopen.texi: Mention the 'fopen' module.
66829         * doc/functions/freopen.texi: Mention the 'freopen' module.
66830
66831 2007-10-06  Bruno Haible  <bruno@clisp.org>
66832
66833         * modules/open-tests: New file.
66834         * tests/test-open.c: New file.
66835
66836         * modules/open: New file.
66837         * lib/open.c: New file.
66838         * m4/open.m4: New file.
66839         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
66840         lib/open.c does.
66841         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
66842         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
66843         macros.
66844         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
66845         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
66846         REPLACE_OPEN.
66847         * doc/functions/open.texi: Mention the 'open' module.
66848
66849 2007-10-04  Bruno Haible  <bruno@clisp.org>
66850
66851         * modules/ceill-tests: New file.
66852         * tests/test-ceill.c: New file.
66853
66854         * modules/ceill: New file.
66855         * lib/ceill.c: Replace entire file.
66856         * m4/ceill.m4: New file.
66857         * lib/math.in.h (ceill): Replace declaration.
66858         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
66859         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
66860         * doc/functions/ceill.texi: Mention the 'ceill' module.
66861         * modules/mathl (Files): Remove lib/ceill.c.
66862         (Depends-on): Add ceill.
66863
66864 2007-10-04  Bruno Haible  <bruno@clisp.org>
66865
66866         * modules/ceilf-tests: New file.
66867         * tests/test-ceilf.c: New file.
66868
66869         * modules/ceilf: New file.
66870         * lib/ceil.c: New file.
66871         * lib/ceilf.c: New file.
66872         * m4/ceilf.m4: New file.
66873         * lib/math.in.h (ceilf): New declaration.
66874         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
66875         HAVE_DECL_CEILF.
66876         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
66877         HAVE_DECL_CEILF.
66878         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
66879
66880 2007-10-04  Bruno Haible  <bruno@clisp.org>
66881
66882         * modules/floorl-tests: New file.
66883         * tests/test-floorl.c: New file.
66884
66885         * modules/floorl: New file.
66886         * lib/floorl.c: Replace entire file.
66887         * m4/floorl.m4: New file.
66888         * lib/math.in.h (floorl): Replace declaration.
66889         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
66890         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
66891         * doc/functions/floorl.texi: Mention the 'floorl' module.
66892         * modules/mathl (Files): Remove lib/floorl.c.
66893         (Depends-on): Add floorl.
66894
66895 2007-10-04  Bruno Haible  <bruno@clisp.org>
66896
66897         * modules/floorf-tests: New file.
66898         * tests/test-floorf.c: New file.
66899
66900         * modules/floorf: New file.
66901         * lib/floor.c: New file.
66902         * lib/floorf.c: New file.
66903         * m4/floorf.m4: New file.
66904         * lib/math.in.h (floorf): New declaration.
66905         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
66906         HAVE_DECL_FLOORF.
66907         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
66908         HAVE_DECL_FLOORF.
66909         * doc/functions/floorf.texi: Mention the 'floorf' module.
66910
66911 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
66912             Bruno Haible  <bruno@clisp.org>
66913
66914         Advertise for the Git server instead of the CVS server.
66915         * doc/gnulib-intro.texi (Steady Development): Mention the Git
66916         repository instead of the CVS one.
66917         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
66918         about all VCS systems generically.
66919         * doc/gnulib.texi (Introduction): Capitalize `Git'.
66920
66921 2007-10-04  Bruno Haible  <bruno@clisp.org>
66922
66923         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
66924         means.
66925         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
66926
66927 2007-10-04  Bruno Haible  <bruno@clisp.org>
66928
66929         * modules/truncl-tests: New file.
66930         * tests/test-truncl.c: New file.
66931
66932         * modules/truncl: New file.
66933         * lib/truncl.c: New file.
66934         * m4/truncl.m4: New file.
66935         * lib/math.in.h (truncl): New declaration.
66936         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
66937         HAVE_DECL_TRUNCL.
66938         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
66939         HAVE_DECL_TRUNCL.
66940         * doc/functions/truncl.texi: Mention the 'truncl' module.
66941
66942 2007-10-04  Bruno Haible  <bruno@clisp.org>
66943
66944         * modules/truncf-tests: New file.
66945         * tests/test-truncf.c: New file.
66946
66947         * modules/truncf: New file.
66948         * lib/trunc.c: Make paramerizable through USE_* macros.
66949         * lib/truncf.c: New file.
66950         * m4/truncf.m4: New file.
66951         * lib/math.in.h (truncf): New declaration.
66952         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
66953         HAVE_DECL_TRUNCF.
66954         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
66955         HAVE_DECL_TRUNCF.
66956         * doc/functions/truncf.texi: Mention the 'truncf' module.
66957
66958 2007-10-03  Bruno Haible  <bruno@clisp.org>
66959
66960         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
66961         augmentation also for tests modules.
66962         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
66963         * modules/atexit-tests (Makefile.am): Likewise.
66964         * modules/binary-io-tests (Makefile.am): Likewise.
66965         * modules/c-strcase-tests (Makefile.am): Likewise.
66966         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
66967         * modules/canonicalize-tests (Makefile.am): Likewise.
66968         * modules/closein-tests (Makefile.am): Likewise.
66969         * modules/fprintf-posix-tests (Makefile.am): Likewise.
66970         * modules/freadahead-tests (Makefile.am): Likewise.
66971         * modules/fseek-tests (Makefile.am): Likewise.
66972         * modules/fseeko-tests (Makefile.am): Likewise.
66973         * modules/ftell-tests (Makefile.am): Likewise.
66974         * modules/ftello-tests (Makefile.am): Likewise.
66975         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
66976         * modules/isnanl-tests (Makefile.am): Likewise.
66977         * modules/lseek-tests (Makefile.am): Likewise.
66978         * modules/mbscasecmp-tests (Makefile.am): Likewise.
66979         * modules/mbscasestr-tests (Makefile.am): Likewise.
66980         * modules/mbschr-tests (Makefile.am): Likewise.
66981         * modules/mbscspn-tests (Makefile.am): Likewise.
66982         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
66983         * modules/mbspbrk-tests (Makefile.am): Likewise.
66984         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
66985         * modules/mbsrchr-tests (Makefile.am): Likewise.
66986         * modules/mbsspn-tests (Makefile.am): Likewise.
66987         * modules/mbsstr-tests (Makefile.am): Likewise.
66988         * modules/printf-posix-tests (Makefile.am): Likewise.
66989         * modules/snprintf-posix-tests (Makefile.am): Likewise.
66990         * modules/sprintf-posix-tests (Makefile.am): Likewise.
66991         * modules/tsearch-tests (Makefile.am): Likewise.
66992         * modules/uniname/uniname-tests (Makefile.am): Likewise.
66993         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
66994         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
66995         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
66996         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
66997         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
66998         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
66999         * modules/vprintf-posix-tests (Makefile.am): Likewise.
67000         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
67001         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
67002         * modules/xstrtoimax-tests (Makefile.am): Likewise.
67003         * modules/xstrtol-tests (Makefile.am): Likewise.
67004         * modules/xstrtoumax-tests (Makefile.am): Likewise.
67005         * modules/yesno-tests (Makefile.am): Likewise.
67006
67007 2007-10-03  Bruno Haible  <bruno@clisp.org>
67008
67009         * modules/trunc-tests: New file.
67010         * tests/test-trunc.c: New file.
67011
67012         * modules/trunc: New file.
67013         * lib/trunc.c: New file.
67014         * m4/trunc.m4: New file.
67015         * lib/math.in.h (trunc): New declaration.
67016         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
67017         HAVE_DECL_TRUNC.
67018         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
67019         HAVE_DECL_TRUNC.
67020         * doc/functions/trunc.texi: Mention the 'trunc' module.
67021
67022 2007-10-03  Bruno Haible  <bruno@clisp.org>
67023
67024         * tests/test-fpending.c: New file, mostly copied
67025         from coreutils/lib/t-fpending.c.
67026         * modules/fpending-tests: New file.
67027
67028 2007-10-03  Bruno Haible  <bruno@clisp.org>
67029
67030         Port the stdio extensions to QNX (untested).
67031         * lib/fseterr.c (fseterr): Add support for QNX.
67032         * lib/fbufmode.c (fbufmode): Likewise.
67033         * lib/freadable.c (freadable): Likewise.
67034         * lib/fwritable.c (fwritable): Likewise.
67035         * lib/freading.c (freading): Likewise.
67036         * lib/fwriting.c (fwriting): Likewise.
67037         * lib/freadahead.c (freadahed): Likewise.
67038         * lib/fpurge.c (fpurge): Likewise.
67039         * lib/fseeko.c (rpl_fseeko): Likewise.
67040
67041 2007-10-03  Bruno Haible  <bruno@clisp.org>
67042             Jim Meyering  <jim@meyering.net>
67043             Eric Blake  <ebb9@byu.net>
67044
67045         * doc/relocatable.texi: Use @command instead of @program.
67046
67047 2007-10-02  Jim Meyering  <jim@meyering.net>
67048
67049         Perform one more "_.h" -> ".in.h" substitution.
67050         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
67051         instead of unistd_.h here, too.
67052
67053 2007-10-01  Bruno Haible  <bruno@clisp.org>
67054
67055         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
67056         Needed for the alloca-opt module.
67057
67058 2007-09-30  Bruno Haible  <bruno@clisp.org>
67059
67060         * lib/alloca.in.h: Renamed from lib/alloca_.h.
67061         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
67062         alloca_.h.
67063         * lib/argz.in.h: Renamed from lib/argz_.h.
67064         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
67065         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
67066         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
67067         byteswap_.h.
67068         * lib/dirent.in.h: Renamed from lib/dirent_.h.
67069         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
67070         dirent_.h.
67071         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
67072         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
67073         fcntl_.h.
67074         * lib/float.in.h: Renamed from lib/float_.h.
67075         * modules/float (Files, Makefile.am): Use float.in.h instead of
67076         float_.h.
67077         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
67078         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
67079         fnmatch_.h.
67080         * lib/getopt.in.h: Renamed from lib/getopt_.h.
67081         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
67082         getopt_.h.
67083         * lib/glob.in.h: Renamed from lib/glob_.h.
67084         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
67085         * lib/iconv.in.h: Renamed from lib/iconv_.h.
67086         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
67087         iconv_.h.
67088         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
67089         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
67090         inttypes_.h.
67091         * lib/locale.in.h: Renamed from lib/locale_.h.
67092         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
67093         locale_.h.
67094         * lib/math.in.h: Renamed from lib/math_.h.
67095         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
67096         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
67097         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
67098         of netinet_in_.h. Add dependency.
67099         * lib/poll.in.h: Renamed from lib/poll_.h.
67100         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
67101         * lib/search.in.h: Renamed from lib/search_.h.
67102         * modules/search (Files, Makefile.am): Use search.in.h instead of
67103         search_.h.
67104         * lib/signal.in.h: Renamed from lib/signal_.h.
67105         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
67106         _signal.h.
67107         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
67108         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
67109         stdbool_.h.
67110         * lib/stdint.in.h: Renamed from lib/stdint_.h.
67111         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
67112         stdint_.h.
67113         * lib/stdio.in.h: Renamed from lib/stdio_.h.
67114         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
67115         stdio_.h.
67116         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
67117         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
67118         stdlib_.h.
67119         * lib/string.in.h: Renamed from lib/string_.h.
67120         * modules/string (Files, Makefile.am): Use string.in.h instead of
67121         string_.h.
67122         * doc/gnulib-tool.texi (Initial import): Update.
67123         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
67124         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
67125         of sys_select_.h. Add dependency.
67126         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
67127         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
67128         of sys_socket_.h.
67129         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
67130         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
67131         sys_stat_.h.
67132         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
67133         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
67134         sys_time_.h.
67135         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
67136         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
67137         sysexits_.h.
67138         * lib/time.in.h: Renamed from lib/time_.h.
67139         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
67140         * lib/unistd.in.h: Renamed from lib/unistd_.h.
67141         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
67142         unistd_.h.
67143         * lib/wchar.in.h: Renamed from lib/wchar_.h.
67144         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
67145         wchar_.h.
67146         * lib/wctype.in.h: Renamed from lib/wctype_.h.
67147         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
67148         wctype_.h.
67149         * build-aux/bootstrap (slurp): Update.
67150         * lib/.cppi-disable: Update.
67151
67152 2007-09-30  Bruno Haible  <bruno@clisp.org>
67153
67154         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
67155         Needed on BeOS.
67156
67157 2007-09-30  Bruno Haible  <bruno@clisp.org>
67158
67159         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
67160
67161 2007-09-29  Bruno Haible  <bruno@clisp.org>
67162
67163         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
67164
67165 2007-09-29  Bruno Haible  <bruno@clisp.org>
67166
67167         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
67168         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
67169         * build-aux/install-reloc: Compile also areadlink.c.
67170         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
67171
67172 2007-09-29  Bruno Haible  <bruno@clisp.org>
67173
67174         * gnulib-tool (func_emit_initmacro_done): Indentation.
67175
67176 2007-09-29  Bruno Haible  <bruno@clisp.org>
67177
67178         * README: Add CVS checkout update instructions.
67179         Info from Bob Proulx <bob@proulx.com>.
67180
67181 2007-09-28  Eric Blake  <ebb9@byu.net>
67182
67183         Provide move-if-change.
67184         * build-aux/move-if-change: New file, based on best practice
67185         rather than any canonical upstream location.
67186
67187 2007-09-28  Jim Meyering  <jim@meyering.net>
67188
67189         Fix canonicalize loop-detection corner case.
67190         Do not attempt to stat the symlink values stored via seen_triple.
67191         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
67192         on linux-2.6.18, (but not 2.6.22).
67193         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
67194         triple_compare.  The former compares dev,ino,filename, while the latter
67195         would actually stat dirname(filename) when dev and ino were equal.
67196         * lib/hash-triple.c: Install <string.h>.
67197         (STREQ): Define.
67198         (triple_compare_ino_str): New function.
67199         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
67200
67201 2007-09-28  Eric Blake  <ebb9@byu.net>
67202
67203         Enforce that AC_REPLACE_FUNCS files exist.
67204         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
67205         override check for typos.
67206
67207         Fix test-closein on Solaris 10.
67208         * tests/test-closein.c (main): Don't assume stdin can be inherited
67209         closed on all systems.
67210         * tests/test-closein.sh: Likewise.
67211         Reported by Piotr Tarnowski.
67212
67213 2007-09-28  Jim Meyering  <jim@meyering.net>
67214
67215         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
67216
67217 2007-09-27  Jim Meyering  <jim@meyering.net>
67218
67219         canonicalize: Avoid a false-positive cycle failure.
67220         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
67221         Sort.  Remove cycle-check.
67222         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
67223         not cycle-check.h.
67224         (seen_triple): New function.
67225         (canonicalize_filename_mode): Use it instead of cycle-check.
67226         * tests/test-canonicalize.c: Add a test for this bug.
67227         * tests/test-canonicalize.sh: Set up and run the test.
67228
67229         New module, file-set, from coreutils.
67230         * modules/file-set: Define it.
67231         * lib/file-set.c, lib/file-set.h: Implement.
67232
67233         New module, hash-triple, from coreutils.
67234         * modules/hash-triple: Define it.
67235         * lib/hash-triple.c, lib/hash-triple.h: Implement.
67236
67237 2007-09-25  Eric Blake  <ebb9@byu.net>
67238
67239         Fix strerror on Interix.
67240         * lib/string_.h (strerror): Declare replacement.
67241         * doc/functions/strerror.texi (strerror): Document the Interix
67242         shortcoming.
67243         * modules/string (Makefile.am): Support new hooks.
67244         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
67245         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
67246         gl_FUNC_STRERROR_SEPARATE.
67247         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
67248         * lib/strerror.c (rpl_strerror): Provide replacement.
67249         * modules/strerror (Depends-on): Add string.
67250         (configure.ac): Detect use of module.
67251         * tests/test-strerror.c: New file.
67252         * modules/strerror-tests: New test module.
67253         * modules/argp (Depends-on): Add strerror.
67254         * modules/error (Depends-on): Likewise.
67255         Reported by Martin Koeppe.
67256
67257 2007-09-24  Bruno Haible  <bruno@clisp.org>
67258
67259         * README: Update git instructions.
67260
67261 2007-09-24  Eric Blake  <ebb9@byu.net>
67262
67263         Revert fpending breakage from 2007-09-08.
67264         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
67265         __fpending.c.
67266
67267 2007-09-24  Jim Meyering  <jim@meyering.net>
67268
67269         filenamecat.c: Add a test.
67270         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
67271         showing how the function works when DIR is the empty string.
67272
67273 2007-09-21  Simon Josefsson  <simon@josefsson.org>
67274
67275         * tests/test-canonicalize.sh: Turn on executable bit.
67276
67277 2007-09-19  Eric Blake  <ebb9@byu.net>
67278
67279         * README: Update CVS instructions.
67280
67281 2007-09-18  Bruno Haible  <bruno@clisp.org>
67282
67283         * modules/areadlink: New file.
67284         * lib/areadlink.h (areadlink): New declaration.
67285         * lib/areadlink.c: New file, based on lib/xreadlink.c.
67286
67287 2007-09-17  Jim Meyering  <jim@meyering.net>
67288
67289         * lib/savewd.c (ESTALE) [!defined]: Define.
67290         Reported to be required on Interix by Martin Koeppe.
67291
67292 2007-09-17  Bruno Haible  <bruno@clisp.org>
67293
67294         * gnulib-tool (func_version): Use $version.
67295
67296 2007-09-16  Bruno Haible  <bruno@clisp.org>
67297
67298         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
67299         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
67300         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
67301         Reported by Greg Schafer <gschafer@zip.com.au>.
67302
67303 2007-09-15  Bruno Haible  <bruno@clisp.org>
67304
67305         * gnulib-tool (sed): Try a little harder to make bash understand the
67306         alias.
67307         Reported by Bruce Korb <bruce.korb@gmail.com>.
67308
67309 2007-09-13  Eric Blake  <ebb9@byu.net>
67310
67311         * ChangeLog: Remove conflict markers.
67312
67313 2007-09-13  Simon Josefsson  <simon@josefsson.org>
67314
67315         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
67316         Reported by Bruno Haible <bruno@clisp.org>.
67317
67318 2007-09-12  Bruno Haible  <bruno@clisp.org>
67319
67320         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
67321         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
67322         is not defined.
67323
67324 2007-09-12  Eric Blake  <ebb9@byu.net>
67325
67326         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
67327         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
67328         Autoconf definition.
67329         * modules/euidaccess (Depends-on): Add extensions, for
67330         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
67331         * modules/fnmatch (Depends-on): Likewise.
67332         * modules/getaddrinfo (Depends-on): Likewise.
67333         * modules/getdelim (Depends-on): Likewise.
67334         * modules/getline (Depends-on): Likewise.
67335         * modules/getsubopt (Depends-on): Likewise.
67336         * modules/gettext (Depends-on): Likewise.
67337         * modules/group-member (Depends-on): Likewise.
67338         * modules/mbchar (Depends-on): Likewise.
67339         * modules/memmem (Depends-on): Likewise.
67340         * modules/mempcpy (Depends-on): Likewise.
67341         * modules/memrchr (Depends-on): Likewise.
67342         * modules/pagealign_alloc (Depends-on): Likewise.
67343         * modules/readutmp (Depends-on): Likewise.
67344         * modules/stpcpy (Depends-on): Likewise.
67345         * modules/stpncpy (Depends-on): Likewise.
67346         * modules/strchrnul (Depends-on): Likewise.
67347         * modules/strndup (Depends-on): Likewise.
67348         * modules/strsep (Depends-on): Likewise.
67349         * modules/strverscmp (Depends-on): Likewise.
67350         * modules/vasprintf (Depends-on): Likewise.
67351         * modules/wcwidth (Depends-on): Likewise.
67352         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
67353         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
67354         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
67355         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
67356         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
67357         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
67358         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
67359         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
67360         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
67361         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
67362         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
67363         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
67364         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
67365         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
67366         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
67367         * m4/readutmp.m4 (gl_READUTMP): Likewise.
67368         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
67369         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
67370         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
67371         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
67372         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
67373         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
67374         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
67375         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
67376         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
67377         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
67378         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
67379         so that lock.m4 can be used in gettext without extensions module.
67380
67381 2007-09-11  Bruno Haible  <bruno@clisp.org>
67382
67383         * m4/isc-posix.m4: Remove file.
67384         Suggested by Eric Blake.
67385
67386 2007-09-11  Eric Blake  <ebb9@byu.net>
67387
67388         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
67389
67390 2007-09-10  Bruno Haible  <bruno@clisp.org>
67391
67392         * posix-modules: Fix typo in error message.
67393         Reported by Matt <mkraai@beckman.com>.
67394
67395 2007-09-09  Bruno Haible  <bruno@clisp.org>
67396
67397         * doc/functions/getdelim.texi: Update list of platforms lacking the
67398         function.
67399         * doc/functions/getline.texi: Likewise.
67400
67401 2007-09-09  Jim Meyering  <jim@meyering.net>
67402
67403         * lib/hash.c (hash_initialize): Detect calloc failure.
67404         Reported by Bruno Haible.
67405
67406 2007-09-09  Bruno Haible  <bruno@clisp.org>
67407
67408         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
67409         malloc or realloc fails.
67410
67411 2007-09-09  Bruno Haible  <bruno@clisp.org>
67412
67413         * modules/getcwd (Depends-on): Add malloc-posix.
67414         * modules/glob (Depends-on): Likewise.
67415         * modules/putenv (Depends-on): Likewise.
67416         * modules/strdup (Depends-on): Likewise.
67417         * modules/getdelim (Depends-on): Add realloc-posix.
67418         * modules/read-file (Depends-on): Likewise.
67419
67420 2007-09-09  Bruno Haible  <bruno@clisp.org>
67421
67422         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
67423         (gl_FUNC_MALLOC_POSIX): Require it.
67424         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
67425         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
67426         * modules/realloc (Files): Add m4/malloc.m4.
67427         * modules/calloc (Files): Likewise.
67428
67429 2007-09-09  Bruno Haible  <bruno@clisp.org>
67430
67431         * modules/malloc-posix: New file.
67432         * modules/malloc (Depends-on): Add malloc-posix.
67433         * lib/malloc.c: Include errno.h.
67434         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
67435         and a POSIX-compatible malloc into a single function. Set ENOMEM
67436         when returning NULL.
67437         * m4/malloc.m4: New file.
67438         * doc/functions/malloc.texi: Mention the malloc-posix module.
67439         * lib/stdlib_.h (malloc): New declaration.
67440         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67441         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
67442         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
67443         and HAVE_MALLOC_POSIX.
67444
67445 2007-09-09  Bruno Haible  <bruno@clisp.org>
67446
67447         * modules/realloc-posix: New file.
67448         * modules/realloc (Depends-on): Add realloc-posix.
67449         * lib/realloc.c: Include errno.h.
67450         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
67451         and a POSIX-compatible realloc into a single function. Set ENOMEM
67452         when returning NULL.
67453         * m4/realloc.m4: New file.
67454         * doc/functions/realloc.texi: Mention the realloc-posix module.
67455         * lib/stdlib_.h (realloc): New declaration.
67456         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67457         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
67458         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
67459         and HAVE_REALLOC_POSIX.
67460
67461 2007-09-09  Bruno Haible  <bruno@clisp.org>
67462
67463         * modules/calloc-posix: New file.
67464         * modules/calloc (Depends-on): Add calloc-posix.
67465         * lib/calloc.c: Include errno.h.
67466         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
67467         and a POSIX-compatible calloc into a single function. Set ENOMEM
67468         when returning NULL.
67469         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
67470         * doc/functions/calloc.texi: Mention the calloc-posix module.
67471         * lib/stdlib_.h (calloc): New declaration.
67472         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67473         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
67474         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
67475         and HAVE_CALLOC_POSIX.
67476
67477 2007-09-09  Bruno Haible  <bruno@clisp.org>
67478
67479         Allow for modules to show an arbitrary notice.
67480         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
67481         * gnulib-tool: New option --extract-notice.
67482         (func_usage): Document it.
67483         (sed_extract_prog): Update.
67484         (func_get_notice): New function.
67485         (func_modules_notice): New function.
67486         (func_import, func_create_testdir): Invoke it.
67487         Suggested by Jim Meyering.
67488
67489 2007-09-09  Bruno Haible  <bruno@clisp.org>
67490
67491         * gnulib-tool: New options --verbose, --quiet.
67492         (func_usage): Document them.
67493         (verbose): New variable.
67494         (func_execute_command): New function.
67495         (func_import): Don't show the module list and the file list if
67496         $verbose < 0.
67497         (func_create_testdir): Likewise. Use func_execute_command.
67498         (func_create_megatestdir): Use func_execute_command.
67499
67500 2007-09-08  Bruno Haible  <bruno@clisp.org>
67501
67502         * gnulib-tool (func_import): Prefer rsync over wget when available,
67503         for fetching the PO files.
67504
67505 2007-09-08  Bruno Haible  <bruno@clisp.org>
67506
67507         * posix-modules: New file. Portions copied from gnulib-tool.
67508         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
67509
67510 2007-09-08  Jim Meyering  <jim@meyering.net>
67511
67512         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
67513         * lib/fpending.h: Rename from __fpending.h.
67514         * lib/fpending.c: Rename from __fpending.c.
67515         Include "fpending.h", not "__fpending.h".
67516         * lib/__fpending.h, lib/__fpending.c: Remove files.
67517         * modules/fpending (Files): Reflect new file names.
67518         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
67519
67520 2007-09-08  Bruno Haible  <bruno@clisp.org>
67521
67522         * m4/inttypes-h.m4: Remove stub file.
67523
67524 2007-09-07  Simon Josefsson  <simon@josefsson.org>
67525
67526         * doc/headers/stdint.texi: Discuss #include_next issue.
67527
67528 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
67529
67530         * build-aux/bootstrap: Remove obsolete comment about wget --help.
67531
67532 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67533
67534         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
67535         in variable name.
67536
67537 2007-09-03  Jim Meyering  <jim@meyering.net>
67538
67539         New module: git-version-gen.
67540         * modules/git-version-gen: New file.
67541
67542         Import changes from coreutils for bootstrap script.
67543
67544         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
67545
67546         bootstrap: uses rsync to download the .po files
67547         * build-aux/bootstrap (po_download_command_format): New global.
67548         (download_po_files): Use rsync.
67549         (update_po_files): Don't remove .po files after download,
67550         so future rsync runs can take advantage of the copies.
67551
67552         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
67553
67554         Solve the unnecessary-.po-file-regeneration problem once and for all.
67555         * build-aux/bootstrap (download_po_files): New function, renamed from
67556         get_translations.  Now, downloads, but doesn't update LINGUAS.
67557         (update_po_files): New function.
67558
67559         bootstrap: Ignore more.
67560         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
67561         uniwidth to e.g., lib/.gitignore.
67562         (slurp): Handle the sys_stat_.h -> sys mapping, too.
67563
67564         * build-aux/bootstrap: New setting: vc_ignore.
67565         (insert_sorted_if_absent): Create $file if absent.
67566         Adapt to new, possibly empty, list: $vc_ignore.
67567
67568         bootstrap: generate more ignorable names
67569         * build-aux/bootstrap (slurp): When generating ignorable names,
67570         also map .sin to .sed, .gperf to .c, and .y to .c.
67571
67572 2007-09-03  Jim Meyering  <jim@meyering.net>
67573
67574         * build-aux/git-version-gen: New file, from coreutils.  For details, see
67575         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
67576
67577 2007-09-02  Bruno Haible  <bruno@clisp.org>
67578
67579         Fix mis-recognition of 'mcs' on QNX 6.
67580         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
67581         output contains the string "Mono".
67582         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
67583         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
67584
67585 2007-09-01  Bruno Haible  <bruno@clisp.org>
67586
67587         Fix collision between uniwidth/* and linebreak modules.
67588         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
67589         u32_width): Remove declarations.
67590         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
67591         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
67592         streq3, streq2, streq1, streq0): Remove functions.
67593         (STREQ): Remove macro.
67594         (is_cjk_encoding): Remove function.
67595         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
67596         (uc_width, u8_width, u16_width, u32_width): Remove functions.
67597         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
67598         * NEWS: Document the change.
67599
67600 2007-09-01  Bruno Haible  <bruno@clisp.org>
67601
67602         * lib/streq.h: Add double-inclusion guard.
67603
67604 2007-09-01  Karl Berry  <karl@gnu.org>
67605
67606         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
67607
67608 2007-08-28  Jim Meyering  <jim@meyering.net>
67609
67610         Rename mreadlink_with_size to areadlink_with_size.
67611         * NEWS: Document the change.
67612         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
67613         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
67614         * lib/mreadlink.h: Rename this to...
67615         * lib/areadlink.h: ...this.
67616         * modules/mreadlink-with-size: Rename this to...
67617         * modules/areadlink-with-size: ...this.
67618         * lib/canonicalize.c: Reflect the renaming.
67619         * modules/canonicalize: Likewise.
67620
67621 2007-08-26  Bruno Haible  <bruno@clisp.org>
67622
67623         * gnulib-tool (func_import): When deciding which files to remove,
67624         consider also dangling symbolic links.
67625         Reported by Eric Blake.
67626
67627 2007-08-26  Bruno Haible  <bruno@clisp.org>
67628
67629         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
67630
67631 2007-08-23  Simon Josefsson  <simon@josefsson.org>
67632
67633         * lib/readline.c: Don't include getline.h, the prototype is now
67634         found in stdio.h.
67635
67636 2007-08-23  Jim Meyering  <jim@meyering.net>
67637
67638         Getdelim touchup.
67639         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
67640         around the funlockfile call, since funlockfile never sets errno.
67641         Don't set errno upon failed realloc.
67642
67643 2007-08-22  Eric Blake  <ebb9@byu.net>
67644
67645         Getline touchups.
67646         * lib/getdelim.c (getdelim): Revert regression that required *n to
67647         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
67648         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
67649         getdelim, rather than whether implementation is missing.
67650         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
67651         * lib/stdio_.h (getline): Also declare if replacement is
67652         required.
67653         * doc/functions/getdelim.texi: New file.
67654         * doc/functions/getline.texi: Likewise.
67655         * doc/gnulib.texi (Function Substitutes): Add new files.
67656         Reported by Bruno Haible.
67657
67658 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
67659
67660         * users.txt: Add Guile.
67661
67662 2007-08-22  Eric Blake  <ebb9@byu.net>
67663
67664         * tests/test-getdelim.c (main): Use remove, not unlink.
67665         * tests/test-getline.c (main): Likewise.
67666
67667         Move getline and getdelim into stdio.h, per POSIX 200x.
67668         * modules/getline (Files): Remove getline.h.
67669         (Depends-on): Add stdio.
67670         (configure.ac): Add module indicator.
67671         * modules/getdelim (Files): Remove getdelim.h.
67672         (Depends-on): Add stdio.
67673         (configure.ac): Add module indicator.
67674         * modules/stdio (Makefile.am): Work with new indicators.
67675         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
67676         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
67677         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
67678         * lib/getdelim.h: Delete.
67679         * lib/getline.h: Delete.
67680         * lib/stdio_.h (getdelim, getline): Declare.
67681         * modules/getdelim-tests: New module.
67682         * modules/getline-tests: Likewise.
67683         * tests/test-getdelim.c: New file.
67684         * tests/test-getline.c: Likewise.
67685         * NEWS: Document the change.
67686         * lib/getline.c: Update choice of header.
67687         * lib/csharpcomp.c: Likewise.
67688         * lib/getpass.c: Likewise.
67689         * lib/javacomp.c: Likewise.
67690         * lib/javaversion.c: Likewise.
67691         * lib/yesno.c: Likewise.
67692         * lib/getdelim.c: Likewise.
67693         (getdelim): Set errno on failure, and avoid memory leak.
67694
67695 2007-08-19  Bruno Haible  <bruno@clisp.org>
67696
67697         * modules/closein (Depends-on): Add freadahead.
67698         * lib/closein.c: Include freadahead.h.
67699         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
67700         is zero.
67701
67702 2007-08-19  Bruno Haible  <bruno@clisp.org>
67703
67704         * modules/freadahead-tests: New file.
67705         * tests/test-freadahead.sh: New file.
67706         * tests/test-freadahead.c: New file.
67707
67708         * modules/freadahead: New file.
67709         * lib/freadahead.h: New file.
67710         * lib/freadahead.c: New file.
67711         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
67712         fbufmode, fpurge, freadable, fwritable.
67713
67714 2007-08-19  Eric Blake  <ebb9@byu.net>
67715
67716         Test yesno in combination with closein.
67717         * lib/yesno.c (yesno): Document use of stdin.
67718         * modules/yesno-tests (Files): New module.
67719         * tests/test-yesno.c (main): New file.
67720         * tests/test-yesno.sh: Likewise.
67721
67722 2007-08-19  Bruno Haible  <bruno@clisp.org>
67723
67724         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
67725         * lib/fseeko.c (rpl_fseeko): Likewise.
67726         * lib/fseterr.c (fseterr): Likewise.
67727
67728 2007-08-19  Bruno Haible  <bruno@clisp.org>
67729
67730         * tests/test-lseek.c (main): Disable a test for BeOS.
67731         * doc/functions/lseek.texi: Document the BeOS bug.
67732
67733 2007-08-19  Bruno Haible  <bruno@clisp.org>
67734             Eric Blake  <ebb9@byu.net>
67735
67736         * lib/lseek.c: Include <sys/stat.h>.
67737         (rpl_lseek): Add workaround code also for Unix platforms.
67738         Needed for BeOS.
67739         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
67740         * doc/functions/lseek.texi: Document BeOS definiency.
67741
67742 2007-08-18  Bruno Haible  <bruno@clisp.org>
67743
67744         * modules/fstrcmp-tests: New file.
67745         * tests/test-fstrcmp.c: New file.
67746
67747 2007-08-18  Bruno Haible  <bruno@clisp.org>
67748
67749         * modules/fstrcmp: New file, from GNU gettext with modifications.
67750         * lib/fstrcmp.h: New file, from GNU gettext.
67751         * lib/fstrcmp.c: New file, from GNU gettext.
67752         * MODULES.html.sh (String handling): Add fstrcmp.
67753
67754 2007-08-18  Bruno Haible  <bruno@clisp.org>
67755
67756         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
67757         'bool'.
67758         (diag, compareseq): Remove const from the ctxt argument.
67759         (USE_HEURISTIC): Undefine at the end.
67760
67761 2007-08-18  Jim Meyering  <jim@meyering.net>
67762
67763         New file: lib/idcache.h
67764         * NEWS: Mention the addition.
67765         * modules/idcache (Files): Add lib/idcache.h
67766         * lib/idcache.c: Include "idcache.h".
67767         Don't include <sys/types.h>.
67768         Add a FIXME comment.
67769         Move file-scoped "static" declarations to the top.
67770         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
67771
67772 2007-08-17  Bruno Haible  <bruno@clisp.org>
67773         and Paul Eggert  <eggert@cs.ucla.edu>
67774
67775         * MODULES.html.sh: Add diffseq.
67776         * modules/diffseq: New file.
67777         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
67778         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
67779
67780 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67781
67782         Import changes from coreutils for bootstrap script.
67783
67784         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
67785
67786         * build-aux/bootstrap (slurp): Work even in environments where
67787         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
67788         current code does not slurp files whose names start with ".", and
67789         this looks like it might be a troublesome area.
67790
67791         2007-07-11  Jim Meyering  <jim@meyering.net>
67792
67793         If there's a GPL vN copyright comment, require that N == 3.
67794
67795         2007-07-08  Jim Meyering  <jim@meyering.net>
67796
67797         Run the coreutils-specific code only if tests/Makefile.am.in exists.
67798         * build-aux/bootstrap (mam_template): Move definition out of loop.
67799
67800         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
67801
67802         * build-aux/bootstrap (symlink_to_dir): Rename function from
67803         symlink_to_gnulib.  Add a directory parameter.  Update all
67804         callers.
67805         (cp_mark_as_generated): Also check for -- and link to -- files in
67806         gl/.
67807
67808         2007-07-08  Jim Meyering  <jim@meyering.net>
67809
67810         Adapt to deeper hierarchy in gnulib.
67811         * build-aux/bootstrap (symlink_to_dir): If the destination
67812         directory doesn't exist, create it. This is required at least for
67813         "lib/uniwidth/cjk.h".
67814
67815         2007-05-15  Jim Meyering  <jim@meyering.net>
67816
67817         * build-aux/bootstrap: Now that generated Makefile.am files
67818         are no longer under version control, they must be created at
67819         bootstrap time.
67820
67821 2007-08-14  Ben Pfaff  <blp@gnu.org>
67822
67823         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
67824
67825 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67826
67827         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
67828         given the changes below.
67829         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
67830         even on hosts that have padding bits beyond the supported 64.
67831
67832 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
67833
67834         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
67835         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
67836         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
67837         depends on it.
67838         (xstrtol_error): Remove.
67839         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
67840         but with a different signature.
67841         (ATTRIBUTE_NORETURN, __attribute__): New macros.
67842         * lib/xstrtol-error.c: Include exitfail.h.
67843         (xstrtol_fatal): New function, with a different signature from the
67844         old xstrtol_error, so that the caller need not worry about passing
67845         in an exit status, or about storage management of the option argument.
67846         (xstrtol_error): Now a static function.  Redo signature to
67847         implement xstrtol_fatal.  Output the correct number of hyphens in
67848         front of the option so that the caller need not worry about
67849         storage management.
67850         (N_): New macro.
67851         (_): Remove; not used now.
67852         * modules/xstrtol: Depend on getopt.
67853         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
67854         of old STRTOL_FATAL_ERROR macro.
67855         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
67856         of test program.
67857         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
67858         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
67859
67860 2007-08-08  Eric Blake  <ebb9@byu.net>
67861
67862         * lib/xstrtol-error.c: Add missing include.
67863
67864         Move xstrtol messages into gnulib domain, when --pobase is used.
67865         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
67866         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
67867         * modules/xstrtol (Files): Distribute new file.
67868         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
67869         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
67870         * tests/test-xstrtol.c: ...into new file.
67871         * tests/test-xstrtoul.c: Also test xstrtoul.
67872         * tests/test-xstrtoimax.c: Also test xstrtoimax.
67873         * tests/test-xstrtoumax.c: Also test xstrtoumax.
67874         * tests/test-xstrtol.sh: Drive the tests.
67875         * tests/test-xstrtoimax.sh: Likewise.
67876         * tests/test-xstrtoumax.sh: Likewise.
67877         * modules/xstrtol-tests: New module.
67878         * modules/xstrtoimax-tests: Likewise.
67879         * modules/xstrtoumax-tests: Likewise.
67880
67881 2007-08-08  Jim Meyering  <jim@meyering.net>
67882
67883         New function: mfile_name_concat.
67884         * lib/filenamecat.c (mfile_name_concat): New function, just like
67885         file_name_concat, but return NULL upon failure rather than exiting
67886         with a diagnostic.
67887         * lib/filenamecat.h: Declare it.
67888
67889 2007-08-07  Bruno Haible  <bruno@clisp.org>
67890
67891         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
67892         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
67893         warning from gcc.
67894         Reported by Eric Blake.
67895
67896 2007-08-07  Simon Josefsson  <simon@josefsson.org>
67897
67898         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
67899         * modules/crypto/arcfour (License): Likewise.
67900         * modules/crypto/des-tests (License): Likewise.
67901         * modules/crypto/gc-arctwo-tests (License): Likewise.
67902         * modules/crypto/gc-des-tests (License): Likewise.
67903         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
67904         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
67905         * modules/crypto/gc-md2-tests (License): Likewise.
67906         * modules/crypto/gc-md4-tests (License): Likewise.
67907         * modules/crypto/gc-md5-tests (License): Likewise.
67908         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
67909         * modules/crypto/gc-rijndael-tests (License): Likewise.
67910         * modules/crypto/gc-sha1-tests (License): Likewise.
67911         * modules/crypto/gc-tests (License): Likewise.
67912         * modules/crypto/hmac-md5 (License): Likewise.
67913         * modules/crypto/hmac-sha1 (License): Likewise.
67914         * modules/crypto/md2-tests (License): Likewise.
67915         * modules/crypto/md4-tests (License): Likewise.
67916         * modules/crypto/md5 (License): Likewise.
67917         * modules/crypto/rijndael (License): Likewise.
67918         * modules/crypto/sha1 (License): Likewise.
67919         * modules/memxor (License): Likewise.
67920
67921 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67922         and Bruno Haible  <bruno@clisp.org>
67923
67924         * NEWS: Describe interface changes to human, xstrtol.
67925         * lib/human.h: Include <xstrtol.h>.
67926         (human_options): Return enum strtol_error, not int.  Remove
67927         bool arg; take int * instead.
67928         * lib/human.c: Don't include "gettext.h".
67929         (_): Remove; no longer used.
67930         Don't include <xstrtol.h>, since human.h does it.
67931         (human_options): Adjust to abovementioned interface changes.
67932         Do not report error to stderr; that's now the caller's
67933         responsibility.
67934         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
67935         interface change.
67936         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
67937         Str, Argument_type_string.  All uses changed.  Put " argument"
67938         in diagnostics to make them clearer.  Change wording of suffix
67939         message for clarity.
67940         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
67941         Argument_type_string.
67942         (STRTOL_FATAL_WARN): Remove; no longer used.
67943         * modules/human (Depends-on): Remove gettext-h.
67944
67945 2007-08-06  Simon Josefsson  <simon@josefsson.org>
67946
67947         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
67948
67949 2007-07-31  Bruno Haible  <bruno@clisp.org>
67950
67951         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
67952         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
67953         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
67954
67955 2007-07-31  Bruno Haible  <bruno@clisp.org>
67956
67957         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
67958         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
67959
67960 2007-07-30  Bruno Haible  <bruno@clisp.org>
67961
67962         * modules/base64 (License): Use the synonymous term "LGPLv2+".
67963         * modules/c-ctype (License): Likewise.
67964         * modules/c-strcase (License): Likewise.
67965         * modules/check-version (License): Likewise.
67966         * modules/iconv (License): Likewise.
67967         * modules/iconv_open (License): Likewise.
67968         * modules/read-file (License): Likewise.
67969         * modules/striconv (License): Likewise.
67970         * modules/strverscmp (License): Likewise.
67971         * modules/vasprintf (License): Likewise.
67972         * modules/crypto/des (License): Likewise.
67973         * modules/crypto/gc (License): Likewise.
67974         * modules/crypto/gc-arcfour (License): Likewise.
67975         * modules/crypto/gc-arctwo (License): Likewise.
67976         * modules/crypto/gc-des (License): Likewise.
67977         * modules/crypto/gc-hmac-md5 (License): Likewise.
67978         * modules/crypto/gc-hmac-sha1 (License): Likewise.
67979         * modules/crypto/gc-md2 (License): Likewise.
67980         * modules/crypto/gc-md4 (License): Likewise.
67981         * modules/crypto/gc-md5 (License): Likewise.
67982         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
67983         * modules/crypto/gc-random (License): Likewise.
67984         * modules/crypto/gc-rijndael (License): Likewise.
67985         * modules/crypto/gc-sha1 (License): Likewise.
67986         * modules/crypto/md2 (License): Likewise.
67987         * modules/crypto/md4 (License): Likewise.
67988
67989 2007-07-30  Jim Meyering  <jim@meyering.net>
67990
67991         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
67992         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
67993         it has valid stat data.  This bug would cause du not to count the
67994         sizes of inaccessible directories.
67995         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
67996         in <http://bugzilla.redhat.com/250077>.
67997
67998 2007-07-25  Peter O'Gorman  <peter@pogma.com>
67999             Bruno Haible  <bruno@clisp.org>
68000
68001         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
68002         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
68003         #include_next, gives a diagnostic about it, but reports no error in
68004         the exit code.
68005         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
68006
68007 2007-07-24  Ben Pfaff  <blp@gnu.org>
68008
68009         Improve name: "count-one-bits" is better than "popcount".
68010         * MODULES.html.sh: Update name.
68011         * lib/popcount.h: Renamed lib/count-one-bits.h.
68012         (popcount): Renamed count_one_bits.
68013         (popcountl): Renamed count_one_bits_l.
68014         (popcountll): Renamed count_one_bits_ll.
68015         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
68016         * modules/popcount: Renamed module/count-one-bits.
68017         * modules/popcount-tests: Renamed module/count-one-bits-tests.
68018         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
68019
68020 2007-07-23  Ben Pfaff  <blp@gnu.org>
68021
68022         * lib/popcount.h (popcount32): Reduce size of constants, to allow
68023         better code generation, and add U to large constants to avoid
68024         warnings, in non-GCC case.
68025         Suggested by Bruno Haible.
68026
68027 2007-07-23  Ben Pfaff  <blp@gnu.org>
68028
68029         * lib/popcount.h: Use verify_true instead of if...abort.
68030         * modules/popcount: Depend on verify module.
68031         Suggested by Jim Meyering.
68032
68033 2007-07-23  Bruno Haible  <bruno@clisp.org>
68034
68035         * gnulib-tool (func_import): Create a .cvsignore file also when the
68036         directory is not yet in CVS but the toplevel directory is. When
68037         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
68038         Reported by Karl Berry.
68039
68040 2007-07-22  Ben Pfaff  <blp@gnu.org>
68041
68042         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
68043         case.
68044         Suggested by Eric Blake.
68045
68046 2007-07-22  Ben Pfaff  <blp@gnu.org>
68047
68048         New module: popcount.
68049         * MODULES.html.sh: Add popcount.
68050         * modules/popcount: New file.
68051         * modules/popcount-tests: New file.
68052         * tests/test-popcount.c: New file.
68053         * lib/popcount.h: New file.
68054         * m4/popcount.m4: New file.
68055
68056 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
68057
68058         * build-aux/announce-gen: Update to GPLv3.
68059
68060         * build-aux/config.guess: Update from config.
68061
68062 2007-07-21  Bruno Haible  <bruno@clisp.org>
68063
68064         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
68065         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
68066
68067 2007-07-20  Jim Meyering  <jim@meyering.net>
68068
68069         * check-module: Diagnose a self-dependency.
68070
68071 2007-07-19  Bruno Haible  <bruno@clisp.org>
68072
68073         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
68074         empty.
68075         Reported by Eric Blake.
68076
68077 2007-07-18  Bruno Haible  <bruno@clisp.org>
68078
68079         * gnulib-tool: New options --po-base, --po-domain.
68080         (func_usage): Document them.
68081         (pobase, po_domain): New variables.
68082         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
68083         DEFAULT_TEXT_DOMAIN.
68084         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
68085         (func_import): Consider pobase and po_domain. Create a po/ directory.
68086         (func_create_testdir): Set pobase and po_domain to empty.
68087         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
68088         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
68089
68090 2007-07-18  Bruno Haible  <bruno@clisp.org>
68091
68092         * gnulib-tool (func_get_automake_snippet): Synthesize also an
68093         EXTRA_DIST augmentation for files in build-aux/.
68094
68095 2007-07-16  Bruno Haible  <bruno@clisp.org>
68096
68097         * modules/lseek (License): Use the synonymous term "LGPLv2+".
68098         * modules/getdelim (License): Likewise.
68099
68100 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68101
68102         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
68103         * modules/d-type (License): Likewise.
68104         * modules/extensions (License): Likewise.
68105         * modules/fnmatch (License): Likewise.
68106         * modules/fseeko (License): Likewise.
68107         * modules/getaddrinfo (License): Likewise.
68108         * modules/getline (License): Likewise.
68109         * modules/getlogin_r (License): Likewise.
68110         * modules/getpass (License): Likewise.
68111         * modules/gettimeofday (License): Likewise.
68112         * modules/glob (License): Likewise.
68113         * modules/inet_ntop (License): Likewise.
68114         * modules/malloc (License): Likewise.
68115         * modules/malloca (License): Likewise.
68116         * modules/memmem (License): Likewise.
68117         * modules/mempcpy (License): Likewise.
68118         * modules/memset (License): Likewise.
68119         * modules/minmax (License): Likewise.
68120         * modules/mktime (License): Likewise.
68121         * modules/netinet_in (License): Likewise.
68122         * modules/pathmax (License): Likewise.
68123         * modules/poll (License): Likewise.
68124         * modules/regex (License): Likewise.
68125         * modules/snprintf (License): Likewise.
68126         * modules/stdbool (License): Likewise.
68127         * modules/stdint (License): Likewise.
68128         * modules/stdio (License): Likewise.
68129         * modules/strcase (License): Likewise.
68130         * modules/strcasestr (License): Likewise.
68131         * modules/strdup (License): Likewise.
68132         * modules/string (License): Likewise.
68133         * modules/strndup (License): Likewise.
68134         * modules/strnlen (License): Likewise.
68135         * modules/strpbrk (License): Likewise.
68136         * modules/strptime (License): Likewise.
68137         * modules/strsep (License): Likewise.
68138         * modules/sys_select (License): Likewise.
68139         * modules/sys_socket (License): Likewise.
68140         * modules/sys_stat (License): Likewise.
68141         * modules/sys_time (License): Likewise.
68142         * modules/time (License): Likewise.
68143         * modules/time_r (License): Likewise.
68144         * modules/timegm (License): Likewise.
68145         * modules/unistd (License): Likewise.
68146         * modules/vsnprintf (License): Likewise.
68147         * modules/wctype (License): Likewise.
68148
68149 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68150
68151         * modules/argz (License): LGPLv2+.
68152
68153 2007-07-15  Karl Berry  <karl@gnu.org>
68154
68155         * doc/gnulib.texi: revise node structure per new fdl.texi.
68156
68157 2007-07-14  Bruno Haible  <bruno@clisp.org>
68158
68159         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
68160         the output file.
68161         * lib/uniname/uninames.h: Regenerated.
68162
68163 2007-07-14  Karl Berry  <karl@gnu.org>
68164
68165         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
68166         omitting sectioning and index commands.
68167
68168 2007-07-13  Bruno Haible  <bruno@clisp.org>
68169
68170         New gnulib-tool option --more-symlinks.
68171         * gnulib-tool (func_usage): Document --more-symlinks.
68172         (do_copyrights): New variable.
68173         Recognize option --more-symlinks.
68174         (func_import): Don't add a copyright notice transform to
68175         sed_transform_lib_file if do_copyrights is empty.
68176
68177 2007-07-13  Bruno Haible  <bruno@clisp.org>
68178
68179         * lib/vasnprintf.c (decimal_point_char): Define also if
68180         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
68181         && !NEED_PRINTF_DIRECTIVE_A.
68182         Reported by Clemens Koller <clemens.koller@anagramm.de> via
68183         Gary V. Vaughan <gary@gnu.org>.
68184
68185 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
68186
68187         * lib/inttypes_.h: Undo previous change, since it was fixed
68188         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
68189
68190 2007-07-13  Bruno Haible  <bruno@clisp.org>
68191
68192         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
68193         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
68194
68195 2007-07-13  Jim Meyering  <jim@meyering.net>
68196
68197         df: Don't fail for Tru64's "file-on-file mount".
68198         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
68199         so we fall through and use statfs instead.  Details here:
68200         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
68201         Reported by Albert Chin.
68202
68203 2007-07-13  Bruno Haible  <bruno@clisp.org>
68204
68205         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
68206         * modules/configmake (License): Likewise.
68207         * modules/gettext (License): Likewise.
68208         * modules/gettext-h (License): Likewise.
68209         * modules/include_next (License): Likewise.
68210         * modules/link-warning (License): Likewise.
68211         * modules/localcharset (License): Likewise.
68212         * modules/localename (License): Likewise.
68213         * modules/lock (License): Likewise.
68214         * modules/relocatable-lib-lgpl (License): Likewise.
68215         * modules/size_max (License): Likewise.
68216         * modules/vasnprintf (License): Likewise.
68217         * modules/wchar (License): Likewise.
68218         * modules/xsize (License): Likewise.
68219
68220 2007-07-13  Bruno Haible  <bruno@clisp.org>
68221
68222         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
68223         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
68224
68225 2007-07-12  Bruno Haible  <bruno@clisp.org>
68226
68227         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
68228         in the modules files.
68229
68230 2007-07-11  Karl Berry  <karl@gnu.org>
68231
68232         * MODULES.html.sh (func_module): use
68233          sed -e '\|^'"${includefile}"'$|d'
68234          instead of /.../d, to avoid errors on $includefile's containing /.
68235
68236 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
68237
68238         * gnulib-tool (func_import): Avoid duplication of --avoid
68239         statements
68240         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
68241         names to `_' in variable names.
68242
68243 2007-07-10  Eric Blake  <ebb9@byu.net>
68244
68245         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
68246         * NEWS: Document this change.
68247
68248 2007-07-08  Bruno Haible  <bruno@clisp.org>
68249
68250         Update to Unicode 5.0.
68251         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
68252         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
68253         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
68254         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
68255         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
68256         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
68257         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
68258         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
68259         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
68260         U+10A3F, U+1D242..U+1D244.
68261         (nonspacing_table_ind): Update.
68262         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
68263         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
68264
68265 2007-07-08  Bruno Haible  <bruno@clisp.org>
68266
68267         Update to Unicode 5.0.
68268         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
68269         code transform. Extend the name index field of unicode_name_to_code and
68270         unicode_code_to_name from 16 to 24 bits.
68271         * lib/uniname/uniname.c (unicode_character_name,
68272         unicode_name_character): Add the range 0x12xxx to the code transform.
68273         * lib/uniname/uninames.h: Regenerated.
68274         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
68275
68276 2007-07-07  Bruno Haible  <bruno@clisp.org>
68277
68278         * modules/wcwidth-tests: New file.
68279         * tests/test-wcwidth.c: New file.
68280
68281         Work around MacOS X wcwidth() bug.
68282         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
68283         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
68284         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
68285         original wcwidth in non-UTF-8 locales.
68286         * modules/wcwidth (Depends-on): Add localcharset, streq,
68287         uniwidth/width.
68288         * doc/functions/wcwidth.texi: Update.
68289
68290 2007-07-07  Bruno Haible  <bruno@clisp.org>
68291
68292         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
68293         (wcwidth): New declaration.
68294         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
68295         macros.
68296         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
68297         here. Prepare for creating <wchar.h> unconditionally.
68298         * modules/wchar (Depends-on): Add link-warning.
68299         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
68300         REPLACE_WCWIDTH, and GL_LINK_WARNING.
68301         * lib/wcwidth.h: Remove file.
68302         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
68303         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
68304         * modules/wcwidth (Files): Remove lib/wcwidth.h.
68305         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
68306         (Include): Replace wcwidth.h with <wchar.h>.
68307         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
68308         * lib/mbchar.h: Don't include wcwidth.h.
68309         * lib/mbswidth.c: Likewise.
68310         * NEWS: Mention the change.
68311
68312 2007-07-07  Bruno Haible  <bruno@clisp.org>
68313
68314         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
68315         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
68316         definition with an external declaration.
68317         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
68318         defined as a function. Remove AC_C_INLINE requirement.
68319         * modules/wcwidth (Files): Add lib/wcwidth.c.
68320         (Makefile.am): Remove redundant statement.
68321
68322 2007-07-07  Bruno Haible  <bruno@clisp.org>
68323
68324         * MODULES.html.sh (Unicode string functions): Add the new modules.
68325
68326         * tests/uniwidth/test-u32-strwidth.c: New file.
68327         * modules/uniwidth/u32-strwidth-tests: New file.
68328
68329         * lib/uniwidth/u32-strwidth.c: New file.
68330         * modules/uniwidth/u32-strwidth: New file.
68331
68332         * tests/uniwidth/test-u16-strwidth.c: New file.
68333         * modules/uniwidth/u16-strwidth-tests: New file.
68334
68335         * lib/uniwidth/u16-strwidth.c: New file.
68336         * modules/uniwidth/u16-strwidth: New file.
68337
68338         * tests/uniwidth/test-u8-strwidth.c: New file.
68339         * modules/uniwidth/u8-strwidth-tests: New file.
68340
68341         * lib/uniwidth/u8-strwidth.c: New file.
68342         * modules/uniwidth/u8-strwidth: New file.
68343
68344         * tests/uniwidth/test-u32-width.c: New file.
68345         * modules/uniwidth/u32-width-tests: New file.
68346
68347         * lib/uniwidth/u32-width.c: New file.
68348         * modules/uniwidth/u32-width: New file.
68349
68350         * tests/uniwidth/test-u16-width.c: New file.
68351         * modules/uniwidth/u16-width-tests: New file.
68352
68353         * lib/uniwidth/u16-width.c: New file.
68354         * modules/uniwidth/u16-width: New file.
68355
68356         * tests/uniwidth/test-u8-width.c: New file.
68357         * modules/uniwidth/u8-width-tests: New file.
68358
68359         * lib/uniwidth/u8-width.c: New file.
68360         * modules/uniwidth/u8-width: New file.
68361
68362         * tests/uniwidth/test-uc_width.c: New file.
68363         * modules/uniwidth/width-tests: New file.
68364
68365         * lib/uniwidth/width.c: New file, from GNU libiconv.
68366         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
68367         * modules/uniwidth/width: New file.
68368
68369         * lib/uniwidth.h: New file, from GNU libiconv.
68370         * modules/uniwidth/base: New file.
68371
68372 2007-07-07  Bruno Haible  <bruno@clisp.org>
68373
68374         * lib/uniname.h: New file, from GNU gettext.
68375         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
68376         * lib/uniname/uninames.h: New file, from GNU gettext.
68377         * lib/uniname/uniname.c: New file, from GNU gettext.
68378         * tests/uniname/test-uninames.sh: New file.
68379         * tests/uniname/test-uninames.c: New file, from GNU gettext.
68380         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
68381         * modules/uniname/base: New file.
68382         * modules/uniname/uniname: New file.
68383         * modules/uniname/uniname-tests: New file.
68384         * MODULES.html.sh (Unicode string functions): Add the new modules.
68385
68386 2007-07-06  Bruno Haible  <bruno@clisp.org>
68387
68388         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
68389
68390 2007-07-06  Bruno Haible  <bruno@clisp.org>
68391
68392         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
68393         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
68394         includes <cygwin/sys_time.h> which includes <sys/select.h> which
68395         include <sys/time.h>.
68396         Reported by Eric Blake.
68397
68398 2007-07-06  Eric Blake  <ebb9@byu.net>
68399
68400         Fix testing canonicalize on cygwin.
68401         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68402         Revert patch from 2007-06-19.
68403         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
68404         canonicalize module is also in use.
68405         * tests/test-canonicalize.c: New file.
68406         * tests/test-canonicalize.sh: Likewise.
68407         * modules/canonicalize-tests: Likewise.
68408
68409 2007-07-06  Jim Meyering  <jim@meyering.net>
68410
68411         * lib/getugroups.c (getugroups): Detect getgrent failure.
68412         Adjust comment to reflect reality: this function may return -1.
68413
68414 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
68415
68416         * build-aux/bootstrap (TP_URL,get_translations): Update to use
68417         the new TP address.
68418         (usage): Fix typo
68419         (gnulib_mk): New variable.
68420
68421 2007-07-05  Jim Meyering  <jim@meyering.net>
68422
68423         Don't let endgrent clobber errno, no matter how improbable.
68424         * lib/getugroups.c (getugroups): Save and restore errno around
68425         endgrent call.
68426
68427         Close the group DB even when failing with 2^31 or more members.
68428         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
68429
68430 2007-07-04  Jim Meyering  <jim@meyering.net>
68431
68432         * lib/getugroups.h: New file.
68433         * lib/getugroups.c: Include "getugroups.h".
68434         Remove uses of "register" keyword.
68435         Move local variable, "cp", down into scope where used.
68436         Give "username" parameter the "const" attribute.
68437         * modules/getugroups (Files): Add lib/getugroups.h
68438
68439 2007-07-04  Karl Berry  <karl@gnu.org>
68440
68441         * MODULES.html.sh (func_all_modules): Complete rename of
68442         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
68443
68444 2007-07-02  Bruno Haible  <bruno@clisp.org>
68445
68446         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
68447         mode, when inttypes.h comes from gnulib.
68448         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
68449
68450 2007-07-02  Simon Josefsson  <simon@josefsson.org>
68451
68452         * NEWS: Mention lgpl module name change.
68453
68454         * modules/lgpl-2.1: Renamed from lgpl.
68455
68456         * NEWS: Mention gpl module name change.
68457
68458         * modules/gpl-3.0: New file, based on gpl-2.0.
68459
68460         * modules/gpl-2.0: Renamed from gpl.
68461
68462         * modules/gpl: Fix filename, doc/gpl.texi is now found at
68463         doc/gpl-2.0.texi.
68464
68465 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
68466
68467         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
68468         #define __STDC_LIMIT_MACROS temporarily while including
68469         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
68470         Problem reported by Joel E. Denny in
68471         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
68472
68473 2007-07-01  Bruno Haible  <bruno@clisp.org>
68474
68475         * lib/unistdio.h: New file.
68476         * lib/unistdio/u-asnprintf.h: New file.
68477         * lib/unistdio/u-asprintf.h: New file.
68478         * lib/unistdio/u-printf-args.c: New file.
68479         * lib/unistdio/u-printf-args.h: New file.
68480         * lib/unistdio/u-printf-parse.h: New file.
68481         * lib/unistdio/u-snprintf.h: New file.
68482         * lib/unistdio/u-sprintf.h: New file.
68483         * lib/unistdio/u-vasprintf.h: New file.
68484         * lib/unistdio/u-vsnprintf.h: New file.
68485         * lib/unistdio/u-vsprintf.h: New file.
68486         * lib/unistdio/ulc-asnprintf.c: New file.
68487         * lib/unistdio/ulc-asprintf.c: New file.
68488         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
68489         * lib/unistdio/ulc-printf-parse.c: New file.
68490         * lib/unistdio/ulc-snprintf.c: New file.
68491         * lib/unistdio/ulc-sprintf.c: New file.
68492         * lib/unistdio/ulc-vasnprintf.c: New file.
68493         * lib/unistdio/ulc-vasprintf.c: New file.
68494         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
68495         * lib/unistdio/ulc-vsnprintf.c: New file.
68496         * lib/unistdio/ulc-vsprintf.c: New file.
68497         * lib/unistdio/u8-asnprintf.c: New file.
68498         * lib/unistdio/u8-asprintf.c: New file.
68499         * lib/unistdio/u8-printf-parse.c: New file.
68500         * lib/unistdio/u8-snprintf.c: New file.
68501         * lib/unistdio/u8-sprintf.c: New file.
68502         * lib/unistdio/u8-vasnprintf.c: New file.
68503         * lib/unistdio/u8-vasprintf.c: New file.
68504         * lib/unistdio/u8-vsnprintf.c: New file.
68505         * lib/unistdio/u8-vsprintf.c: New file.
68506         * lib/unistdio/u8-u8-asnprintf.c: New file.
68507         * lib/unistdio/u8-u8-asprintf.c: New file.
68508         * lib/unistdio/u8-u8-snprintf.c: New file.
68509         * lib/unistdio/u8-u8-sprintf.c: New file.
68510         * lib/unistdio/u8-u8-vasnprintf.c: New file.
68511         * lib/unistdio/u8-u8-vasprintf.c: New file.
68512         * lib/unistdio/u8-u8-vsnprintf.c: New file.
68513         * lib/unistdio/u8-u8-vsprintf.c: New file.
68514         * lib/unistdio/u16-asnprintf.c: New file.
68515         * lib/unistdio/u16-asprintf.c: New file.
68516         * lib/unistdio/u16-printf-parse.c: New file.
68517         * lib/unistdio/u16-snprintf.c: New file.
68518         * lib/unistdio/u16-sprintf.c: New file.
68519         * lib/unistdio/u16-vasnprintf.c: New file.
68520         * lib/unistdio/u16-vasprintf.c: New file.
68521         * lib/unistdio/u16-vsnprintf.c: New file.
68522         * lib/unistdio/u16-vsprintf.c: New file.
68523         * lib/unistdio/u16-u16-asnprintf.c: New file.
68524         * lib/unistdio/u16-u16-asprintf.c: New file.
68525         * lib/unistdio/u16-u16-snprintf.c: New file.
68526         * lib/unistdio/u16-u16-sprintf.c: New file.
68527         * lib/unistdio/u16-u16-vasnprintf.c: New file.
68528         * lib/unistdio/u16-u16-vasprintf.c: New file.
68529         * lib/unistdio/u16-u16-vsnprintf.c: New file.
68530         * lib/unistdio/u16-u16-vsprintf.c: New file.
68531         * lib/unistdio/u32-asnprintf.c: New file.
68532         * lib/unistdio/u32-asprintf.c: New file.
68533         * lib/unistdio/u32-printf-parse.c: New file.
68534         * lib/unistdio/u32-snprintf.c: New file.
68535         * lib/unistdio/u32-sprintf.c: New file.
68536         * lib/unistdio/u32-vasnprintf.c: New file.
68537         * lib/unistdio/u32-vasprintf.c: New file.
68538         * lib/unistdio/u32-vsnprintf.c: New file.
68539         * lib/unistdio/u32-vsprintf.c: New file.
68540         * lib/unistdio/u32-u32-asnprintf.c: New file.
68541         * lib/unistdio/u32-u32-asprintf.c: New file.
68542         * lib/unistdio/u32-u32-snprintf.c: New file.
68543         * lib/unistdio/u32-u32-sprintf.c: New file.
68544         * lib/unistdio/u32-u32-vasnprintf.c: New file.
68545         * lib/unistdio/u32-u32-vasprintf.c: New file.
68546         * lib/unistdio/u32-u32-vsnprintf.c: New file.
68547         * lib/unistdio/u32-u32-vsprintf.c: New file.
68548         * tests/unistdio/test-ulc-asnprintf1.c: New file.
68549         * tests/unistdio/test-ulc-asnprintf1.h: New file.
68550         * tests/unistdio/test-ulc-printf1.h: New file.
68551         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
68552         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
68553         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
68554         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
68555         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
68556         * tests/unistdio/test-ulc-vasprintf1.c: New file.
68557         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
68558         * tests/unistdio/test-ulc-vsprintf1.c: New file.
68559         * tests/unistdio/test-u8-asnprintf1.c: New file.
68560         * tests/unistdio/test-u8-asnprintf1.h: New file.
68561         * tests/unistdio/test-u8-printf1.h: New file.
68562         * tests/unistdio/test-u8-vasnprintf1.c: New file.
68563         * tests/unistdio/test-u8-vasnprintf2.c: New file.
68564         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
68565         * tests/unistdio/test-u8-vasnprintf3.c: New file.
68566         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
68567         * tests/unistdio/test-u8-vasprintf1.c: New file.
68568         * tests/unistdio/test-u8-vsnprintf1.c: New file.
68569         * tests/unistdio/test-u8-vsprintf1.c: New file.
68570         * tests/unistdio/test-u16-asnprintf1.c: New file.
68571         * tests/unistdio/test-u16-asnprintf1.h: New file.
68572         * tests/unistdio/test-u16-printf1.h: New file.
68573         * tests/unistdio/test-u16-vasnprintf1.c: New file.
68574         * tests/unistdio/test-u16-vasnprintf2.c: New file.
68575         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
68576         * tests/unistdio/test-u16-vasnprintf3.c: New file.
68577         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
68578         * tests/unistdio/test-u16-vasprintf1.c: New file.
68579         * tests/unistdio/test-u16-vsnprintf1.c: New file.
68580         * tests/unistdio/test-u16-vsprintf1.c: New file.
68581         * tests/unistdio/test-u32-asnprintf1.c: New file.
68582         * tests/unistdio/test-u32-asnprintf1.h: New file.
68583         * tests/unistdio/test-u32-printf1.h: New file.
68584         * tests/unistdio/test-u32-vasnprintf1.c: New file.
68585         * tests/unistdio/test-u32-vasnprintf2.c: New file.
68586         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
68587         * tests/unistdio/test-u32-vasnprintf3.c: New file.
68588         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
68589         * tests/unistdio/test-u32-vasprintf1.c: New file.
68590         * tests/unistdio/test-u32-vsnprintf1.c: New file.
68591         * tests/unistdio/test-u32-vsprintf1.c: New file.
68592         * modules/unistdio/base: New file.
68593         * modules/unistdio/u-printf-args: New file.
68594         * modules/unistdio/ulc-asnprintf: New file.
68595         * modules/unistdio/ulc-asprintf: New file.
68596         * modules/unistdio/ulc-fprintf: New file.
68597         * modules/unistdio/ulc-printf-parse: New file.
68598         * modules/unistdio/ulc-snprintf: New file.
68599         * modules/unistdio/ulc-sprintf: New file.
68600         * modules/unistdio/ulc-vasnprintf: New file.
68601         * modules/unistdio/ulc-vasprintf: New file.
68602         * modules/unistdio/ulc-vfprintf: New file.
68603         * modules/unistdio/ulc-vsnprintf: New file.
68604         * modules/unistdio/ulc-vsprintf: New file.
68605         * modules/unistdio/u8-asnprintf: New file.
68606         * modules/unistdio/u8-asprintf: New file.
68607         * modules/unistdio/u8-printf-parse: New file.
68608         * modules/unistdio/u8-snprintf: New file.
68609         * modules/unistdio/u8-sprintf: New file.
68610         * modules/unistdio/u8-vasnprintf: New file.
68611         * modules/unistdio/u8-vasprintf: New file.
68612         * modules/unistdio/u8-vsnprintf: New file.
68613         * modules/unistdio/u8-vsprintf: New file.
68614         * modules/unistdio/u8-u8-asnprintf: New file.
68615         * modules/unistdio/u8-u8-asprintf: New file.
68616         * modules/unistdio/u8-u8-snprintf: New file.
68617         * modules/unistdio/u8-u8-sprintf: New file.
68618         * modules/unistdio/u8-u8-vasnprintf: New file.
68619         * modules/unistdio/u8-u8-vasprintf: New file.
68620         * modules/unistdio/u8-u8-vsnprintf: New file.
68621         * modules/unistdio/u8-u8-vsprintf: New file.
68622         * modules/unistdio/u16-asnprintf: New file.
68623         * modules/unistdio/u16-asprintf: New file.
68624         * modules/unistdio/u16-printf-parse: New file.
68625         * modules/unistdio/u16-snprintf: New file.
68626         * modules/unistdio/u16-sprintf: New file.
68627         * modules/unistdio/u16-vasnprintf: New file.
68628         * modules/unistdio/u16-vasprintf: New file.
68629         * modules/unistdio/u16-vsnprintf: New file.
68630         * modules/unistdio/u16-vsprintf: New file.
68631         * modules/unistdio/u16-u16-asnprintf: New file.
68632         * modules/unistdio/u16-u16-asprintf: New file.
68633         * modules/unistdio/u16-u16-snprintf: New file.
68634         * modules/unistdio/u16-u16-sprintf: New file.
68635         * modules/unistdio/u16-u16-vasnprintf: New file.
68636         * modules/unistdio/u16-u16-vasprintf: New file.
68637         * modules/unistdio/u16-u16-vsnprintf: New file.
68638         * modules/unistdio/u16-u16-vsprintf: New file.
68639         * modules/unistdio/u32-asnprintf: New file.
68640         * modules/unistdio/u32-asprintf: New file.
68641         * modules/unistdio/u32-printf-parse: New file.
68642         * modules/unistdio/u32-snprintf: New file.
68643         * modules/unistdio/u32-sprintf: New file.
68644         * modules/unistdio/u32-vasnprintf: New file.
68645         * modules/unistdio/u32-vasprintf: New file.
68646         * modules/unistdio/u32-vsnprintf: New file.
68647         * modules/unistdio/u32-vsprintf: New file.
68648         * modules/unistdio/u32-u32-asnprintf: New file.
68649         * modules/unistdio/u32-u32-asprintf: New file.
68650         * modules/unistdio/u32-u32-snprintf: New file.
68651         * modules/unistdio/u32-u32-sprintf: New file.
68652         * modules/unistdio/u32-u32-vasnprintf: New file.
68653         * modules/unistdio/u32-u32-vasprintf: New file.
68654         * modules/unistdio/u32-u32-vsnprintf: New file.
68655         * modules/unistdio/u32-u32-vsprintf: New file.
68656         * modules/unistdio/ulc-asnprintf-tests: New file.
68657         * modules/unistdio/ulc-vasnprintf-tests: New file.
68658         * modules/unistdio/ulc-vasprintf-tests: New file.
68659         * modules/unistdio/ulc-vsnprintf-tests: New file.
68660         * modules/unistdio/ulc-vsprintf-tests: New file.
68661         * modules/unistdio/u8-asnprintf-tests: New file.
68662         * modules/unistdio/u8-vasnprintf-tests: New file.
68663         * modules/unistdio/u8-vasprintf-tests: New file.
68664         * modules/unistdio/u8-vsnprintf-tests: New file.
68665         * modules/unistdio/u8-vsprintf-tests: New file.
68666         * modules/unistdio/u16-asnprintf-tests: New file.
68667         * modules/unistdio/u16-vasnprintf-tests: New file.
68668         * modules/unistdio/u16-vasprintf-tests: New file.
68669         * modules/unistdio/u16-vsnprintf-tests: New file.
68670         * modules/unistdio/u16-vsprintf-tests: New file.
68671         * modules/unistdio/u32-asnprintf-tests: New file.
68672         * modules/unistdio/u32-vasnprintf-tests: New file.
68673         * modules/unistdio/u32-vasprintf-tests: New file.
68674         * modules/unistdio/u32-vsnprintf-tests: New file.
68675         * modules/unistdio/u32-vsprintf-tests: New file.
68676         * MODULES.html.sh (Unicode string functions): Add the new modules.
68677
68678 2007-07-01  Bruno Haible  <bruno@clisp.org>
68679
68680         * lib/sprintf.c (sprintf): Limit the available length estimation,
68681         to avoid address wraparound.
68682         * lib/vsprintf.c (vsprintf): Likewise.
68683         * modules/sprintf-posix (Dependencies): Add stdint.
68684         * modules/vsprintf-posix (Dependencies): Likewise.
68685
68686 2007-07-01  Bruno Haible  <bruno@clisp.org>
68687
68688         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
68689         Windows PATH as well. Conservative double-quoting. Comments.
68690
68691 2007-07-01  Bruno Haible  <bruno@clisp.org>
68692             Eric Blake  <ebb9@byu.net>
68693             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68694
68695         * gnulib-tool (self_abspathname): Fix algorithm to cope with
68696         empty components in $PATH, denoting '.'.
68697
68698 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68699
68700         * gnulib-tool: Fix indentation.
68701         (func_create_megatestdir): Likewise.
68702         Report by Bruno Haible.
68703
68704 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68705
68706         Sync from Automake.
68707         * build-aux/gnupload: Fix shell portability issues with for loops.
68708         Report by Karl Berry.
68709
68710 2007-06-29  Simon Josefsson  <simon@josefsson.org>
68711
68712         * build-aux/maint.mk (POURL): Use translationproject.org.
68713
68714 2007-06-27  Simon Josefsson  <simon@josefsson.org>
68715             Bruno Haible  <bruno@clisp.org>
68716
68717         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
68718         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
68719         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
68720         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
68721         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
68722
68723 2007-06-27  Bruno Haible  <bruno@clisp.org>
68724
68725         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
68726         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
68727
68728 2007-06-26  Karl Berry  <karl@gnu.org>
68729
68730         * MODULES.html.sh: remove xreadlink-with-size.
68731
68732 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68733
68734         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
68735         method that I hope also handles the double-include problem noted
68736         by Bruno Haible in
68737         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
68738
68739 2007-06-23  Bruno Haible  <bruno@clisp.org>
68740
68741         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68742         Don't let the 'mostlyclean' target fail if the last subdirectory could
68743         not be removed.
68744         Reported by Karl Berry.
68745
68746 2007-06-23  Bruno Haible  <bruno@clisp.org>
68747
68748         * gnulib-tool (echo): Add a speedier workaround for ksh.
68749         * tests/test-echo.sh: Likewise.
68750
68751 2007-06-23  Bruno Haible  <bruno@clisp.org>
68752
68753         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
68754         * tests/test-echo.sh: Likewise.
68755
68756 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68757
68758         * gnulib-tool (IFS): Initialize early, so we don't set it to
68759         empty later.
68760         (self_abspathname): Rewrite algorithm to set it, reindent.
68761         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
68762         (func_create_megatestdir): Merge some sed scripts.
68763
68764 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68765
68766         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
68767         exposed by Sun Studio 11 cc on Solaris 8.
68768
68769 2007-06-22  Bruno Haible  <bruno@clisp.org>
68770
68771         * gnulib-tool (echo): Ensure the echo primitive does not interpret
68772         backslashes.
68773         * tests/test-echo.sh: New file.
68774
68775 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68776
68777         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
68778         simplify `sed_replace_build_aux' scripts, they are portable but
68779         echoing them with `echo' is not.
68780         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
68781
68782 2007-06-21  Karl Berry  <karl@gnu.org>
68783
68784         * config/srclist.txt: guess we can't handle the licenses via
68785         srclist at the moment.
68786
68787 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
68788
68789         * MODULES.html.sh: Add include_next.
68790         * modules/include_next: New file.
68791
68792 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
68793
68794         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
68795         INCLUDE_NEXT.
68796         (gl_CHECK_NEXT_HEADERS): New macro.
68797         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
68798         the obsolescent gl_ABSOLUTE_HEADER.
68799         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
68800         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
68801         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
68802         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
68803         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
68804         * m4/math_h.m4 (gl_MATH_H): Likewise.
68805         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
68806         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
68807         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
68808         * m4/stdint.m4 (gl_STDINT_H): Likewise.
68809         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
68810         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
68811         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
68812         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
68813         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
68814         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
68815         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
68816         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
68817         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
68818         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
68819         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
68820         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
68821         * m4/inttypes.m4 (gl_INTTYPES_H): Define
68822         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
68823         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
68824         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
68825         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
68826         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
68827         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
68828         * lib/float_.h: Likewise.
68829         * lib/inttypes_.h: Likewise.
68830         * lib/math_.h: Likewise.
68831         * lib/search_.h: Likewise.
68832         * lib/signal_.h: Likewise.
68833         * lib/stdint_.h: Likewise.
68834         * lib/stdio_.h: Likewise.
68835         * lib/stdlib_.h: Likewise.
68836         * lib/string_.h: Likewise.
68837         * lib/sys_stat_.h: Likewise.
68838         * lib/sys_time_.h: Likewise.
68839         * lib/time_.h: Likewise.
68840         * lib/unistd_.h: Likewise.
68841         * lib/wchar_.h: Likewise.
68842         * lib/wctype_.h: Likewise.
68843         * lib/dirent_.h: Likewise.
68844         * lib/iconv_.h: Likewise.
68845         * lib/locale_.h: Likewise.
68846         * lib/netinet_in_.h: Likewise.
68847         * lib/sys_select_.h: Likewise.
68848         * lib/sys_socket_.h: Likewise.
68849         * lib/sysexits_.h: Likewise.
68850         * modules/fcntl (Depends-on): Depend on include_next, not
68851         absolute_header.
68852         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
68853         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
68854         * modules/fchdir: Likewise.
68855         * modules/float: Likewise.
68856         * modules/iconv_open: Likewise.
68857         * modules/inttypes: Likewise.
68858         * modules/locale: Likewise.
68859         * modules/math: Likewise.
68860         * modules/netinet_in: Likewise.
68861         * modules/search: Likewise.
68862         * modules/signal: Likewise.
68863         * modules/stdint: Likewise.
68864         * modules/stdio: Likewise.
68865         * modules/stdlib: Likewise.
68866         * modules/string: Likewise.
68867         * modules/sys_select: Likewise.
68868         * modules/sys_socket: Likewise.
68869         * modules/sys_stat: Likewise.
68870         * modules/sys_time: Likewise.
68871         * modules/sysexits: Likewise.
68872         * modules/time: Likewise.
68873         * modules/unistd: Likewise.
68874         * modules/wchar: Likewise.
68875         * modules/wctype: Likewise.
68876         * modules/sys_stat: Change maintainer to "all".
68877         * modules/unistd: Likewise.
68878
68879 2007-06-20  Karl Berry  <karl@gnu.org>
68880
68881         * config/srclist.txt: track www changes in license files.
68882
68883 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
68884
68885         * build-aux/bootstrap: Remove stray dot.
68886         Make sure build_aux settings are honored when linking
68887         gnulib_extra_files.
68888
68889 2007-06-19  Eric Blake  <ebb9@byu.net>
68890
68891         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68892         Allow compilation on cygwin.
68893
68894 2007-06-19  Jim Meyering  <jim@meyering.net>
68895
68896         xreadlink-with-size: Remove module.  No longer used.
68897         Ex-callers now use xreadlink or mreadlink-with-size.
68898         * modules/xreadlink-with-size: Remove module.
68899         * lib/xreadlink-with-size.c: Remove file.
68900         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
68901         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
68902         just before the function definition *is* accurate.
68903
68904         Eliminate one way canonicalize_filename_mode could exit.
68905         * lib/canonicalize.c (canonicalize_filename_mode):
68906         Use mreadlink_with_size, not xreadlink_with_size.
68907
68908 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
68909
68910         Detect porting problems to FreeBSD/arm, which has time_t wider than
68911         long int.  Original problem reported for GNU diff by Xin Li in
68912         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
68913         * modules/getdate (Depends-on): Add intprops, verify.
68914         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
68915         is an integer type no wider than long int.
68916
68917 2007-06-18  Jim Meyering  <jim@meyering.net>
68918
68919         New module: mreadlink-with-size.
68920         * MODULES.html.sh: Add mreadlink-with-size.
68921         * modules/mreadlink-with-size: New module
68922         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
68923         not xreadlink-with-size.
68924         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
68925
68926 2007-06-16  Bruno Haible  <bruno@clisp.org>
68927
68928         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
68929         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
68930         Reported by Gary V. Vaughan <gary@gnu.org>.
68931
68932 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
68933
68934         Revamp lchown so that it lives in unistd.h where it belongs.
68935         * lib/lchown.h: Remove.
68936         * lib/dirchownmod.c: Don't include lib/lchown.h.
68937         * lib/fchownat.c: Likewise.
68938         * lib/openat.c: Likewise.
68939         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
68940         does not follow symlinks.
68941         (EOPNOTSUPP): Define if not defined.
68942         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
68943         is defined to 0.
68944         (lchown): New decl.
68945         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
68946         Do not check for lchown decl.
68947         Set REPLACE_LCHOWN.
68948         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
68949         REPLACE_LCHOWN.
68950         * modules/chown: Make it clear it follows symlinks.
68951         * modules/lchown: Make it clear it doesn't follow symlinks.
68952         (Files): Remove lib/lchown.h
68953         (Depends-on): Add unistd.
68954         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
68955         (Include): Include <unistd.h>, not "lchown.h".
68956         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
68957         REPLACE_LCHOWN.
68958
68959 2007-06-15  Jim Meyering  <jim@meyering.net>
68960
68961         Change license (GPL to LGPL) of fsusage and dependents.
68962         * modules/fsusage (License): Change to LGPL.
68963         * modules/full-read (License): Likewise.
68964         * modules/full-write (License): Likewise.
68965         * modules/safe-read (License): Likewise.
68966         * modules/safe-write (License): Likewise.
68967
68968 2007-06-14  Ben Pfaff  <blp@gnu.org>
68969
68970         Missing part of allocsa -> malloca transition.
68971         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
68972         gl_MALLOCA.
68973
68974 2007-06-12  Bruno Haible  <bruno@clisp.org>
68975
68976         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
68977         to ia64, x86_64, i386.
68978         Reported by Eric Blake.
68979
68980 2007-06-12  Bruno Haible  <bruno@clisp.org>
68981
68982         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
68983         cross-compiling to x86_64.
68984
68985 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
68986
68987         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
68988         glitch reported by Ralf Wildenhues in
68989         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
68990
68991         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
68992         Vin Shelton.
68993
68994 2007-06-11  Bruno Haible  <bruno@clisp.org>
68995
68996         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
68997         replacement string.
68998         Reported by Eric Blake.
68999
69000 2007-06-10  Bruno Haible  <bruno@clisp.org>
69001
69002         Prepare vasnprintf code for use with Unicode strings.
69003         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
69004         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
69005         TYPE_U32_STRING.
69006         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
69007         a_u32_string variants.
69008         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
69009         * lib/printf-args.c: Don't include config.h and the specification
69010         header if PRINTF_FETCHARGS is already defined.
69011         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
69012         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
69013         TYPE_U16_STRING, TYPE_U32_STRING.
69014         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
69015         u16_directive, u16_directives, u32_directive, u32_directives): New
69016         types.
69017         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
69018         New declarations.
69019         * lib/printf-parse.c: Don't include config.h and the specification
69020         header if PRINTF_PARSE is already defined. Eliminate the set of
69021         parameters for WIDE_CHAR_VERSION; the user of this file must provide
69022         them now. Include c-ctype.h.
69023         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
69024         directive and CHAR_T_ONLY_ASCII.
69025         * lib/vasnprintf.c: Don't include config.h and the specification header
69026         if VASNPRINTF is already defined.
69027         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
69028         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
69029         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
69030         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
69031         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
69032         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
69033         code accordingly.
69034         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
69035         pad_ourselves also in this case, with the 'c' and 's' directives, and
69036         with a different notion of "width".
69037         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
69038
69039 2007-06-10  Bruno Haible  <bruno@clisp.org>
69040
69041         * modules/unistr/u32-mbsnlen: New file.
69042         * lib/unistr/u32-mbsnlen.c: New file.
69043
69044         * modules/unistr/u16-mbsnlen: New file.
69045         * lib/unistr/u16-mbsnlen.c: New file.
69046
69047         * modules/unistr/u8-mbsnlen: New file.
69048         * lib/unistr/u8-mbsnlen.c: New file.
69049
69050         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
69051         declarations.
69052
69053 2007-06-10  Bruno Haible  <bruno@clisp.org>
69054
69055         * lib/string_.h (mbsnlen): New declaration.
69056         * lib/mbsnlen.c: New file.
69057         * m4/mbsnlen.m4: New file.
69058         * modules/mbsnlen: New file.
69059         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
69060         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
69061         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
69062
69063 2007-06-10  Bruno Haible  <bruno@clisp.org>
69064
69065         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
69066
69067 2007-06-10  Bruno Haible  <bruno@clisp.org>
69068
69069         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
69070         * lib/mbuiter.h: Likewise.
69071
69072 2007-06-10  Bruno Haible  <bruno@clisp.org>
69073
69074         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
69075         declaration.
69076
69077 2007-06-10  Karl Berry  <karl@gnu.org>
69078
69079         * config/srclist.txt: remove gettext entries, Bruno prefers
69080         to update individually.
69081
69082 2007-06-10  Bruno Haible  <bruno@clisp.org>
69083
69084         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
69085         'maxlen'. Ensure only length + width bytes are allocated, not
69086         length + 1 + width.
69087
69088 2007-06-09  Bruno Haible  <bruno@clisp.org>
69089
69090         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
69091         (CHAR_T): Remove macro.
69092         (VASNPRINTF): Update.
69093
69094 2007-06-09  Bruno Haible  <bruno@clisp.org>
69095
69096         * MODULES.html.sh (Unicode string functions): Add the new modules.
69097
69098         * modules/uniconv/u32-conv-to-enc: New file.
69099         * lib/uniconv/u32-conv-to-enc.c: New file.
69100         * modules/uniconv/u32-conv-to-enc-tests: New file.
69101         * tests/uniconv/test-u32-conv-to-enc.c: New file.
69102
69103         * modules/uniconv/u16-conv-to-enc: New file.
69104         * lib/uniconv/u16-conv-to-enc.c: New file.
69105         * lib/uniconv/u-conv-to-enc.h: New file.
69106         * modules/uniconv/u16-conv-to-enc-tests: New file.
69107         * tests/uniconv/test-u16-conv-to-enc.c: New file.
69108
69109         * modules/uniconv/u8-conv-to-enc: New file.
69110         * lib/uniconv/u8-conv-to-enc.c: New file.
69111         * modules/uniconv/u8-conv-to-enc-tests: New file.
69112         * tests/uniconv/test-u8-conv-to-enc.c: New file.
69113
69114         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
69115         u32_conv_to_encoding): New declarations.
69116
69117 2007-06-09  Bruno Haible  <bruno@clisp.org>
69118
69119         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
69120
69121 2007-06-09  Bruno Haible  <bruno@clisp.org>
69122
69123         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
69124         * modules/malloca: Renamed from modules/allocsa, updated.
69125         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
69126         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
69127         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
69128         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
69129         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
69130         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
69131         * modules/xmalloca: Renamed from modules/xallocsa, updated.
69132         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
69133         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
69134         * modules/c-strcasestr (Depends-on): Update.
69135         * lib/c-strcasestr.c: Update.
69136         * modules/c-strstr (Depends-on): Update.
69137         * lib/c-strstr.c: Update.
69138         * modules/canonicalize-lgpl (Depends-on): Update.
69139         * lib/canonicalize-lgpl.c: Update.
69140         * modules/clean-temp (Depends-on): Update.
69141         * lib/clean-temp.c: Update.
69142         * modules/csharpcomp (Depends-on): Update.
69143         * lib/csharpcomp.c: Update.
69144         * modules/csharpexec (Depends-on): Update.
69145         * lib/csharpexec.c: Update.
69146         * modules/javacomp (Depends-on): Update.
69147         * lib/javacomp.c: Update.
69148         * modules/javaexec (Depends-on): Update.
69149         * lib/javaexec.c: Update.
69150         * modules/mbscasestr (Depends-on): Update.
69151         * lib/mbscasestr.c: Update.
69152         * modules/mbsstr (Depends-on): Update.
69153         * lib/mbsstr.c: Update.
69154         * modules/setenv (Depends-on): Update.
69155         * lib/setenv.c: Update.
69156         * modules/strcasestr (Depends-on): Update.
69157         * lib/strcasestr.c: Update.
69158         * modules/striconveha (Depends-on): Update.
69159         * lib/striconveha.c: Update.
69160         * modules/relocatable-prog-wrapper (Files): Update.
69161         * lib/relocwrapper.c: Update.
69162         * build-aux/install-reloc: Update.
69163         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
69164
69165 2007-06-08  Bruno Haible  <bruno@clisp.org>
69166
69167         Port to uClibc.
69168         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
69169         * lib/fpurge.c (fpurge): Likewise.
69170         * lib/freading.c (freading): Likewise.
69171         * lib/fseeko.c (rpl_fseeko): Likewise.
69172         * lib/fseterr.c (fseterr): Likewise.
69173         * lib/fwriting.c (fwriting): Likewise.
69174         * tests/test-fflush.c (main): Avoid a failure on uClibc.
69175
69176 2007-06-08  Bruno Haible  <bruno@clisp.org>
69177
69178         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
69179         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
69180         * modules/gettext (Files): Add m4/intlmacosx.m4.
69181
69182 2007-06-07  Bruno Haible  <bruno@clisp.org>
69183
69184         * modules/localename-tests: New file.
69185         * tests/test-localename.c: New file.
69186
69187         New module 'localename'.
69188         * lib/localename.h: New file.
69189         * lib/localename.c: New file, from GNU gettext.
69190         * m4/localename.m4: New file.
69191         * modules/localename: New file.
69192
69193 2007-06-07  Bruno Haible  <bruno@clisp.org>
69194
69195         Work around the lack of <wchar.h> on some builds of uClibc.
69196         * doc/headers/wchar.texi: Update.
69197         * lib/wchar_.h: Include <wchar.h> only if it exists.
69198         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
69199         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
69200         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
69201         doesn't exist.
69202         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
69203         * modules/mbfile (Depends-on): Add wchar.
69204         * modules/mbiter (Depends-on): Likewise.
69205         * modules/mbuiter (Depends-on): Likewise.
69206         Reported by Simon Josefsson.
69207
69208 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
69209
69210         Work around problem reported by Steven M. Schweda in
69211         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
69212         Tru64 5.1B with the Compaq compiler environment installed declares
69213         an 'isblank' function but does not define it in the C library.
69214         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
69215         * lib/regex_internal.h (isblank): Likewise.
69216         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
69217         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
69218
69219 2007-06-05  Bruno Haible  <bruno@clisp.org>
69220
69221         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
69222         ia64.
69223         * modules/printf-safe: New file.
69224         * modules/fprintf-posix (Depends-on): Add printf-safe.
69225         * modules/printf-posix (Depends-on): Likewise.
69226         * modules/snprintf-posix (Depends-on): Likewise.
69227         * modules/sprintf-posix (Depends-on): Likewise.
69228         * modules/vasnprintf-posix (Depends-on): Likewise.
69229         * modules/vasprintf-posix (Depends-on): Likewise.
69230         * modules/vfprintf-posix (Depends-on): Likewise.
69231         * modules/vprintf-posix (Depends-on): Likewise.
69232         * modules/vsnprintf-posix (Depends-on): Likewise.
69233         * modules/vsprintf-posix (Depends-on): Likewise.
69234         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
69235         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
69236         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
69237         "no" on i386, x86_64, ia64.
69238         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
69239         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69240         on i386, x86_64, ia64.
69241         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
69242         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69243         on i386, x86_64, ia64.
69244         * tests/test-vasnprintf-posix.c: Include float.h.
69245         (LDBL80_WORDS): New macro.
69246         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69247         on i386, x86_64, ia64.
69248         * tests/test-vasprintf-posix.c: Include float.h.
69249         (LDBL80_WORDS): New macro.
69250         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69251         on i386, x86_64, ia64.
69252         * tests/test-snprintf-posix.c: Include float.h.
69253         * tests/test-sprintf-posix.c: Likewise.
69254         * tests/test-vsnprintf-posix.c: Likewise.
69255         * tests/test-vsprintf-posix.c: Likewise.
69256
69257 2007-06-05  Bruno Haible  <bruno@clisp.org>
69258
69259         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
69260         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
69261         non-IEEE numbers on i386, x86_64, ia64.
69262         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
69263         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
69264         * tests/test-isnanl.h: Include float.h.
69265         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
69266
69267 2007-06-05  Bruno Haible  <bruno@clisp.org>
69268
69269         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
69270         also the %a / %A. Handle the %a / %A code before this extra handling.
69271
69272 2007-06-05  Bruno Haible  <bruno@clisp.org>
69273
69274         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
69275         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
69276
69277 2007-06-05  Bruno Haible  <bruno@clisp.org>
69278
69279         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
69280         typo in variable name.
69281
69282 2007-06-05  Eric Blake  <ebb9@byu.net>
69283
69284         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
69285         Reported by Simon Josefsson.
69286
69287 2007-06-04  Bruno Haible  <bruno@clisp.org>
69288
69289         Avoid test failures on some PowerPC platforms.
69290         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
69291         Define differently for PowerPC.
69292         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
69293         Reported by Gary V. Vaughan <gary@gnu.org>.
69294
69295 2007-06-02  Bruno Haible  <bruno@clisp.org>
69296
69297         Fix test-stdint failure on FreeBSD/ia64.
69298         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
69299         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
69300         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
69301         * doc/headers/stdint.texi: Update.
69302
69303 2007-06-01  Bruno Haible  <bruno@clisp.org>
69304
69305         * tests/test-binary-io.c (main): Pass a third argument to open().
69306         Reported by Gary V. Vaughan <gary@gnu.org>.
69307
69308 2007-06-01  Bruno Haible  <bruno@clisp.org>
69309
69310         * doc/functions/frexpl.texi: Update for mingw.
69311
69312 2007-06-01  Bruno Haible  <bruno@clisp.org>
69313
69314         * tests/test-lseek.c (main): Disable test of errno for invalid third
69315         argument.
69316         * doc/functions/lseek.texi: Update.
69317         Reported by Gary V. Vaughan <gary@gnu.org>.
69318
69319 2007-05-28  Bruno Haible  <bruno@clisp.org>
69320
69321         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
69322
69323 2007-05-31  Eric Blake  <ebb9@byu.net>
69324
69325         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
69326         cross compiling.
69327
69328 2007-05-30  Eric Blake  <ebb9@byu.net>
69329         and Bruno Haible  <bruno@clisp.org>
69330
69331         Work around mingw test failures exposed by m4-1.4.9b.
69332         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
69333         * tests/test-unistd.c: Disable uid_t and git_t tests for the
69334         moment.
69335
69336 2007-05-30  Bruno Haible  <bruno@clisp.org>
69337
69338         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
69339         assuming that they are closed. Needed on HP-UX 11.
69340
69341 2007-05-29  Bruno Haible  <bruno@clisp.org>
69342
69343         Fix a problem with #include_next.
69344         * lib/dirent_.h: Split the double-inclusion guard.
69345         * lib/fcntl_.h: Likewise.
69346         * lib/float_.h: Likewise.
69347         * lib/iconv_.h: Likewise.
69348         * lib/inttypes_.h: Likewise.
69349         * lib/locale_.h: Likewise.
69350         * lib/math_.h: Likewise.
69351         * lib/netinet_in_.h: Likewise.
69352         * lib/search_.h: Likewise.
69353         * lib/signal_.h: Likewise.
69354         * lib/stdint_.h: Likewise.
69355         * lib/stdio_.h: Likewise.
69356         * lib/stdlib_.h: Likewise.
69357         * lib/string_.h: Likewise.
69358         * lib/sys_select_.h: Likewise.
69359         * lib/sys_socket_.h: Likewise.
69360         * lib/sys_stat_.h: Likewise.
69361         * lib/sys_time_.h: Likewise.
69362         * lib/sysexits_.h: Likewise.
69363         * lib/time_.h: Likewise.
69364         * lib/unistd_.h: Likewise.
69365         * lib/wchar_.h: Likewise.
69366         * lib/wctype_.h: Likewise.
69367
69368 2007-05-29  Bruno Haible  <bruno@clisp.org>
69369
69370         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
69371         for the moment.
69372
69373 2007-05-29  Bruno Haible  <bruno@clisp.org>
69374
69375         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
69376         invocation.
69377         Reported by Eric Blake.
69378
69379 2007-05-29  Bruno Haible  <bruno@clisp.org>
69380
69381         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
69382         compiling case.
69383
69384 2007-05-29  Eric Blake  <ebb9@byu.net>
69385             Bruno Haible  <bruno@clisp.org>
69386
69387         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
69388         cross compiles.
69389
69390 2007-05-28  Eric Blake  <ebb9@byu.net>
69391
69392         * modules/closein-tests (test_closein_LDADD): Support test on
69393         cygwin with libtool.
69394
69395 2007-05-28  Bruno Haible  <bruno@clisp.org>
69396
69397         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
69398         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
69399         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
69400         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
69401         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
69402         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
69403         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
69404         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
69405         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
69406
69407 2007-05-28  Eric Blake  <ebb9@byu.net>
69408
69409         Unconditionally include <config.h> in unit tests.
69410         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
69411         * tests/test-allocsa.c, tests/test-arcfour.c,
69412         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
69413         tests/test-array_list.c, tests/test-array_oset.c,
69414         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
69415         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
69416         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
69417         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
69418         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
69419         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
69420         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
69421         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
69422         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
69423         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
69424         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
69425         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
69426         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
69427         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
69428         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
69429         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
69430         test-md5.c, test-memmem.c, test-printf-posix.c,
69431         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
69432         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
69433         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
69434         test-strcasestr.c, test-striconv.c, test-striconveh.c,
69435         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
69436         test-vasnprintf-posix2.c, test-vasnprintf.c,
69437         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
69438         test-vfprintf-posix.c, test-vprintf-posix.c,
69439         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
69440         test-xvasprintf.c: Likewise.
69441
69442 2007-05-28  Bruno Haible  <bruno@clisp.org>
69443
69444         * gnulib-tool (func_import): Remember the --with-tests command-line
69445         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
69446         Reported by Eric Blake.
69447
69448 2007-05-28  Bruno Haible  <bruno@clisp.org>
69449
69450         * modules/ftell-tests: New file.
69451         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
69452         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
69453
69454         * lib/ftell.c: New file.
69455         * modules/ftell: New file.
69456         * m4/ftell.m4: New file.
69457         * doc/functions/ftell.texi: Update.
69458         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
69459         REPLACE_FTELL.
69460         * lib/stdio_.h (rpl_ftell): New declaration.
69461         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
69462         REPLACE_FTELL.
69463
69464 2007-05-28  Eric Blake  <ebb9@byu.net>
69465
69466         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
69467
69468 2007-05-28  Bruno Haible  <bruno@clisp.org>
69469
69470         * modules/fseek-tests: New file.
69471         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
69472         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
69473
69474         * lib/fseek.c: New file.
69475         * modules/fseek: New file.
69476         * m4/fseek.m4: New file.
69477         * doc/functions/fseek.texi: Update.
69478         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
69479         REPLACE_FSEEK.
69480         * lib/stdio_.h (rpl_fseek): New declaration.
69481         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
69482         REPLACE_FSEEK.
69483
69484 2007-05-28  Bruno Haible  <bruno@clisp.org>
69485
69486         * lib/stdio_.h (fflush): More comments.
69487
69488 2007-05-28  Bruno Haible  <bruno@clisp.org>
69489
69490         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
69491         runtime test.
69492
69493 2007-05-28  Eric Blake  <ebb9@byu.net>
69494
69495         Improve lseek module.
69496         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
69497         * lib/unistd_.h (lseek): Scale back link warning message.
69498         * tests/test-lseek.c: Beef up test.
69499         * tests/test-lseek.sh: Exercise more facets of lseek.
69500         Reported by Bruno Haible.
69501
69502 2007-05-28  Bruno Haible  <bruno@clisp.org>
69503
69504         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
69505         to define.
69506
69507 2007-05-27  Bruno Haible  <bruno@clisp.org>
69508
69509         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
69510
69511 2007-05-27  Bruno Haible  <bruno@clisp.org>
69512
69513         * modules/openmp: New file.
69514         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
69515         Noah Misch.
69516
69517 2007-05-26  Bruno Haible  <bruno@clisp.org>
69518
69519         * modules/chdir-long (Depends-on): Add fchdir.
69520         * modules/chdir-safer (Depends-on): Likewise.
69521         * modules/fts (Depends-on): Likewise.
69522         * modules/fts-lgpl (Depends-on): Likewise.
69523         * modules/openat (Depends-on): Likewise.
69524         * modules/savewd (Depends-on): Likewise.
69525
69526 2007-05-24  Eric Blake  <ebb9@byu.net>
69527
69528         Fix lseek on mingw.
69529         * modules/lseek: New module.
69530         * m4/lseek.m4: New file.
69531         * lib/lseek.c: New file.
69532         * modules/lseek-tests: New file.
69533         * tests/test-lseek.c: New file.
69534         * tests/test-lseek.sh: New file.
69535         * MODULES.html.sh: Document lseek module.
69536         * modules/fflush (Depends-on): Add lseek, fseeko.
69537         * modules/fseeko (Depends-on): Likewise.
69538         * modules/ftello (Depends-on): Likewise.
69539         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
69540         broken.
69541         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
69542         broken.
69543         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
69544         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
69545         * lib/ftello.c (rpl_ftello): Likewise.
69546         * tests/test-fseeko.c (main): Test this.
69547         * tests/test-fseeko.sh: Likewise.
69548         * tests/test-ftello.c (main): Likewise.
69549         * tests/test-ftello.sh: Likewise.
69550         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
69551         implies replacing fseek.
69552         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
69553         HAVE_FTELLO.
69554         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
69555         * modules/unistd (Makefile.am): Likewise.
69556         * lib/unistd_.h (lseek): Declare a replacement.
69557         * doc/functions/lseek.texi (lseek): Document this fix.
69558         * doc/functions/fseek.texi (fseek): Likewise.
69559         * doc/functions/ftell.texi (ftell): Likewise.
69560
69561 2007-05-24  Bruno Haible  <bruno@clisp.org>
69562
69563         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
69564         in the printed representation of a NaN.
69565         * tests/test-vasprintf-posix.c (test_function): Likewise.
69566         * tests/test-snprintf-posix.h (test_function): Likewise.
69567         * tests/test-sprintf-posix.h (test_function): Likewise.
69568         Reported by Eric Blake.
69569
69570 2007-05-23  Eric Blake  <ebb9@byu.net>
69571
69572         Fix fseeko/ftello on cygwin 1.5.24.
69573         * doc/functions/fseeko.texi (fseeko): Document the fix.
69574         * doc/functions/ftello.texi (ftello): Document the fix.
69575         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
69576         * doc/functions/stdout.text (stdout): New file.
69577         * doc/functions/stderr.text (stderr): New file.
69578         * doc/gnulib.texi (Function Substitutes): Use new files.
69579         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
69580         prior to 1.7.0.
69581         * tests/test-ftello.c (main): Likewise for ftello.
69582         * tests/test-fseeko.sh: New file.
69583         * tests/test-ftello.sh: New file.
69584         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
69585         with seekable stdin.
69586         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
69587         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
69588         (gl_REPLACE_FSEEKO): New macro.
69589         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
69590         * modules/fseeko (Files): Distribute fseeko.c.
69591         * modules/ftello (Files): Distribute ftello.c.
69592         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
69593         mode.
69594         * lib/ftello.c (rpl_ftello): New file.
69595         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
69596         fseeko, ftello.
69597         (gl_STDIN_LARGE_OFFSET): New macro.
69598         * modules/stdio (Makefile.am): Perform the replacement.
69599         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
69600
69601 2007-05-23  Bruno Haible  <bruno@clisp.org>
69602
69603         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
69604         GNULIB_POSIXCHECK is defined.
69605
69606 2007-05-21  Bruno Haible  <bruno@clisp.org>
69607
69608         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
69609         Check also the output for NaN arguments. When cross-compiling, guess
69610         no on IRIX.
69611         * lib/vasnprintf.c: Update comments.
69612         * tests/test-vasnprintf-posix.c (strisnan): New function.
69613         (test_function): Use it.
69614         * tests/test-vasprintf-posix.c (strisnan): New function.
69615         (test_function): Use it.
69616         * tests/test-snprintf-posix.h (strisnan): New function.
69617         (test_function): Use it.
69618         * tests/test-sprintf-posix.h (strisnan): New function.
69619         (test_function): Use it.
69620         Reported by Eric Blake.
69621
69622 2007-05-20  Bruno Haible  <bruno@clisp.org>
69623
69624         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
69625         numbers that fails on BeOS.
69626         * doc/functions/frexpl.texi: Update.
69627
69628 2007-05-20  Jim Meyering  <jim@meyering.net>
69629
69630         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
69631         forced upon us by glibc-2.6.
69632
69633 2007-05-20  Bruno Haible  <bruno@clisp.org>
69634
69635         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
69636         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
69637         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
69638         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
69639         NEED_PRINTF_INFINITE.
69640         (is_infinitel): New function.
69641         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
69642         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
69643         gl_PREREQ_VASNPRINTF_INFINITE.
69644         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
69645         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69646         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
69647         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
69648         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
69649         gl_PREREQ_VASNPRINTF_INFINITE.
69650         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69651         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69652         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69653         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69654         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69655         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69656         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69657         * doc/functions/fprintf.texi: Update.
69658         * doc/functions/printf.texi: Update.
69659         * doc/functions/snprintf.texi: Update.
69660         * doc/functions/sprintf.texi: Update.
69661         * doc/functions/vfprintf.texi: Update.
69662         * doc/functions/vprintf.texi: Update.
69663         * doc/functions/vsnprintf.texi: Update.
69664         * doc/functions/vsprintf.texi: Update.
69665
69666 2007-05-20  Bruno Haible  <bruno@clisp.org>
69667
69668         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
69669         was not found in libc.
69670         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
69671
69672 2007-05-20  Bruno Haible  <bruno@clisp.org>
69673
69674         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69675         printed as "-nan" instead of "nan".
69676         * tests/test-vasprintf-posix.c (test_function): Likewise.
69677         * tests/test-snprintf-posix.h (test_function): Likewise.
69678         * tests/test-sprintf-posix.h (test_function): Likewise.
69679         Needed for HP-UX 11.
69680
69681 2007-05-20  Jim Meyering  <jim@meyering.net>
69682
69683         Fix buggy test for the fchownat-deref bug.
69684         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
69685         symlink required for the run-test.  Without it, this test would
69686         always declare that fchownat doesn't work, and client code would
69687         unnecessarily use the replacement function with fixed libc.
69688         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
69689         Reported by Greg Schafer.
69690
69691 2007-05-19  Bruno Haible  <bruno@clisp.org>
69692
69693         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
69694         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
69695         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
69696         Needed for IRIX 6.5 and Solaris 2.5.1.
69697
69698 2007-05-19  Bruno Haible  <bruno@clisp.org>
69699
69700         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
69701         (test_function): Skip tests involving -0.0 on platforms where
69702         -0.0 = 0.0.
69703         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
69704         (test_function): Skip tests involving -0.0 on platforms where
69705         -0.0 = 0.0.
69706         * tests/test-snprintf-posix.h (have_minus_zero): New function.
69707         (test_function): Skip tests involving -0.0 on platforms where
69708         -0.0 = 0.0.
69709         * tests/test-sprintf-posix.h (have_minus_zero): New function.
69710         (test_function): Skip tests involving -0.0 on platforms where
69711         -0.0 = 0.0.
69712         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
69713         tests.
69714         * tests/test-printf-posix.h (test_function): Likewise.
69715         * tests/test-printf-posix.output: Remove all -0.0 related results.
69716         Needed for IRIX 6.5.
69717
69718 2007-05-19  Bruno Haible  <bruno@clisp.org>
69719
69720         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69721         printed as "nan0x7fffffff" instead of "nan".
69722         * tests/test-vasprintf-posix.c (test_function): Likewise.
69723         * tests/test-snprintf-posix.h (test_function): Likewise.
69724         * tests/test-sprintf-posix.h (test_function): Likewise.
69725         * tests/test-fprintf-posix.h (NaN): Remove macro.
69726         (test_function): Remove all NaN related tests.
69727         * tests/test-printf-posix.h (NaN): Remove macro.
69728         (test_function): Remove all NaN related tests.
69729         * tests/test-printf-posix.output: Remove all NaN related results.
69730         Needed for IRIX 6.5.
69731
69732 2007-05-19  Bruno Haible  <bruno@clisp.org>
69733
69734         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
69735         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
69736
69737 2007-05-19  Bruno Haible  <bruno@clisp.org>
69738
69739         * lib/float_.h: New file.
69740         * m4/float_h.m4: New file.
69741         * modules/float: New file.
69742         * modules/isnanl (Dependencies): Add float.
69743         * modules/isnanl-nolibm (Dependencies): Likewise.
69744         * modules/mathl (Dependencies): Likewise.
69745         * modules/printf-frexpl (Dependencies): Likewise.
69746         * modules/signbit (Dependencies): Likewise.
69747         * modules/vasnprintf (Dependencies): Likewise.
69748         * doc/headers/float.texi: Update.
69749
69750 2007-05-19  Jim Meyering  <jim@meyering.net>
69751
69752         * lib/utimens.c (gl_futimens): Rename from futimens,
69753         now that glibc-2.6 declares futimens.
69754         * lib/utimens.h: Likewise.
69755
69756 2007-05-19  Bruno Haible  <bruno@clisp.org>
69757
69758         Avoid test failures on mingw.
69759         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
69760         * tests/test-printf-posix.sh: Likewise.
69761         * tests/test-vfprintf-posix.sh: Likewise.
69762         * tests/test-vprintf-posix.sh: Likewise.
69763
69764 2007-05-19  Bruno Haible  <bruno@clisp.org>
69765
69766         Fix *printf result for NaN, Inf, -0.0 on mingw.
69767         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
69768         * lib/vasnprintf.c: Include math.h and isnan.h.
69769         (is_infinite_or_zero): New function.
69770         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
69771         values in the %f, %F, %e, %E, %g, %G directives.
69772         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
69773         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69774         gl_PRINTF_INFINITE and test its result. Invoke
69775         gl_PREREQ_VASNPRINTF_INFINITE.
69776         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69777         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69778         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69779         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69780         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69781         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69782         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69783         * doc/functions/fprintf.texi: Update.
69784         * doc/functions/printf.texi: Update.
69785         * doc/functions/snprintf.texi: Update.
69786         * doc/functions/sprintf.texi: Update.
69787         * doc/functions/vfprintf.texi: Update.
69788         * doc/functions/vprintf.texi: Update.
69789         * doc/functions/vsnprintf.texi: Update.
69790         * doc/functions/vsprintf.texi: Update.
69791
69792 2007-05-19  Bruno Haible  <bruno@clisp.org>
69793
69794         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
69795         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
69796         Instead of multiplying with 10^k, set extra_zeroes to k.
69797         (scale10_round_long_double): Remove function.
69798
69799 2007-05-18  Bruno Haible  <bruno@clisp.org>
69800
69801         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
69802         introduced on 2007-05-06.
69803
69804 2007-05-18  Bruno Haible  <bruno@clisp.org>
69805
69806         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
69807         %g directives.
69808         * tests/test-vasprintf-posix.c (test_function): Likewise.
69809         * tests/test-snprintf-posix.h (test_function): Likewise.
69810         * tests/test-sprintf-posix.h (test_function): Likewise.
69811
69812 2007-05-18  Bruno Haible  <bruno@clisp.org>
69813
69814         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
69815         (strmatch): New function.
69816         (test_function): Test the %f directive on numbers of various exponents.
69817         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
69818         (strmatch): New function.
69819         (test_function): Test the %f directive on numbers of various exponents.
69820         * tests/test-snprintf-posix.h (strmatch): New function.
69821         (test_function): Test the %f directive on numbers of various exponents.
69822         * tests/test-sprintf-posix.h (strmatch): New function.
69823         (test_function): Test the %f directive on numbers of various exponents.
69824         * tests/test-snprintf-posix.c (SIZEOF): New macro.
69825         * tests/test-sprintf-posix.c (SIZEOF): New macro.
69826         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
69827         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
69828
69829 2007-05-18  Bruno Haible  <bruno@clisp.org>
69830
69831         Add support for 'long double' number output.
69832         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
69833         * lib/vasnprintf.c: Include math.h and float+.h.
69834         (mp_limb_t): New type.
69835         (GMP_LIMB_BITS): New macro.
69836         (mp_twolimb_t): New type.
69837         (GMP_TWOLIMB_BITS): New macro.
69838         (mpn_t): New type.
69839         (multiply, divide, convert_to_decimal, decode_long_double,
69840         scale10_round_long_double, scale10_round_decimal_long_double,
69841         floorlog10l): New functions.
69842         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
69843         for the %f, %F, %e, %E, %g, %G directives.
69844         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
69845         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69846         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
69847         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
69848         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69849         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69850         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69851         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69852         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69853         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69854         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69855         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
69856         * modules/snprintf-posix (Depends-on): Likewise.
69857         * modules/sprintf-posix (Depends-on): Likewise.
69858         * modules/vasnprintf-posix (Depends-on): Likewise.
69859         * modules/vasprintf-posix (Depends-on): Likewise.
69860         * modules/vfprintf-posix (Depends-on): Likewise.
69861         * modules/vsnprintf-posix (Depends-on): Likewise.
69862         * modules/vsprintf-posix (Depends-on): Likewise.
69863         * modules/vasnprintf (Files): Add lib/float+.h.
69864         * doc/functions/fprintf.texi: Update.
69865         * doc/functions/printf.texi: Update.
69866         * doc/functions/snprintf.texi: Update.
69867         * doc/functions/sprintf.texi: Update.
69868         * doc/functions/vfprintf.texi: Update.
69869         * doc/functions/vprintf.texi: Update.
69870         * doc/functions/vsnprintf.texi: Update.
69871         * doc/functions/vsprintf.texi: Update.
69872
69873 2007-05-18  Bruno Haible  <bruno@clisp.org>
69874
69875         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
69876
69877 2007-05-18  Bruno Haible  <bruno@clisp.org>
69878
69879         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
69880         for printing 64-bit integers. Needed for mingw.
69881
69882 2007-05-18  Bruno Haible  <bruno@clisp.org>
69883
69884         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
69885         gl_FUNC_FREXPL_WORKS.
69886         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
69887
69888 2007-05-18  Bruno Haible  <bruno@clisp.org>
69889
69890         * modules/frexpl-nolibm-tests: New file.
69891
69892         * modules/frexpl-nolibm: New file.
69893         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
69894
69895 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69896
69897         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
69898         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69899         GCC 4.2, which otherwise issues a lot of warnings.
69900         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
69901         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
69902         Likewise.
69903         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
69904         * modules/iconv_open (iconv.h): Likewise.
69905         * modules/locale (locale.h): Likewise.
69906         * modules/netinet_in (netinet/in.h): Likewise.
69907         * modules/sys_select (sys_select.h): Likewise.
69908         * modules/sys_socket (sys/socket.h): Likewise.
69909         * modules/sys_stat (sys/stat.h): Likewise.
69910         * modules/sysexits (sysexits.h): Likewise.
69911         * modules/unistd (unistd.h): Likewise.
69912
69913 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69914
69915         * modules/closein-tests (Makefile.am): Distribute
69916         `test-closein.sh'.
69917
69918 2007-05-17  Bruno Haible  <bruno@clisp.org>
69919
69920         * tests/test-printf-posix.output: Renamed from
69921         tests/test-fprintf-posix.out.
69922         * modules/fprintf-posix-tests: Update.
69923         * modules/printf-posix-tests: Update.
69924         * modules/vfprintf-posix-tests: Update.
69925         * modules/vprintf-posix-tests: Update.
69926         * tests/test-fprintf-posix.sh: Update.
69927         * tests/test-printf-posix.sh: Update.
69928         * tests/test-vfprintf-posix.sh: Update.
69929         * tests/test-vprintf-posix.sh: Update.
69930         Reported by Ralf Wildenhues.
69931
69932 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69933
69934         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
69935         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69936         GCC 4.2, which otherwise issues a lot of warnings.
69937         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
69938         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
69939         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
69940         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
69941         it should no longer be needed.
69942         * lib/string_.h: Likewise.
69943         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
69944         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
69945         * modules/inttypes (inttypes.h): Likewise.
69946         * modules/math (math.h): Likewise.
69947         * modules/search (search.h): Likewise.
69948         * modules/signal (signal.h): Likewise.
69949         * modules/stdint (stdint.h): Likewise.
69950         * modules/stdio (stdio.h): Likewise.
69951         * modules/stdlib (stdlib.h): Likewise.
69952         * modules/string (string.h): Likewise.
69953         * modules/sys_time (sys/time.h): Likewise.
69954         * modules/time (time.h): Likewise.
69955         * modules/wchar (wchar.h): Likewise.
69956         * modules/wctype (wtype.h): Likewise.
69957
69958 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
69959
69960         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
69961
69962 2007-05-13  Bruno Haible  <bruno@clisp.org>
69963
69964         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
69965         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69966         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
69967         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69968         (gl_PREREQ_STRTOK_R): Don't require it here.
69969
69970 2007-05-13  Bruno Haible  <bruno@clisp.org>
69971
69972         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
69973         when used in C++ mode.
69974
69975 2007-05-12  Bruno Haible  <bruno@clisp.org>
69976
69977         * lib/linebuffer.h: Tweak doc.
69978         * lib/linebuffer.c: Likewise.
69979
69980 2007-05-12  James Youngman  <jay@gnu.org>
69981
69982         * lib/linebuffer.c (readlinebuffer_delim): New function,
69983         like readlinebuffer, but use a caller-specified delimiter.
69984         (readlinebuffer): Just call readlinebuffer_delim with '\n'
69985         as the delimiter.
69986         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
69987
69988 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
69989
69990         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
69991         * modules/openat (Files): Remove openat-die.c.
69992         (Depends-on): Add openat-die.
69993         * modules/openat-die: New module.
69994
69995 2007-05-06  Bruno Haible  <bruno@clisp.org>
69996
69997         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
69998         Update with info about Cygwin.
69999         * doc/functions/fprintf.texi: Update.
70000         * doc/functions/printf.texi: Update.
70001         * doc/functions/snprintf.texi: Update.
70002         * doc/functions/sprintf.texi: Update.
70003         * doc/functions/vfprintf.texi: Update.
70004         * doc/functions/vprintf.texi: Update.
70005         * doc/functions/vsnprintf.texi: Update.
70006         * doc/functions/vsprintf.texi: Update.
70007         Reported by Eric Blake.
70008
70009 2007-05-06  Bruno Haible  <bruno@clisp.org>
70010
70011         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
70012         padding ourselves for the floating-point directives.
70013         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
70014         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
70015         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70016         gl_PRINTF_FLAG_ZERO and test its result. Invoke
70017         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
70018         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70019         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
70020         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70021         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70022         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
70023         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
70024         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70025         * tests/test-snprintf-posix.h (test_function): Also check the width
70026         and some flags in the %f directive.
70027         * tests/test-sprintf-posix.h (test_function): Likewise.
70028         * tests/test-vasnprintf-posix.c (test_function): Likewise.
70029         * tests/test-vasprintf-posix.c (test_function): Likewise.
70030         * doc/functions/fprintf.texi: Update.
70031         * doc/functions/printf.texi: Update.
70032         * doc/functions/snprintf.texi: Update.
70033         * doc/functions/sprintf.texi: Update.
70034         * doc/functions/vfprintf.texi: Update.
70035         * doc/functions/vprintf.texi: Update.
70036         * doc/functions/vsnprintf.texi: Update.
70037         * doc/functions/vsprintf.texi: Update.
70038
70039 2007-05-06  Bruno Haible  <bruno@clisp.org>
70040
70041         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
70042         pass the ' flag character to sprintf or snprintf.
70043         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
70044         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
70045         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70046         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
70047         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
70048         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70049         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
70050         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70051         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70052         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
70053         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
70054         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70055         * tests/test-snprintf-posix.h (test_function): Also check the grouping
70056         flag.
70057         * tests/test-sprintf-posix.h (test_function): Likewise.
70058         * tests/test-vasnprintf-posix.c (test_function): Likewise.
70059         * tests/test-vasprintf-posix.c (test_function): Likewise.
70060         * doc/functions/fprintf.texi: Update.
70061         * doc/functions/printf.texi: Update.
70062         * doc/functions/snprintf.texi: Update.
70063         * doc/functions/sprintf.texi: Update.
70064         * doc/functions/vfprintf.texi: Update.
70065         * doc/functions/vprintf.texi: Update.
70066         * doc/functions/vsnprintf.texi: Update.
70067         * doc/functions/vsprintf.texi: Update.
70068
70069 2007-05-01  Bruno Haible  <bruno@clisp.org>
70070
70071         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
70072
70073 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
70074
70075         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
70076         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
70077
70078 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
70079
70080         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
70081         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
70082         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
70083
70084 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
70085
70086         * lib/argp-help.c (struct hol_entry): New member `ord'.
70087         (HOL_ENTRY_PTRCMP): Use ord for comparison
70088         (hol_sort): Initialize ord.
70089
70090 2007-05-01  Bruno Haible  <bruno@clisp.org>
70091
70092         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
70093         Reported by Eric Blake.
70094         * doc/gnulib.texi (Function Substitutes): Update.
70095
70096 2007-05-01  Bruno Haible  <bruno@clisp.org>
70097
70098         * doc/functions.texi: Remove file, now redundant through
70099         doc/functions/*.texi.
70100
70101 2007-05-01  Bruno Haible  <bruno@clisp.org>
70102
70103         * modules/argp (Depends-on): Add sleep.
70104
70105 2007-05-01  Bruno Haible  <bruno@clisp.org>
70106
70107         * modules/sleep-tests: New file.
70108         * tests/test-sleep.c: New file.
70109
70110         * modules/sleep: New file.
70111         * lib/sleep.c: New file.
70112         * m4/sleep.m4: New file.
70113         * lib/unistd_.h (sleep): New declaration.
70114         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
70115         HAVE_SLEEP.
70116         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
70117         * doc/functions/sleep.texi: Document the sleep module.
70118
70119 2007-05-01  Bruno Haible  <bruno@clisp.org>
70120
70121         * lib/sigprocmask.h: Remove file.
70122         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
70123         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
70124         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
70125         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
70126         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
70127         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
70128         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
70129         HAVE_SIGSET_T as a shell variable.
70130         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
70131         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
70132         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
70133         (Depends-on): Add signal. Remove verify.
70134         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
70135         (Include): Mention <signal.h> instead of sigprocmask.h.
70136         * NEWS: Mention the change.
70137         * lib/fatal-signal.c: Don't include sigprocmask.h.
70138
70139 2007-05-01  Bruno Haible  <bruno@clisp.org>
70140
70141         * modules/signal: New file.
70142         * lib/signal_.h: New file.
70143         * m4/signal_h.m4: New file.
70144
70145 2007-05-01  Bruno Haible  <bruno@clisp.org>
70146
70147         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
70148         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
70149         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
70150         HAVE_WCTYPE_CTMP_BUG into wctype.h.
70151
70152 2007-05-01  Bruno Haible  <bruno@clisp.org>
70153
70154         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
70155         configure time.
70156         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
70157         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
70158         * modules/sys_stat (Makefile.am): Substitute their values into
70159         sys/stat.h.
70160
70161 2007-05-01  Bruno Haible  <bruno@clisp.org>
70162
70163         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
70164         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
70165         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
70166
70167 2007-05-01  Bruno Haible  <bruno@clisp.org>
70168
70169         * doc/header/assert.texi: Undo last change: don't mention the gnulib
70170         'assert' module here.
70171
70172 2007-05-01  Bruno Haible  <bruno@clisp.org>
70173
70174         * doc/functions/*.texi: New files.
70175         * doc/functions/google-ranking.txt: New file.
70176         * doc/gnulib.texi (Function Substitutes): New chapter.
70177         (ctime, inet_ntoa): Remove sections.
70178         * doc/ctime.texi: Remove file.
70179         * doc/inet_ntoa.texi: Remove file.
70180         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
70181         dependencies.
70182         (%.info): New rule, specifying a --reference-limit.
70183
70184 2007-05-01  Bruno Haible  <bruno@clisp.org>
70185
70186         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
70187
70188 2007-05-01  Bruno Haible  <bruno@clisp.org>
70189
70190         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
70191         the portability of 'mkdir' to mingw systems.
70192
70193 2007-05-01  Bruno Haible  <bruno@clisp.org>
70194
70195         * doc/headers/google-ranking.txt: New file.
70196
70197 2007-04-30  Eric Blake  <ebb9@byu.net>
70198
70199         Prefer fseeko to fseek.
70200         * modules/getpass (Depends-on): Add fseeko.
70201         * lib/getpass.c (getpass): Use fseeko, not fseek.
70202
70203 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
70204
70205         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
70206         assumes the sorting is stable, while most qsort implementations
70207         are not.  Use argument addresses to ensure they never compare as
70208         equal.
70209
70210         * tests/test-argp-2.sh (usage-indent test): Fix output
70211         (func_compare): Restore diff options
70212         * tests/test-argp.c: Restore #include "progname.h"
70213
70214 2007-04-29  Bruno Haible  <bruno@clisp.org>
70215
70216         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
70217         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70218         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
70219         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
70220         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
70221         (configure.ac): Define CHECK_SNPRINTF_POSIX.
70222         (TESTS, check_PROGRAMS): Add test-snprintf.
70223         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
70224         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
70225         (TESTS, check_PROGRAMS): Add test-vsnprintf.
70226         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
70227         assertions that fail on HP-UX, OSF/1, or IRIX.
70228         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
70229
70230 2007-04-29  Bruno Haible  <bruno@clisp.org>
70231
70232         * MODULES.html.sh (posix_functions): Remove 'contents'.
70233
70234 2007-04-29  Karl Berry  <karl@gnu.org>
70235
70236         * config/srclist.txt (gendocs_template_min): new entry.
70237
70238 2007-04-29  Bruno Haible  <bruno@clisp.org>
70239
70240         Work around fpurge bug on BSD systems.
70241         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
70242         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
70243         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
70244         fpurge to rpl_fpurge if the system already has this function.
70245         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
70246         the case where the system already has this function. Correct invariants
70247         on BSD systems.
70248         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
70249         BSD systems.
70250
70251 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
70252
70253         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
70254         proposed by Sven Verdoolaege.
70255
70256         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
70257         options.
70258         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
70259         (usage and help tests): Update
70260
70261 2007-04-29  Bruno Haible  <bruno@clisp.org>
70262
70263         * tests/test-fflush.c (main): Use a file of size 17, not 10.
70264         Print more information in case of failure. Disable a test on BeOS.
70265
70266 2007-04-29  Bruno Haible  <bruno@clisp.org>
70267
70268         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
70269         This helps debugging on systems on which no gdb is available.
70270
70271 2007-04-29  Bruno Haible  <bruno@clisp.org>
70272
70273         * lib/freading.h: Improve comments.
70274         * lib/fwriting.h: Likewise.
70275         * tests/test-freading.c (main): Don't check freading immediately after
70276         repositioning. Needed for glibc.
70277
70278 2007-04-29  Bruno Haible  <bruno@clisp.org>
70279
70280         * lib/freading.c (freading): Trivial simplification.
70281
70282 2007-04-28  Bruno Haible  <bruno@clisp.org>
70283
70284         * tests/test-fwriting.c (main): Also test the interaction between
70285         fflush and fwriting.
70286         * modules/fwriting-tests (Depends-on): Add fflush.
70287
70288         * tests/test-freading.c (main): Also test the interaction between
70289         fflush and freading.
70290         * modules/freading-tests (Depends-on): Add fflush.
70291
70292 2007-04-28  Bruno Haible  <bruno@clisp.org>
70293
70294         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
70295         fseeko and ftello.
70296         Suggested by Eric Blake.
70297
70298 2007-04-28  Jim Meyering  <jim@meyering.net>
70299
70300         Avoid false-negative in gl_STDINT_H's C99 conformance test.
70301         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
70302         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
70303
70304 2007-04-27  Eric Blake  <ebb9@byu.net>
70305
70306         * doc/headers/assert.texi (assert.h): Document assert module use.
70307
70308 2007-04-27  Bruno Haible  <bruno@clisp.org>
70309
70310         * doc/headers/*.texi: New files.
70311         * doc/gnulib.texi (Header File Substitutes): New chapter.
70312         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
70313         dependencies.
70314         (standards.info ,standards.html, standards.dvi): Update dependencies.
70315         (mostlyclean, clean): New targets.
70316
70317 2007-04-27  Bruno Haible  <bruno@clisp.org>
70318
70319         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
70320         * modules/sysexits (Files, Makefile.am): Update.
70321
70322         * lib/sys_socket_.h: Renamed from lib/socket_.h.
70323         * modules/sys_socket (Files, Makefile.am): Update.
70324
70325         * lib/sys_stat_.h: Renamed from lib/stat_.h.
70326         * modules/sys_stat (Files, Makefile.am): Update.
70327
70328 2007-04-27  Eric Blake  <ebb9@byu.net>
70329
70330         * lib/freading.h: Improve comments.
70331         * lib/fwriting.h: Likewise.
70332         * lib/fflush.c: Likewise.
70333
70334         Fix closein for mingw.
70335         * modules/closein-tests: Add tests for closein.
70336         * tests/test-closein.c: New file.
70337         * tests/test-closein.sh: Likewise.
70338         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
70339         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
70340
70341 2007-04-27  Bruno Haible  <bruno@clisp.org>
70342
70343         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
70344         version is < 6.
70345         * lib/math_.h [__DECC]: Likewise.
70346         * lib/stdio_.h [__DECC]: Likewise.
70347         * lib/stdlib_.h [__DECC]: Likewise.
70348         * lib/string_.h [__DECC]: Likewise.
70349         * lib/time_.h [__DECC]: Likewise.
70350         * lib/wchar_.h [__DECC]: Likewise.
70351         * lib/wctype_.h [__DECC]: Likewise.
70352
70353 2007-04-27  Bruno Haible  <bruno@clisp.org>
70354
70355         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
70356
70357 2007-04-27  Bruno Haible  <bruno@clisp.org>
70358
70359         * lib/fflush.c: Add comments.
70360         * modules/fpurge-tests (Depends-on): Add fflush.
70361         * modules/freadable-tests (Depends-on): Likewise.
70362         * modules/fwritable-tests (Depends-on): Likewise.
70363
70364 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
70365
70366         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
70367         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
70368         Report by Bruno Haible <bruno@clisp.org>.
70369
70370 2007-04-26  Eric Blake  <ebb9@byu.net>
70371
70372         Fix fflush on mingw.
70373         * modules/fflush (Depends-on): Add freading.
70374         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
70375         but unread data.
70376
70377 2007-04-26  Eric Blake  <ebb9@byu.net>
70378         and Bruno Haible  <bruno@clisp.org>
70379
70380         Implement freading and fwriting.
70381         * lib/freading.c: New file.
70382         * lib/freading.h: Likewise.
70383         * m4/freading.m4: Likewise.
70384         * modules/freading: Likewise.
70385         * modules/freading-tests: Likewise.
70386         * tests/test-freading.c: Likewise.
70387         * lib/fwriting.c: New file.
70388         * lib/fwriting.h: Likewise.
70389         * m4/fwriting.m4: Likewise.
70390         * modules/fwriting: Likewise.
70391         * modules/fwriting-tests: Likewise.
70392         * tests/test-fwriting.c: Likewise.
70393         * MODULES.html.sh (File stream based Input/Output): Mention them.
70394
70395 2007-04-26  Bruno Haible  <bruno@clisp.org>
70396
70397         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
70398         'long' when we assume it.
70399         Suggested by Eric Blake.
70400
70401 2007-04-26  Bruno Haible  <bruno@clisp.org>
70402
70403         Ensure fseeko, ftello are declared on glibc systems.
70404         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
70405         * modules/fseeko (configure.ac-early): Likewise.
70406         * modules/ftello (configure.ac-early): Likewise.
70407         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
70408         AC_FUNC_FSEEKO for this.
70409         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
70410         (gl_CHECK_FSEEKO): Remove macro.
70411
70412 2007-04-26  Bruno Haible  <bruno@clisp.org>
70413
70414         * tests/test-fflush.c (main): Also check the ftell result after
70415         fflush and fseek/fseeko.
70416         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
70417         file descriptor position cache in the stream.
70418         * lib/fseeko.c (rpl_fseeko): Likewise.
70419
70420 2007-04-26  Bruno Haible  <bruno@clisp.org>
70421
70422         * modules/fflush-tests (Depends-on): Add fseeko.
70423
70424 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
70425             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70426
70427         * lib/argz_.h: ensure error_t definition is obtained in same
70428         mechanism system argz.h would have.
70429         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
70430         argz facilities are known bad.  Err on the side of caution if
70431         cross-compiling.
70432
70433 2007-04-25  Eric Blake  <ebb9@byu.net>
70434
70435         * lib/fpurge.c (includes): Use stdlib.h for free.
70436         * tests/test-fflush.c (main): Also test fflush-fseeko.
70437
70438 2007-04-25  Bruno Haible  <bruno@clisp.org>
70439
70440         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
70441         * lib/fseeko.c: New file.
70442         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
70443         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
70444         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
70445         gl_FUNC_FSEEKO.
70446         (gl_FUNC_FSEEKO): Invoke it.
70447         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
70448         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
70449         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
70450
70451 2007-04-25  Bruno Haible  <bruno@clisp.org>
70452
70453         * modules/fflush (Depends-on): Add ftello.
70454
70455 2007-04-25  Bruno Haible  <bruno@clisp.org>
70456
70457         * modules/ftello-tests: New file.
70458         * tests/test-ftello.c: New file.
70459
70460         * modules/ftello: New file.
70461         * m4/ftello.m4: New file.
70462         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
70463         HAVE_FTELLO.
70464         * lib/stdio_.h (ftello): New declaration.
70465         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
70466         HAVE_FTELLO.
70467
70468 2007-04-25  Bruno Haible  <bruno@clisp.org>
70469
70470         * modules/fseeko-tests: New file.
70471         * tests/test-fseeko.c: New file.
70472
70473         * modules/fseeko: New file.
70474         * m4/fseeko.m4: New file.
70475         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
70476         HAVE_FSEEKO.
70477         * lib/stdio_.h (fseeko): New declaration.
70478         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
70479         HAVE_FSEEKO.
70480
70481 2007-04-25  Bruno Haible  <bruno@clisp.org>
70482
70483         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
70484
70485 2007-04-25  Bruno Haible  <bruno@clisp.org>
70486
70487         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
70488         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
70489         * tests/test-unistd.c: Likewise.
70490         * tests/test-fcntl.c: Likewise.
70491
70492 2007-04-23  Eric Blake  <ebb9@byu.net>
70493
70494         * lib/fflush.c: Fix missing include.
70495         Reported by Bruno Haible.
70496
70497 2007-04-23  Bruno Haible  <bruno@clisp.org>
70498
70499         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
70500         Reported by Eric Blake.
70501
70502 2007-04-23  Bruno Haible  <bruno@clisp.org>
70503
70504         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
70505
70506 2007-04-23  Bruno Haible  <bruno@clisp.org>
70507
70508         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
70509
70510 2007-04-23  Bruno Haible  <bruno@clisp.org>
70511
70512         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
70513         Needed on HP-UX 11.
70514
70515 2007-04-16  Eric Blake  <ebb9@byu.net>
70516
70517         Make fflush rely on fpurge.
70518         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
70519         open coding all variants.
70520         * modules/fflush (Depends-on): Add fpurge and unistd.
70521         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
70522         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
70523
70524         Fix --with-tests compilation on cygwin.
70525         * modules/argmatch-tests (Makefile.am): List gnulib library first
70526         in LDADD.
70527         * modules/argp-tests (Makefile.am): Likewise.
70528         * modules/array-list-tests (Makefile.am): Likewise.
70529         * modules/array-oset-tests (Makefile.am): Likewise.
70530         * modules/avltree-list-tests (Makefile.am): Likewise.
70531         * modules/avltree-oset-tests (Makefile.am): Likewise.
70532         * modules/avltreehash-list-tests (Makefile.am): Likewise.
70533         * modules/carray-list-tests (Makefile.am): Likewise.
70534         * modules/dirname-tests (Makefile.am): Likewise.
70535         * modules/frexp-tests (Makefile.am): Likewise.
70536         * modules/isnanl-tests (Makefile.am): Likewise.
70537         * modules/linked-list-tests (Makefile.am): Likewise.
70538         * modules/linkedhash-list-tests (Makefile.am): Likewise.
70539         * modules/lock-tests (Makefile.am): Likewise.
70540         * modules/rbtree-list-tests (Makefile.am): Likewise.
70541         * modules/rbtree-oset-tests (Makefile.am): Likewise.
70542         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
70543         * modules/tls-tests (Makefile.am): Likewise.
70544         * modules/tsearch-tests (Makefile.am): Likewise.
70545         * modules/xvasprintf-tests (Makefile.am): Likewise.
70546
70547         Fix fpurge for cygwin.
70548         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
70549         value.
70550         * modules/fpurge-tests (Depends-on): Clean up trash.
70551
70552 2007-04-16  Simon Josefsson  <simon@josefsson.org>
70553
70554         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
70555
70556         * m4/autobuild.m4: Re-indent.
70557
70558 2007-04-13  Bruno Haible  <bruno@clisp.org>
70559
70560         * modules/fpurge-tests: New file.
70561         * tests/test-fpurge.c: New file.
70562
70563         * modules/fpurge: New file.
70564         * lib/fpurge.h: New file.
70565         * lib/fpurge.c: New file.
70566         * m4/fpurge.m4: New file.
70567
70568 2007-04-13  Bruno Haible  <bruno@clisp.org>
70569
70570         * modules/fbufmode-tests: New file.
70571         * tests/test-fbufmode.c: New file.
70572
70573         * modules/fbufmode: New file.
70574         * lib/fbufmode.h: New file.
70575         * lib/fbufmode.c: New file.
70576         * m4/fbufmode.m4: New file.
70577
70578 2007-04-13  Bruno Haible  <bruno@clisp.org>
70579
70580         * modules/fwritable-tests: New file.
70581         * tests/test-fwritable.c: New file.
70582
70583         * modules/fwritable: New file.
70584         * lib/fwritable.h: New file.
70585         * lib/fwritable.c: New file.
70586         * m4/fwritable.m4: New file.
70587
70588 2007-04-13  Bruno Haible  <bruno@clisp.org>
70589
70590         * modules/freadable-tests: New file.
70591         * tests/test-freadable.c: New file.
70592
70593         * modules/freadable: New file.
70594         * lib/freadable.h: New file.
70595         * lib/freadable.c: New file.
70596         * m4/freadable.m4: New file.
70597
70598 2007-04-13  Bruno Haible  <bruno@clisp.org>
70599
70600         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
70601         MOSTLYCLEANFILES.
70602
70603 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
70604
70605         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
70606         gzip bootstrap.conf to avoid dragging in i18n machinery.
70607         (gnulib_tool_option): Use it.
70608
70609 2007-04-13  Bruno Haible  <bruno@clisp.org>
70610
70611         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
70612         %F directives.
70613         * tests/test-vasprintf-posix.c (test_function): Likewise.
70614         * tests/test-snprintf-posix.h (test_function): Likewise.
70615         * tests/test-sprintf-posix.h (test_function): Likewise.
70616         * tests/test-fprintf-posix.h (test_function): Likewise.
70617         * tests/test-printf-posix.h (test_function): Likewise.
70618         * tests/test-fprintf-posix.out: Likewise.
70619
70620 2007-04-13  Bruno Haible  <bruno@clisp.org>
70621
70622         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
70623         * modules/tls-tests (configure.ac): Likewise.
70624         Reported by Arto C. Nirkko <anirkko@insel.ch>.
70625
70626 2007-04-13  Bruno Haible  <bruno@clisp.org>
70627
70628         * lib/tls.c (glthread_tls_get): Fix return type.
70629         Patch by Arto C. Nirkko <anirkko@insel.ch>.
70630
70631 2007-04-12  Eric Blake  <ebb9@byu.net>
70632
70633         * modules/gettime (Depends-on): Remove gettime.
70634         Reported by Dmitry V. Levin.
70635
70636 2007-04-12  Bruno Haible  <bruno@clisp.org>
70637
70638         * modules/fflush (Include): Mention <stdio.h>.
70639         * modules/strtoimax (Include): Mention <inttypes.h>.
70640         * modules/strtoumax (Include): Likewise.
70641
70642 2007-04-12  Eric Blake  <ebb9@byu.net>
70643
70644         * .cvsignore: New file.
70645         * .gitignore: Likewise.
70646
70647 2007-04-12  Bruno Haible  <bruno@clisp.org>
70648
70649         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
70650         not before, since $(LDADD) often contains libgnu.a.
70651         * modules/striconv-tests (test_striconv_LDADD): Likewise.
70652         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
70653         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
70654         Needed on Cygwin.
70655
70656 2007-04-12  Eric Blake  <ebb9@byu.net>
70657
70658         Work around glibc's failure to flush stdin on fclose.
70659         * lib/closein.c (close_stdin): Flush stdin before closing.
70660
70661         Work around glibc's failure to reset seekable stdin on exit.
70662         * modules/closein: New module.
70663         * lib/closein.c: New file.
70664         * lib/closein.h: Likewise.
70665         * m4/closein.m4: Likewise.
70666         * MODULES.html.sh (File stream based Input/Output): Document it.
70667
70668 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70669
70670         * gnulib-tool: Rename generated 'autobuild' script to
70671         'do-autobuild' in --create-megatestdir output.
70672
70673         * doc/gnulib.texi (Build robot for gnulib): Fix.
70674
70675 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70676
70677         * modules/sysexits (Depends-on): Add absolute-header.
70678
70679 2007-04-12  Eric Blake  <ebb9@byu.net>
70680
70681         No need to preserve errno on success.
70682         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
70683         Reported by Bruno Haible.
70684
70685 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70686
70687         * MODULES.html.sh (Support for maintaining and releasing
70688         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
70689
70690 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70691
70692         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
70693
70694 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70695
70696         * modules/autobuild: New module.
70697
70698         * m4/autobuild.m4: New file.
70699
70700 2007-04-11  Bruno Haible  <bruno@clisp.org>
70701
70702         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
70703         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
70704         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
70705         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
70706         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
70707         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70708         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70709         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70710         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70711         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70712         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
70713         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70714         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70715         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
70716         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70717         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70718         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
70719         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70720         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70721         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
70722         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70723         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70724         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
70725         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70726         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70727         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
70728         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70729         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70730         Reported by Eric Blake.
70731
70732 2007-04-11  Bruno Haible  <bruno@clisp.org>
70733
70734         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
70735
70736 2007-04-10  Bruno Haible  <bruno@clisp.org>
70737
70738         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
70739         for NaN and Infinity. Needed on FreeBSD 6.1.
70740         * tests/test-vasnprintf-posix.c (test_function): Undo last change
70741         regarding results for "%010a" of Infinity and NaN.
70742         * tests/test-vasprintf-posix.c (test_function): Likewise.
70743         * tests/test-snprintf-posix.h (test_function): Likewise.
70744         * tests/test-sprintf-posix.h (test_function): Likewise.
70745         * tests/test-fprintf-posix.h (test_function): Likewise.
70746         * tests/test-printf-posix.h (test_function): Likewise.
70747         * tests/test-fprintf-posix.out: Likewise.
70748
70749 2007-04-10  Bruno Haible  <bruno@clisp.org>
70750
70751         * modules/locale-tests: New file.
70752         * tests/test-locale.c: New file.
70753
70754         * modules/locale: New file.
70755         * lib/locale_.h: New file.
70756         * m4/locale_h.m4: New file.
70757
70758 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
70759             Bruno Haible  <bruno@clisp.org>
70760
70761         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
70762         be determined, test for availability of the copysignf, copysign,
70763         copysignl functions.
70764         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
70765         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
70766         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
70767
70768 2007-04-09  Eric Blake  <ebb9@byu.net>
70769
70770         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
70771         * modules/stdio (Makefile.am): Support fflush.
70772         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
70773         * modules/fflush: New file.
70774         * lib/fflush.c: Likewise.
70775         * m4/fflush.m4: Likewise.
70776         * modules/fflush-tests: New test.
70777         * tests/test-fflush.c: Likewise.
70778         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
70779
70780 2007-04-06  Bruno Haible  <bruno@clisp.org>
70781
70782         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
70783         (VASNPRINTF): Use signbit for faster determination whether to print a
70784         minus sign.
70785         * modules/vasnprintf (Files): Remove lib/float+.h.
70786         * modules/fprintf-posix (Depends-on): Add signbit.
70787         * modules/snprintf-posix (Depends-on): Likewise.
70788         * modules/sprintf-posix (Depends-on): Likewise.
70789         * modules/vasnprintf-posix (Depends-on): Likewise.
70790         * modules/vasprintf-posix (Depends-on): Likewise.
70791         * modules/vfprintf-posix (Depends-on): Likewise.
70792         * modules/vsnprintf-posix (Depends-on): Likewise.
70793         * modules/vsprintf-posix (Depends-on): Likewise.
70794
70795 2007-04-06  Bruno Haible  <bruno@clisp.org>
70796
70797         * tests/test-frexp.c (main): Test also the sign bit of zero results.
70798         * tests/test-frexpl.c (main): Likewise.
70799         * tests/test-ldexpl.c (main): Likewise.
70800         * modules/frexp-tests (Depends-on): Add signbit.
70801         * modules/frexpl-tests (Depdends-on): Likewise.
70802         * modules/ldexpl-tests (Depdends-on): Likewise.
70803
70804 2007-04-06  Bruno Haible  <bruno@clisp.org>
70805
70806         * modules/signbit-tests: New file.
70807         * tests/test-signbit.c: New file.
70808
70809         * modules/signbit: New file.
70810         * lib/signbitf.c: New file.
70811         * lib/signbitd.c: New file.
70812         * lib/signbitl.c: New file.
70813         * m4/signbit.m4: New file.
70814         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
70815         (signbit): New macro.
70816         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
70817         REPLACE_SIGNBIT.
70818         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
70819         REPLACE_FREXPL into math.h.
70820
70821 2007-04-06  Bruno Haible  <bruno@clisp.org>
70822
70823         * modules/isnanf-nolibm-tests: New file.
70824         * tests/test-isnanf.c: New file.
70825
70826         * modules/isnanf-nolibm: New file.
70827         * lib/isnanf.h: New file.
70828         * lib/isnanf.c: New file.
70829         * lib/isnan.c: Consider the USE_FLOAT macro.
70830         * m4/isnanf.m4: New file.
70831
70832 2007-04-06  Bruno Haible  <bruno@clisp.org>
70833
70834         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
70835         (Link): New section.
70836
70837         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
70838
70839 2007-04-06  Bruno Haible  <bruno@clisp.org>
70840
70841         Assume the 'long double' type.
70842         * m4/longdouble.m4: Remove file.
70843         * config/srclist.txt: Don't mention longdouble.m4.
70844         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
70845         * lib/float+.h: Likewise.
70846         * lib/frexp.c: Likewise.
70847         * lib/printf-args.h: Likewise.
70848         * lib/printf-args.c: Likewise.
70849         * lib/printf-frexp.c: Likewise.
70850         * lib/printf-parse.c: Likewise.
70851         * lib/vasnprintf.c: Likewise.
70852         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
70853         * m4/intl.m4: Likewise.
70854         * m4/isnanl.m4: Likewise.
70855         * m4/printf.m4: Likewise.
70856         * m4/printf-frexpl.m4: Likewise.
70857         * m4/vasnprintf.m4: Likewise.
70858         * modules/allocsa (Files): Remove m4/longdouble.m4.
70859         * modules/gettext (Files): Likewise.
70860         * modules/relocatable-prog-wrapper (Files): Likewise.
70861         * modules/vasnprintf (Files): Likewise.
70862         * modules/isnanl (Files): Likewise.
70863         (Include): Simplify.
70864         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
70865         (Include): Simplify.
70866         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
70867         (Include): Simplify.
70868         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
70869         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70870         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
70871         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70872         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70873         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70874         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
70875         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70876         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70877         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70878         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
70879         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70880         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
70881         * tests/test-isnanl.c: Likewise.
70882         * tests/test-snprintf-posix.h: Likewise.
70883         * tests/test-sprintf-posix.h: Likewise.
70884         * tests/test-vasnprintf-posix.c: Likewise.
70885         * tests/test-vasnprintf-posix2.c: Likewise.
70886         * tests/test-vasprintf-posix.c: Likewise.
70887
70888 2007-04-06  Bruno Haible  <bruno@clisp.org>
70889
70890         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
70891         * lib/math_.h [__DECC]: Include the overridden include file through
70892         #include_next, outside the double-inclusion guard.
70893         * lib/stdio_.h [__DECC]: Likewise.
70894         * lib/stdlib_.h [__DECC]: Likewise.
70895         * lib/string_.h [__DECC]: Likewise.
70896         * lib/time_.h [__DECC]: Likewise.
70897         * lib/wchar_.h [__DECC]: Likewise.
70898         * lib/wctype_.h [__DECC]: Likewise.
70899         * lib/inttypes_.h [__DECC]: Likewise.
70900         Reported by Albert Chin <china@thewrittenword.com> in
70901         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
70902
70903 2007-04-04  Eric Blake  <ebb9@byu.net>
70904
70905         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
70906         1.5.x.
70907
70908 2007-04-04  Bruno Haible  <bruno@clisp.org>
70909
70910         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
70911         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
70912
70913 2007-04-04  Bruno Haible  <bruno@clisp.org>
70914
70915         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
70916         results for "%010a" of Infinity and NaN.
70917         * tests/test-vasprintf-posix.c (test_function): Likewise.
70918         * tests/test-snprintf-posix.h (test_function): Likewise.
70919         * tests/test-sprintf-posix.h (test_function): Likewise.
70920         * tests/test-fprintf-posix.h (test_function): Remove these tests.
70921         * tests/test-printf-posix.h (test_function): Likewise.
70922         * tests/test-fprintf-posix.out: Update.
70923         Needed for FreeBSD 6.1.
70924
70925 2007-04-04  Bruno Haible  <bruno@clisp.org>
70926
70927         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
70928         directly used by the gnulib modules nor by gnulib-tool.
70929
70930 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
70931
70932         * DEPENDENCIES: Give overall description of version dependency
70933         desirability.  Use more-typical names for apps.
70934         Add shell, coreutils, diffutils, grep, tar, gzip.
70935
70936 2007-04-04  Simon Josefsson  <simon@josefsson.org>
70937
70938         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
70939
70940 2007-04-04  Karl Berry  <karl@gnu.org>
70941
70942         * MODULES.html.sh (func_module): missing '.
70943
70944 2007-04-03  Bruno Haible  <bruno@clisp.org>
70945
70946         * modules/argmatch-tests (Makefile.am): New variable
70947         test_argmatch_LDADD.
70948         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
70949         * modules/array-list-tests (Makefile.am): New variable
70950         test_array_list_LDADD.
70951         * modules/array-oset-tests (Makefile.am): New variable
70952         test_array_oset_LDADD.
70953         * modules/avltree-list-tests (Makefile.am): New variable
70954         test_avltree_list_LDADD.
70955         * modules/avltree-oset-tests (Makefile.am): New variable
70956         test_avltree_oset_LDADD.
70957         * modules/avltreehash-list-tests (Makefile.am): New variable
70958         test_avltreehash_list_LDADD.
70959         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
70960         test_canonicalize_lgpl_LDADD.
70961         * modules/carray-list-tests (Makefile.am): New variable
70962         test_carray_list_LDADD.
70963         * modules/dirname-tests (Makefile.am): New variable
70964         test_dirname_LDADD.
70965         * modules/linked-list-tests (Makefile.am): New variable
70966         test_linked_list_LDADD.
70967         * modules/linkedhash-list-tests (Makefile.am): New variable
70968         test_linkedhash_list_LDADD.
70969         * modules/rbtree-list-tests (Makefile.am): New variable
70970         test_rbtree_list_LDADD.
70971         * modules/rbtree-oset-tests (Makefile.am): New variable
70972         test_rbtree_oset_LDADD.
70973         * modules/rbtreehash-list-tests (Makefile.am): New variable
70974         test_rbtreehash_list_LDADD.
70975         * modules/xvasprintf-tests (Makefile.am): New variable
70976         test_xvasprintf_LDADD.
70977         Reported by Eric Blake.
70978
70979 2007-04-03  Eric Blake  <ebb9@byu.net>
70980
70981         * DEPENDENCIES: Weaken m4 requirements.
70982
70983 2007-04-03  Bruno Haible  <bruno@clisp.org>
70984
70985         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
70986         * modules/isnanl-tests (configure.ac): Likewise.
70987
70988 2007-04-03  Ben Pfaff  <blp@gnu.org>
70989
70990         * modules/iconv_open: Add $(srcdir)/ to source directory
70991         references in Makefile fragments that call gperf, to fix VPATH
70992         builds.
70993
70994 2007-04-03  Bruno Haible  <bruno@clisp.org>
70995
70996         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
70997         * lib/ldexpl.c: Undo last change.
70998
70999 2007-04-03  Bruno Haible  <bruno@clisp.org>
71000
71001         * modules/printf-frexpl (Depends-on): Undo last change.
71002         (Files): Add m4/ldexpl.m4.
71003
71004 2007-04-03  Bruno Haible  <bruno@clisp.org>
71005
71006         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
71007         * modules/isnanl (Link): New section.
71008
71009         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
71010         * modules/frexp (Link): New section.
71011
71012         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
71013         * modules/frexpl (Link): New section.
71014
71015         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
71016         * modules/ldexpl (Link): New section.
71017
71018 2007-04-03  Bruno Haible  <bruno@clisp.org>
71019
71020         * modules/TEMPLATE-EXTENDED: New file.
71021         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
71022
71023 2007-04-03  Bruno Haible  <bruno@clisp.org>
71024
71025         * DEPENDENCIES: New file.
71026         Suggested by Simon Josefsson.
71027
71028 2007-04-03  Bruno Haible  <bruno@clisp.org>
71029
71030         * doc/gnulib.texi: Escape @.
71031
71032 2007-04-03  James Youngman  <jay@gnu.org>
71033         and Paul Eggert  <eggert@cs.ucla.edu>
71034
71035         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
71036         birthtime on all systems that have birthtime, not just those which
71037         use st_birthtimensec rather than st_birthtim.  Putting zero in
71038         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
71039         that the birth time is not available for files on an NFS mount.
71040
71041 2007-04-03  Simon Josefsson  <simon@josefsson.org>
71042
71043         * modules/memxor: Move back from crypto/, suggested by Bruno.
71044         * modules/crypto/hmac-sha1: Fix memxor dependency.
71045
71046         * modules/crypto/gc: Moved from ../.
71047
71048 2007-04-02  Eric Blake  <ebb9@byu.net>
71049
71050         * lib/ldexpl.c (includes): Avoid libm.
71051
71052         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
71053
71054 2007-04-02  Bruno Haible  <bruno@clisp.org>
71055
71056         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
71057         on IRIX.
71058
71059 2007-04-02  Bruno Haible  <bruno@clisp.org>
71060
71061         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
71062         x86 or x86_64 platforms running MacOS X.
71063         Reported by Ryan Schmidt <@ryandesign.com>.
71064
71065 2007-04-02  Bruno Haible  <bruno@clisp.org>
71066
71067         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
71068         i386.
71069
71070 2007-04-01  Simon Josefsson  <simon@josefsson.org>
71071
71072         * modules/crypto/arcfour: Moved from ../.
71073         * modules/crypto/arcfour-tests: Moved from ../.
71074         * modules/crypto/arctwo: Moved from ../.
71075         * modules/crypto/arctwo-tests: Moved from ../.
71076         * modules/crypto/des: Moved from ../.
71077         * modules/crypto/des-tests: Moved from ../.
71078         * modules/crypto/gc-arcfour: Moved from ../.
71079         * modules/crypto/gc-arcfour-tests: Moved from ../.
71080         * modules/crypto/gc-arctwo: Moved from ../.
71081         * modules/crypto/gc-arctwo-tests: Moved from ../.
71082         * modules/crypto/gc-des: Moved from ../.
71083         * modules/crypto/gc-des-tests: Moved from ../.
71084         * modules/crypto/gc-hmac-md5: Moved from ../.
71085         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
71086         * modules/crypto/gc-hmac-sha1: Moved from ../.
71087         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
71088         * modules/crypto/gc-md2: Moved from ../.
71089         * modules/crypto/gc-md2-tests: Moved from ../.
71090         * modules/crypto/gc-md4: Moved from ../.
71091         * modules/crypto/gc-md4-tests: Moved from ../.
71092         * modules/crypto/gc-md5: Moved from ../.
71093         * modules/crypto/gc-md5-tests: Moved from ../.
71094         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
71095         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
71096         * modules/crypto/gc-random: Moved from ../.
71097         * modules/crypto/gc-rijndael: Moved from ../.
71098         * modules/crypto/gc-rijndael-tests: Moved from ../.
71099         * modules/crypto/gc-sha1: Moved from ../.
71100         * modules/crypto/gc-sha1-tests: Moved from ../.
71101         * modules/crypto/gc-tests: Moved from ../.
71102         * modules/crypto/hmac-md5: Moved from ../.
71103         * modules/crypto/hmac-md5-tests: Moved from ../.
71104         * modules/crypto/hmac-sha1: Moved from ../.
71105         * modules/crypto/hmac-sha1-tests: Moved from ../.
71106         * modules/crypto/md2: Moved from ../.
71107         * modules/crypto/md2-tests: Moved from ../.
71108         * modules/crypto/md4: Moved from ../.
71109         * modules/crypto/md4-tests: Moved from ../.
71110         * modules/crypto/md5: Moved from ../.
71111         * modules/crypto/md5-tests: Moved from ../.
71112         * modules/crypto/memxor: Moved from ../.
71113         * modules/crypto/rijndael: Moved from ../.
71114         * modules/crypto/rijndael-tests: Moved from ../.
71115         * modules/crypto/sha1: Moved from ../.
71116
71117 2007-03-30  James Youngman  <jay@gnu.org>
71118
71119         * tests/test-stat-time.c (prepare_test): use chmod() rather than
71120         rename() to change the ctime of a file (because ctime is unaffected
71121         by rename on jfs2 on AIX 5.1).
71122         (main): Start by doing cleanup, in case a previous run failed leaving
71123         test files behind.
71124
71125 2007-03-31  Bruno Haible  <bruno@clisp.org>
71126
71127         Support old proprietary implementations of iconv.
71128         * modules/iconv_open: New file.
71129         * lib/iconv_.h: New file.
71130         * m4/iconv_h.m4: New file.
71131         * lib/iconv_open.c: New file.
71132         * lib/iconv_open-aix.gperf: New file.
71133         * lib/iconv_open-hpux.gperf: New file.
71134         * lib/iconv_open-irix.gperf: New file.
71135         * lib/iconv_open-osf.gperf: New file.
71136         * m4/iconv_open.m4: New file.
71137         * modules/linebreak (Depends-on): Add iconv_open.
71138         * modules/striconv (Depends-on): Likewise.
71139         * modules/striconveh (Depends-on): Likewise.
71140         * modules/unicodeio (Depends-on): Likewise.
71141         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
71142         (iconv_t)(-1).
71143         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
71144         conversion if cd is (iconv_t)(-1).
71145         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
71146         is not possible.
71147
71148 2007-03-31  Bruno Haible  <bruno@clisp.org>
71149
71150         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
71151         work on Solaris either. Protect also second use of "autodetect_jp".
71152
71153 2007-03-31  Bruno Haible  <bruno@clisp.org>
71154
71155         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
71156         the function is not present.
71157
71158 2007-03-31  Bruno Haible  <bruno@clisp.org>
71159
71160         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
71161         the function is not present.
71162
71163 2007-03-31  Bruno Haible  <bruno@clisp.org>
71164
71165         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
71166         a bug in HP-UX iconv_open().
71167
71168 2007-03-31  Bruno Haible  <bruno@clisp.org>
71169
71170         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
71171         (Mathematics <math.h>): New section, add fpieee.
71172         (Input/output <stdio.h>): Add fseterr.
71173         (Mathematics <math.h>): New section, add printf-frexp.
71174         (Container data structures): Add sublist.
71175         (Core language properties): Add fpucw, inline.
71176         (Functions for greatest-width integer types <inttypes.h>): Add
71177         imaxabs, imaxdiv, inttypes.
71178         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
71179         isnanl-nolibm, ldexp.
71180         (Mathematics <math.h>): New section, add printf-frexpl.
71181         (Support for systems lacking POSIX:2001): Add fprintf-posix,
71182         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
71183         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
71184         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
71185         (Unicode string functions): Add unistr/u*-mbtoucr.
71186         (Java): Add javacomp-script, javaexec-script.
71187         (C#): Add csharpcomp-script, csharpexec-script.
71188         (Support for building libraries and executables): Add havelib,
71189         relocatable-*.
71190         (Support for maintaining and releasing projects): Renamed from
71191         'Support for maintaining and release projects'. Add announce-gen.
71192
71193 2007-03-31  Bruno Haible  <bruno@clisp.org>
71194
71195         * README: Talk primarily about git.
71196         (git and CVS): Renamed from CVS.
71197         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
71198         gnulib is available through git.
71199         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
71200
71201 2007-03-30  Bruno Haible  <bruno@clisp.org>
71202
71203         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
71204         * lib/poll_.h: Likewise.
71205         * lib/stat_.h: Likewise.
71206         * lib/sys_time_.h: Likewise.
71207         * lib/sysexit_.h: Likewise.
71208         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
71209         * lib/stdbool_.h: Likewise.
71210         * lib/byteswap_.h: Add double-inclusion guard.
71211
71212 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
71213
71214         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
71215
71216 2007-03-30  Karl Berry  <karl@gnu.org>
71217
71218         * config/srclist-update: double space after USA in the license
71219         substitution, since that's how it's usually (?) written.
71220
71221 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
71222
71223         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
71224         reported by Bruno Haible.
71225
71226 2007-03-29  Bruno Haible  <bruno@clisp.org>
71227
71228         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
71229         a bug in AIX iconv().
71230
71231 2007-03-29  Bruno Haible  <bruno@clisp.org>
71232
71233         * modules/ldexpl-tests: New file.
71234         * tests/test-ldexpl.c: New file.
71235
71236 2007-03-29  Bruno Haible  <bruno@clisp.org>
71237
71238         * lib/ldexpl.c: Include fpucw.h.
71239         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
71240         multiplication.
71241         * modules/ldexpl (Depends-on): Add fpucw.
71242
71243 2007-03-29  Bruno Haible  <bruno@clisp.org>
71244
71245         * modules/ldexpl: New file.
71246         * m4/ldexpl.m4: New file.
71247         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
71248         set.
71249         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
71250         REPLACE_LDEXPL.
71251         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
71252         REPLACE_LDEXPL.
71253         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
71254         gl_FUNC_LDEXPL_WORKS.
71255         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
71256         * modules/mathl (Files): Remove lib/ldexpl.c.
71257         (Depends-on): Add ldexpl.
71258
71259 2007-03-29  Bruno Haible  <bruno@clisp.org>
71260
71261         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
71262
71263 2007-03-29  Bruno Haible  <bruno@clisp.org>
71264
71265         * tests/test-striconveh.c (main): Don't assume that a direct conversion
71266         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
71267         and possibly also HP-UX.
71268         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
71269         work on AIX, IRIX, HP-UX, OSF/1.
71270         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
71271         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
71272         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
71273         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
71274         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
71275         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
71276
71277 2007-03-29  Bruno Haible  <bruno@clisp.org>
71278
71279         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
71280
71281 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
71282
71283         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
71284         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
71285
71286 2007-03-29  Eric Blake  <ebb9@byu.net>
71287
71288         * lib/acl-internal.h: Remove redundant include.
71289         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
71290         Cygwin when a file is locked.
71291
71292 2007-03-29  Bruno Haible  <bruno@clisp.org>
71293
71294         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
71295         file.
71296         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
71297
71298 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
71299
71300         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
71301         try to remove a parent directory if the child couldn't be removed
71302         (except for the first rmdir, which could fail because the child
71303         doesn't exist).  Problem reported by Jeff Blaine in
71304         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
71305
71306 2007-03-28  Bruno Haible  <bruno@clisp.org>
71307
71308         * lib/striconveh.c (utf8conv_carefully): New function.
71309         (mem_cd_iconveh_internal): Invoke it.
71310
71311 2007-03-28  Bruno Haible  <bruno@clisp.org>
71312
71313         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
71314         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
71315         input.
71316         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
71317         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
71318         unistr/u8-uctomb.
71319
71320 2007-03-28  Bruno Haible  <bruno@clisp.org>
71321
71322         * modules/unistr/u8-mbtoucr: New file.
71323         * lib/unistr/u8-mbtoucr.c: New file.
71324         * modules/unistr/u16-mbtoucr: New file.
71325         * lib/unistr/u16-mbtoucr.c: New file.
71326         * modules/unistr/u16-mbtoucr: New file.
71327         * lib/unistr/u16-mbtoucr.c: New file.
71328         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
71329
71330 2007-03-27  Simon Josefsson  <simon@josefsson.org>
71331             Bruno Haible  <bruno@clisp.org>
71332
71333         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
71334         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
71335         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
71336
71337         * m4/stdio_h.m4: Add stubs for vasprintf too.
71338
71339         * modules/stdio: Support vasprintf in sed command.
71340
71341         * modules/vasprintf: Depend on stdio for prototypes.  Remove
71342         vasprintf.h.  Add stdio module indicator.
71343
71344         * lib/stdio_.h: Declare asprintf and vasprintf, based on
71345         vasprintf.h.
71346
71347         * lib/vasprintf.h: File removed.
71348
71349         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
71350         * lib/vasprintf.c: Ditto.
71351         * lib/xvasprintf.c: Ditto.
71352         * tests/test-vasprintf-posix.c: Ditto.
71353         * tests/test-vasprintf.c: Ditto.
71354
71355 2007-03-27  Bruno Haible  <bruno@clisp.org>
71356
71357         Make vasnprintf multithread-safe.
71358         * lib/vasnprintf.c (decimal_point_char): New function.
71359         (VASNPRINTF): Use it.
71360         Suggested by Simon Josefsson.
71361
71362 2007-03-27  Eric Blake  <ebb9@byu.net>
71363
71364         Support sub-second birthtime on cygwin.
71365         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
71366         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
71367         (get_stat_birthtime): Also work with st_birthtim.
71368
71369 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
71370
71371         * lib/stat-time.h (USE_BIRTHTIME): Remove.
71372         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
71373         (get_stat_birthtime_ns): Do not try to use "spare" fields.
71374         (get_stat_birthtime_ns): Simplify compile-time tests.
71375         (get_stat_birthtime): Change the API to look like
71376         get_stat_mtime etc., except return a negative tv_nsec on error.
71377         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
71378         Don't check for "spare" fields.
71379         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
71380         or for struct stat.st_birthtime, as these tests aren't used.
71381         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
71382
71383 2007-03-27  Bruno Haible  <bruno@clisp.org>
71384
71385         * lib/stat-time.h: Include <sys/stat.h>.
71386
71387 2007-03-27  James Youngman  <jay@gnu.org>
71388
71389         * lib/stat-time.h (get_stat_birthtime): New function for
71390           retrieving st_birthtime as provided by UFS2 (hence *BSD).
71391         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
71392           and its variants.
71393         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
71394         * modules/stat-time-test: New file.
71395         * tests/test-stat-time.c: New test, devised by Bruno Haible.
71396
71397 2007-03-26  Bruno Haible  <bruno@clisp.org>
71398
71399         Better support of signalling NaNs.
71400         * lib/atanl.c: Include isnanl.h.
71401         (atanl): Perform test for NaN at the beginning of the function and
71402         through a call to isnanl.
71403         * lib/cosl.c: Include isnanl.h.
71404         (cosl): Perform test for NaN at the beginning of the function and
71405         through a call to isnanl.
71406         * lib/ldexpl.c: Include isnanl.h.
71407         (ldexpl): Perform test for NaN through a call to isnanl.
71408         * lib/logl.c: Include isnanl.h.
71409         (logl): Perform test for NaN at the beginning of the function and
71410         through a call to isnanl.
71411         * lib/sinl.c: Include isnanl.h.
71412         (sinl): Perform test for NaN at the beginning of the function and
71413         through a call to isnanl.
71414         * lib/sqrtl.c: Include isnanl.h.
71415         (sqrtl): Perform test for NaN at the beginning of the function and
71416         through a call to isnanl.
71417         * lib/tanl.c: Include isnanl.h.
71418         (tanl): Perform test for NaN at the beginning of the function and
71419         through a call to isnanl.
71420         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
71421         * modules/mathl (Depends-on): Add isnanl.
71422
71423 2007-03-26  Eric Blake  <ebb9@byu.net>
71424
71425         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
71426         regression in logic sense of previous patch.
71427
71428 2007-03-26  Bruno Haible  <bruno@clisp.org>
71429
71430         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
71431         unportable shell command "if ! ...".
71432         Reported by Ralf Wildenhues.
71433
71434 2007-03-25  Bruno Haible  <bruno@clisp.org>
71435
71436         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
71437         <sysexits.h> file, and only add EX_CONFIG.
71438         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
71439         absolute file name and whether it is sufficient. Substitute also
71440         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
71441         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
71442         ABSOLUTE_SYSEXITS_H into sysexits.h.
71443
71444 2007-03-25  Bruno Haible  <bruno@clisp.org>
71445
71446         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
71447         hints is NULL.
71448
71449 2007-03-25  Bruno Haible  <bruno@clisp.org>
71450
71451         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
71452         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
71453
71454 2007-03-25  Bruno Haible  <bruno@clisp.org>
71455
71456         * lib/vasnprintf.c: Include langinfo.h.
71457         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
71458         multithread-safe.
71459         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
71460         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
71461         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
71462         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
71463         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
71464         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
71465         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
71466         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
71467         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
71468         Reported by Simon Josefsson.
71469
71470 2007-03-25  Bruno Haible  <bruno@clisp.org>
71471
71472         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
71473         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
71474         * modules/vasnprintf (Depends-on): Add stdint.
71475
71476 2007-03-25  Bruno Haible  <bruno@clisp.org>
71477
71478         * modules/fpieee: New file.
71479         * m4/fpieee.m4: New file.
71480         * modules/isnan-nolibm (Depends-on): Add fpieee.
71481         * modules/isnanl-nolibm (Depends-on): Add fpieee.
71482         * modules/isnanl (Depends-on): Add fpieee.
71483
71484 2007-03-25  Bruno Haible  <bruno@clisp.org>
71485
71486         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
71487
71488 2007-03-25  Bruno Haible  <bruno@clisp.org>
71489
71490         Avoid test failures on IRIX 6.5.
71491         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
71492         (main): Use it.
71493         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
71494         macros.
71495         (main): Use them.
71496
71497 2007-03-25  Bruno Haible  <bruno@clisp.org>
71498
71499         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
71500         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
71501         exists but doesn't work.
71502         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
71503         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
71504         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
71505         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
71506         math.h.
71507
71508 2007-03-25  Bruno Haible  <bruno@clisp.org>
71509
71510         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
71511         returns inf. Needed on IRIX 6.5.
71512
71513 2007-03-25  Bruno Haible  <bruno@clisp.org>
71514
71515         * tests/test-frexpl.c: Include isnanl-nolibm.h.
71516         (main): Use isnanl instead of x != x idiom.
71517         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
71518
71519         * tests/test-frexp.c: Include isnan.h.
71520         (main): Use isnan instead of x != x idiom.
71521         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
71522
71523 2007-03-25  Bruno Haible  <bruno@clisp.org>
71524
71525         * tests/test-frexp.c (NaN): New function/macro.
71526         (main): Use it instead of 0.0 / 0.0.
71527         * tests/test-isnan.c (NaN): New function/macro.
71528         (main): Use it instead of 0.0 / 0.0.
71529         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
71530         (test_function): Use it instead of 0.0 / 0.0.
71531         * tests/test-vasprintf-posix.c (NaN): New function/macro.
71532         (test_function): Use it instead of 0.0 / 0.0.
71533         * tests/test-snprintf-posix.h (NaN): New function/macro.
71534         (test_function): Use it instead of 0.0 / 0.0.
71535         * tests/test-sprintf-posix.h (NaN): New function/macro.
71536         (test_function): Use it instead of 0.0 / 0.0.
71537         * tests/test-fprintf-posix.h (NaN): New function/macro.
71538         (test_function): Use it instead of 0.0 / 0.0.
71539         * tests/test-printf-posix.h (NaN): New function/macro.
71540         (test_function): Use it instead of 0.0 / 0.0.
71541
71542         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
71543
71544 2007-03-25  Bruno Haible  <bruno@clisp.org>
71545
71546         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
71547
71548 2007-03-25  Bruno Haible  <bruno@clisp.org>
71549
71550         * lib/regexec.c (merge_state_with_log): Make static.
71551
71552 2007-03-25  Bruno Haible  <bruno@clisp.org>
71553
71554         * lib/trigl.c (kernel_rem_pio2): Make static.
71555
71556 2007-03-25  Bruno Haible  <bruno@clisp.org>
71557
71558         * lib/sincosl.c (sincosl_table): Make static.
71559
71560 2007-03-25  Bruno Haible  <bruno@clisp.org>
71561
71562         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
71563         if the compiler does not support C99.
71564
71565 2007-03-25  Bruno Haible  <bruno@clisp.org>
71566
71567         * modules/time (Makefile.am): Ensure all rule action lines start with a
71568         tab.
71569
71570 2007-03-24  Bruno Haible  <bruno@clisp.org>
71571
71572         * modules/tsearch-tests: New file.
71573         * tests/test-tsearch.sh: New file.
71574         * tests/test-tsearch.c: New file, mostly copied from glibc.
71575
71576         * modules/search-tests: New file.
71577         * tests/test-search.c: New file.
71578
71579         * modules/search: New file.
71580         * lib/search_.h: New file, incorporating lib/tsearch.h.
71581         * m4/search_h.m4: New file.
71582         * lib/tsearch.h: Remove file.
71583         * lib/tsearch.c: Include search.h instead of tsearch.h.
71584         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
71585         HAVE_TSEARCH.
71586         * modules/tsearch (Files): Remove lib/tsearch.h.
71587         (Depends-on): Add search.
71588         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
71589         (Include): Change tsearch.h into search.h.
71590
71591 2007-03-24  Bruno Haible  <bruno@clisp.org>
71592
71593         * modules/fpucw: New file.
71594         * lib/fpucw.h: New file.
71595         * lib/frexp.c: Include fpucw.h.
71596         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71597         (FUNC): Use them.
71598         * lib/printf-frexp.c: Include fpucw.h.
71599         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71600         (FUNC): Use them.
71601         * lib/vasnprintf.c: Include fpucw.h.
71602         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
71603         'long double' calculations.
71604         * tests/test-frexpl.c: Include fpucw.h.
71605         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71606         * tests/test-printf-frexpl.c: Include fpucw.h.
71607         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71608         * modules/frexpl (Depends-on): Add fpucw.
71609         * modules/printf-frexpl (Depends-on): Likewise.
71610         * modules/fprintf-posix (Depends-on): Likewise.
71611         * modules/snprintf-posix (Depends-on): Likewise.
71612         * modules/sprintf-posix (Depends-on): Likewise.
71613         * modules/vasnprintf-posix (Depends-on): Likewise.
71614         * modules/vasprintf-posix (Depends-on): Likewise.
71615         * modules/vfprintf-posix (Depends-on): Likewise.
71616         * modules/vsnprintf-posix (Depends-on): Likewise.
71617         * modules/vsprintf-posix (Depends-on): Likewise.
71618         * modules/frexpl-tests (Depends-on): Likewise.
71619         * modules/printf-frexpl-tests (Depends-on): Likewise.
71620
71621 2007-03-24  Bruno Haible  <bruno@clisp.org>
71622
71623         * lib/float+.h: New file.
71624         * lib/isnan.c: Include float+.h.
71625         (SIZE): New macro.
71626         (FUNC): Compare only SIZE bytes of the value.
71627         * lib/vasnprintf.c: Include float+.h.
71628         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
71629         SIZEOF_LDBL or SIZEOF_DBL bytes.
71630         * modules/isnan-nolibm (Files): Add lib/float+.h.
71631         * modules/isnanl-nolibm (Files): Add lib/float+.h.
71632         * modules/isnanl (Files): Add lib/float+.h.
71633         * modules/vasnprintf (Files): Add lib/float+.h.
71634
71635 2007-03-24  Bruno Haible  <bruno@clisp.org>
71636
71637         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
71638         include isnanl-nolibm.h.
71639
71640 2007-03-24  Bruno Haible  <bruno@clisp.org>
71641
71642         * tests/test-read-file.c (main): Don't produce spurious output for
71643         expected situations. Make the test fail if it encountered unexpected
71644         results.
71645
71646 2007-03-24  Bruno Haible  <bruno@clisp.org>
71647
71648         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
71649         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
71650
71651 2007-03-24  Bruno Haible  <bruno@clisp.org>
71652
71653         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
71654
71655 2007-03-24  Bruno Haible  <bruno@clisp.org>
71656
71657         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
71658         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
71659
71660         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
71661         * modules/utf8-ucs4: Turn into a symbolic link to module
71662         unistr/u8-mbtouc.
71663
71664         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
71665         utf8-ucs4-unsafe.
71666         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
71667         unistr/u8-mbtouc-unsafe.
71668
71669         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
71670         * modules/utf16-ucs4: Turn into a symbolic link to module
71671         unistr/u16-mbtouc.
71672
71673         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
71674         utf16-ucs4-unsafe.
71675         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
71676         unistr/u16-mbtouc-unsafe.
71677
71678         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
71679         * modules/ucs4-utf8: Turn into a symbolic link to module
71680         unistr/u8-ubtomb.
71681
71682         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
71683         * modules/ucs4-utf16: Turn into a symbolic link to module
71684         unistr/u16-ubtomb.
71685
71686 2007-03-24  Bruno Haible  <bruno@clisp.org>
71687
71688         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
71689         Enable the function only if HAVE_INLINE.
71690         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
71691         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71692         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
71693         Enable the function only if HAVE_INLINE.
71694         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
71695         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71696         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
71697         Enable the function only if HAVE_INLINE.
71698         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
71699         Enable the function only if HAVE_INLINE.
71700         * modules/utf8-ucs4: Update.
71701         * modules/utf8-ucs4-unsafe: Update.
71702         * modules/utf16-ucs4: Update.
71703         * modules/utf16-ucs4-unsafe: Update.
71704         * modules/ucs4-utf8: Update.
71705         * modules/ucs4-utf16: Update.
71706
71707 2007-03-24  Bruno Haible  <bruno@clisp.org>
71708
71709         * lib/utf8-ucs4.h: Remove file.
71710         * lib/utf8-ucs4-unsafe.h: Remove file.
71711         * lib/utf16-ucs4.h: Remove file.
71712         * lib/utf16-ucs4-unsafe.h: Remove file.
71713         * lib/ucs4-utf8.h: Remove file.
71714         * lib/ucs4-utf16.h: Remove file.
71715         * lib/unistr.h: Include their previous contents.
71716         * m4/utf-ucs4.m4: Remove file.
71717         * m4/ucs4-utf.m4: Remove file.
71718         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
71719         (Depends-on): Add unistr/base.
71720         (configure.ac): Remove gl_UTF_UCS4.
71721         (Makefile.am): Update.
71722         (Include): Change to unistr.h.
71723         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
71724         (Depends-on): Add unistr/base.
71725         (configure.ac): Remove gl_UTF_UCS4.
71726         (Makefile.am): Update.
71727         (Include): Change to unistr.h.
71728         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
71729         (Depends-on): Add unistr/base.
71730         (configure.ac): Remove gl_UTF_UCS4.
71731         (Makefile.am): Update.
71732         (Include): Change to unistr.h.
71733         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
71734         (Depends-on): Add unistr/base.
71735         (configure.ac): Remove gl_UTF_UCS4.
71736         (Makefile.am): Update.
71737         (Include): Change to unistr.h.
71738         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
71739         (Depends-on): Add unistr/base.
71740         (configure.ac): Remove gl_UCS4_UTF.
71741         (Makefile.am): Update.
71742         (Include): Change to unistr.h.
71743         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
71744         (Depends-on): Add unistr/base.
71745         (configure.ac): Remove gl_UCS4_UTF.
71746         (Makefile.am): Update.
71747         (Include): Change to unistr.h.
71748         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
71749         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
71750         utf8-ucs4-unsafe.h.
71751         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
71752         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
71753         utf16-ucs4-unsafe.h.
71754         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
71755         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
71756         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
71757         * lib/unistr/u8-strchr.c: Likewise.
71758         * lib/unistr/u8-strrchr.c: Likewise.
71759         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
71760         * lib/unistr/u16-strchr.c: Likewise.
71761         * lib/unistr/u16-strrchr.c: Likewise.
71762         * lib/striconveh.c: Update.
71763         * lib/linebreak.c: Update.
71764
71765 2007-03-24  Bruno Haible  <bruno@clisp.org>
71766
71767         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
71768         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
71769
71770 2007-03-22  Bruno Haible  <bruno@clisp.org>
71771
71772         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
71773
71774 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
71775
71776         * MODULES.html.sh (File system functions): New module write-any-file.
71777         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
71778         * m4/write-any-file.m4: New files.
71779
71780 2007-03-23  Eric Blake  <ebb9@byu.net>
71781
71782         * gnulib-tool: Rearrange space-tab sequences, since some editors
71783         like to eat them.
71784
71785 2007-03-23  Eric Blake  <ebb9@byu.net>
71786
71787         * lib/version-etc.c (version_etc_va): Update license wording to
71788         be more concise.  Recommended by Richard Stallman.
71789
71790 2007-03-22  Bruno Haible  <bruno@clisp.org>
71791
71792         * lib/poll.c (MSG_PEEK): New fallback definition.
71793
71794 2007-03-22  Bruno Haible  <bruno@clisp.org>
71795
71796         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
71797         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
71798         (main): Update.
71799         Fixes a compilation error on BeOS.
71800
71801 2007-03-22  Bruno Haible  <bruno@clisp.org>
71802
71803         * modules/frexpl-tests: New file.
71804         * tests/test-frexpl.c: New file.
71805
71806         * modules/frexpl: New file.
71807         * m4/frexpl.m4: New file.
71808         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
71809         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
71810         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
71811         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
71812         (Depends-on): Add frexpl. Remove isnanl-nolibm.
71813         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
71814
71815 2007-03-22  Bruno Haible  <bruno@clisp.org>
71816
71817         * lib/frexpl.c: Share code with lib/frexp.c.
71818         * modules/mathl (Files): Add lib/frexp.c.
71819         (Depends-on): Add isnanl-nolibm.
71820
71821 2007-03-22  Bruno Haible  <bruno@clisp.org>
71822
71823         * modules/printf-frexp (Files): Add m4/frexp.m4.
71824         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
71825         only if the found frexp function actually works.
71826
71827 2007-03-22  Bruno Haible  <bruno@clisp.org>
71828
71829         * lib/frexp.c: Remove older implementation that uses divisions.
71830
71831 2007-03-21  Bruno Haible  <bruno@clisp.org>
71832
71833         * modules/frexp-tests: New file.
71834         * tests/test-frexp.c: New file.
71835
71836         * modules/frexp: New file.
71837         * lib/frexp.c: New file.
71838         * m4/frexp.m4: New file.
71839         * lib/math_.h (frexp): New declaration.
71840         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
71841         REPLACE_FREXP.
71842         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
71843
71844 2007-03-21  Bruno Haible  <bruno@clisp.org>
71845
71846         * modules/isnanl-tests: New file.
71847         * tests/test-isnanl.c: New file.
71848
71849         * modules/isnanl: New file.
71850         * lib/isnanl.h: New file.
71851         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
71852         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
71853         gl_FUNC_ISNANL_WORKS.
71854         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
71855         New macros.
71856
71857 2007-03-21  Bruno Haible  <bruno@clisp.org>
71858
71859         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
71860         lib/isnanl.h.
71861         (Include): Update.
71862         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
71863         * lib/vasnprintf.c: Update.
71864         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
71865         tests/test-isnanl.h, remove tests/test-isnanl.c.
71866         (Makefile.am): Update.
71867         * tests/test-isnanl-nolibm.c: New file.
71868         * tests/test-isnanl.h: New file.
71869         * tests/test-isnanl.c: Remove file.
71870
71871 2007-03-21  Jim Meyering  <jim@meyering.net>
71872
71873         When trying to open ".", treat ESTALE like EACCES.
71874         * lib/savewd.c (savewd_save): Resort to forking not just upon
71875         failure with EACCES, but also when errno is ESTALE.
71876
71877 2007-03-20  Bruno Haible  <bruno@clisp.org>
71878
71879         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
71880         Needed on AIX 5.1. Reported by Matthew Woehlke.
71881
71882 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71883
71884         Suggestions by Bruno Haible:
71885         * lib/acl-internal.h: Include "gettext.h" rather than rolling
71886         our own.
71887         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
71888         * modules/acl (Depends-on): Add gettext.
71889
71890 2007-03-19  Bruno Haible  <bruno@clisp.org>
71891
71892         * modules/iconvme: Remove file.
71893         * lib/iconvme.h: Remove file.
71894         * lib/iconvme.c: Remove file.
71895         * m4/iconvme.m4: Remove file.
71896
71897 2007-03-19  Bruno Haible  <bruno@clisp.org>
71898
71899         * doc/relocatable-maint.texi: Break long shell script line.
71900         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71901
71902 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71903
71904         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
71905         handle file_has_acl.
71906         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
71907         * lib/acl.c: Move header inclusions and related macro defns into
71908         lib/acl-internal.h.
71909         (S_ISLNK): Remove defn, since that's now done for us.
71910         (file_has_acl): Move to lib/file-has-acl.c.
71911         Call acl_trivial if available.  This is the crucial part of the fix.
71912         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
71913         shared within the library.  Rewrite a bit, partly to make it compatible
71914         with the GNU coding style.
71915         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
71916         Remove unnecessary double-quotes.
71917         Don't test for acl_to_text; the build will catch that.
71918         Replace acl_entries if it doesn't exist and it is needed.
71919         Check for -lsec and acl_trivial (as used on Solaris 10).
71920         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
71921         lib/file-has-acl.c.
71922         (Depends-on): Add sys_stat, for S_ISLNK.
71923
71924 2007-03-19  Ben Pfaff  <blp@gnu.org>
71925
71926         * doc/gnulib.texi: Fix typos.
71927         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71928
71929 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71930
71931         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
71932         If size is zero here, buf must be zero.
71933
71934 2007-03-19  Simon Josefsson  <simon@josefsson.org>
71935
71936         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
71937         <bruno@clisp.org>.
71938
71939 2007-03-18  Bruno Haible  <bruno@clisp.org>
71940
71941         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
71942         Suggested by Eric Blake.
71943
71944 2007-03-18  Ben Pfaff  <blp@gnu.org>
71945
71946         * doc/relocatable.texi: Recommend using as prefix a directory
71947         that does not exist and will never be created.  Based on
71948         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
71949         and others.
71950
71951 2007-03-17  Bruno Haible  <bruno@clisp.org>
71952
71953         * lib/fchownat.c: Include lchown.h.
71954
71955 2007-03-17  Bruno Haible  <bruno@clisp.org>
71956
71957         Fix endless loop when the given allocated size was > INT_MAX.
71958         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
71959         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
71960         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
71961         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
71962         * lib/sprintf.c (sprintf): Likewise.
71963
71964 2007-03-17  Bruno Haible  <bruno@clisp.org>
71965
71966         * tests/test-argp-2.sh (func_compare): Output a context diff.
71967
71968 2007-03-17  Bruno Haible  <bruno@clisp.org>
71969
71970         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
71971         locale's decimal-point character.
71972
71973 2007-03-17  Bruno Haible  <bruno@clisp.org>
71974
71975         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
71976         before comparing it. Needed because on some platforms (e.g. x86) a
71977         'long double' occupies less bytes than sizeof (long double).
71978
71979 2007-03-17  Bruno Haible  <bruno@clisp.org>
71980
71981         * tests/test-crc.c (main): Make printf statements 64-bit clean.
71982         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
71983         * tests/test-getaddrinfo.c (simple): Likewise.
71984         * tests/test-read-file.c (main): Likewise.
71985
71986 2007-03-17  Bruno Haible  <bruno@clisp.org>
71987
71988         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
71989
71990 2007-03-17  Bruno Haible  <bruno@clisp.org>
71991
71992         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
71993         unused variable.
71994
71995 2007-03-17  Bruno Haible  <bruno@clisp.org>
71996
71997         * tests/test-c-strcasecmp.c: Include c-strcase.h.
71998         * tests/test-c-strncasecmp.c: Likewise.
71999
72000 2007-03-17  Bruno Haible  <bruno@clisp.org>
72001
72002         * modules/stdlib (Depends-on): Add unistd.
72003         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
72004         Needed for MacOS X 10.3.
72005
72006 2007-03-17  Bruno Haible  <bruno@clisp.org>
72007
72008         * lib/unistr/u-strdup.h: Include <stdlib.h>.
72009
72010 2007-03-17  Bruno Haible  <bruno@clisp.org>
72011
72012         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
72013
72014 2007-03-17  Bruno Haible  <bruno@clisp.org>
72015
72016         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
72017         to reflect files copied from gnulib (with or without modifications).
72018         Suggested by Jim Meyering.
72019
72020 2007-03-17  Eric Blake  <ebb9@byu.net>
72021
72022         * NEWS: Document stdlib change from 2007-02-18.
72023
72024 2007-03-17  Jim Meyering  <jim@meyering.net>
72025
72026         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
72027         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
72028         someone uses a name containing shell meta-characters.
72029         Reported by Alfred M. Szmidt.
72030
72031         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
72032
72033 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
72034
72035         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
72036         and copy gettext configuration files only if configure.ac contains
72037         a use of AM_GNU_GETTEXT_VERSION.
72038
72039 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
72040
72041         * build-aux/bootstrap (gnulib_name): New variable.
72042         (gnulib_tool_options): Use it.
72043
72044 2007-03-13  Simon Josefsson  <simon@josefsson.org>
72045
72046         * tests/test-des.c: Use new namespace.
72047
72048 2007-03-15  Bruno Haible  <bruno@clisp.org>
72049
72050         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
72051         Reported by James Youngman <jay@gnu.org>.
72052
72053 2007-03-15  Bruno Haible  <bruno@clisp.org>
72054
72055         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
72056         declared prototype. Needed with cc on OSF/1 5.1.
72057
72058 2007-03-15  Bruno Haible  <bruno@clisp.org>
72059
72060         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
72061         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
72062         (struct gl_list_implementation): Add dispose_fn argument to the
72063         'create_empty', 'create' methods.
72064         (struct gl_list_impl_base): Add field 'dispose_fn'.
72065         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
72066         argument.
72067         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
72068         dispose_fn argument.
72069         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
72070         dispose_fn on the dropped values.
72071         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
72072         dispose_fn argument.
72073         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
72074         dropped values.
72075         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
72076         (gl_tree_remove_node): Call dispose_fn on the dropped value.
72077         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
72078         (gl_tree_remove_node): Call dispose_fn on the dropped value.
72079         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
72080         argument.
72081         (gl_tree_list_free): Call dispose_fn on the dropped values.
72082         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
72083         the dropped values.
72084         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
72085         Add dispose_fn argument.
72086         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
72087         Call dispose_fn on the dropped values.
72088         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
72089         Add dispose_fn argument.
72090         (gl_sublist_create): Initialize the 'dispose_fn' field.
72091         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
72092         * tests/test-array_list.c (main): Update.
72093         * tests/test-carray_list.c (main): Update.
72094         * tests/test-avltree_list.c (main): Update.
72095         * tests/test-rbtree_list.c (main): Update.
72096         * tests/test-avltreehash_list.c (main): Update.
72097         * tests/test-rbtreehash_list.c (main): Update.
72098         * tests/test-linked_list.c (main): Update.
72099         * tests/test-linkedhash_list.c (main): Update.
72100         * tests/test-array_oset.c (main): Update.
72101
72102 2007-03-15  Bruno Haible  <bruno@clisp.org>
72103
72104         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
72105         (gl_oset_create_empty): Add dispose_fn argument.
72106         (struct gl_oset_implementation): Add dispose_fn argument to
72107         'create_empty' method.
72108         (struct gl_oset_impl_base): Add dispose_fn field.
72109         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
72110         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
72111         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
72112         values.
72113         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
72114         (gl_tree_oset_free): Call dispose_fn on the dropped values.
72115         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
72116         dropped value.
72117         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
72118         dropped value.
72119         * tests/test-array_oset.c (main): Update.
72120         * tests/test-avltree_oset.c (main): Update.
72121         * tests/test-rbtree_oset.c (main): Update.
72122         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
72123
72124 2007-03-13  Bruno Haible  <bruno@clisp.org>
72125
72126         * tests/test-stdbool.c (i): Update after last patch.
72127
72128 2007-03-12  Bruno Haible  <bruno@clisp.org>
72129
72130         * lib/quotearg.c: Include <wctype.h> early, before the definition of
72131         the iswprint macro. Needed on Solaris 2.5.1.
72132
72133 2007-03-12  Bruno Haible  <bruno@clisp.org>
72134
72135         * tests/test-printf-frexp.c (main): Declare x as volatile.
72136
72137 2007-03-12  Simon Josefsson  <simon@josefsson.org>
72138
72139         * doc/gnulib.texi (Build robot for gnulib): New section.
72140
72141 2007-03-12  Jim Meyering  <jim@meyering.net>
72142
72143         * build-aux/bootstrap: New file.
72144         * build-aux/bootstrap.conf: New file, from coreutils.
72145
72146 2007-03-11  Bruno Haible  <bruno@clisp.org>
72147
72148         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
72149
72150 2007-03-12  Simon Josefsson  <simon@josefsson.org>
72151
72152         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
72153         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
72154         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
72155
72156 2007-03-11  Bruno Haible  <bruno@clisp.org>
72157
72158         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
72159         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
72160
72161 2007-03-11  Bruno Haible  <bruno@clisp.org>
72162
72163         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
72164         formula. Needed for SunPRO C 5.0.
72165
72166 2007-03-11  Bruno Haible  <bruno@clisp.org>
72167
72168         * modules/long-options (Depends-on): Add getopt.
72169
72170 2007-03-11  Bruno Haible  <bruno@clisp.org>
72171
72172         * modules/modechange (Depends-on): Add stdbool.
72173
72174 2007-03-11  Bruno Haible  <bruno@clisp.org>
72175
72176         * modules/i-ring (Depends-on): Add stdbool.
72177
72178 2007-03-11  Bruno Haible  <bruno@clisp.org>
72179
72180         * modules/gc-des (Depends-on): Add stdbool.
72181
72182 2007-03-11  Bruno Haible  <bruno@clisp.org>
72183
72184         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
72185
72186 2007-03-11  Bruno Haible  <bruno@clisp.org>
72187
72188         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
72189
72190 2007-03-11  Bruno Haible  <bruno@clisp.org>
72191
72192         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
72193
72194 2007-03-11  Bruno Haible  <bruno@clisp.org>
72195
72196         * lib/vasnprintf.c (sprintf): Undefine.
72197
72198 2007-03-11  Bruno Haible  <bruno@clisp.org>
72199
72200         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
72201         initializers in SunPRO C and Compaq C compilers.
72202
72203 2007-03-11  Bruno Haible  <bruno@clisp.org>
72204
72205         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
72206         decrementing code ANSI C compliant.
72207
72208 2007-03-11  Bruno Haible  <bruno@clisp.org>
72209
72210         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
72211         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
72212
72213 2007-03-11  Bruno Haible  <bruno@clisp.org>
72214
72215         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
72216         <stdbool.h> substitute doesn't pass.
72217
72218 2007-03-11  Bruno Haible  <bruno@clisp.org>
72219
72220         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
72221
72222 2007-03-11  Bruno Haible  <bruno@clisp.org>
72223
72224         * gnulib-tool (func_create_megatestdir): Create also an autobuild
72225         script, for submission to autobuild.josefsson.org.
72226
72227 2007-03-10  Bruno Haible  <bruno@clisp.org>
72228
72229         * modules/canonicalize-lgpl-tests: New file.
72230         * tests/test-canonicalize-lgpl.sh: New file.
72231         * tests/test-canonicalize-lgpl.c: New file.
72232
72233         * modules/c-strcase-tests: New file.
72234         * tests/test-c-strcase.sh: New file.
72235         * tests/test-c-strcasecmp.c: New file.
72236         * tests/test-c-strncasecmp.c: New file.
72237
72238         * modules/atexit-tests: New file.
72239         * tests/test-atexit.sh: New file.
72240         * tests/test-atexit.c: New file.
72241
72242 2007-03-10  Bruno Haible  <bruno@clisp.org>
72243
72244         * tests/test-binary-io.sh: Use temporary filenames that are not so
72245         likely to clash with those of other tests (in a parallel make).
72246         * tests/test-binary-io.c: Likewise.
72247
72248 2007-03-10  Bruno Haible  <bruno@clisp.org>
72249
72250         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
72251         fallback; use #error instead.
72252         Suggested by Simon Josefsson.
72253
72254 2007-03-10  Bruno Haible  <bruno@clisp.org>
72255
72256         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
72257         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
72258         first and the last.
72259
72260 2007-03-10  Bruno Haible  <bruno@clisp.org>
72261
72262         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
72263
72264 2007-03-10  Bruno Haible  <bruno@clisp.org>
72265
72266         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
72267         "make distcheck".
72268         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
72269         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
72270         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
72271
72272 2007-03-10  Bruno Haible  <bruno@clisp.org>
72273
72274         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
72275         variable.
72276         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
72277         variable.
72278
72279 2007-03-09  Eric Blake  <ebb9@byu.net>
72280         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
72281
72282         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
72283         types are not being provided by gnulib.
72284         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
72285         types are supported.
72286
72287 2007-03-10  Bruno Haible  <bruno@clisp.org>
72288
72289         * lib/stdio_.h (__attribute__): New macro.
72290         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
72291         vsprintf): Specify __attribute__ __format__ for GCC.
72292         Suggested by Eric Blake.
72293
72294 2007-03-09  Bruno Haible  <bruno@clisp.org>
72295
72296         * modules/printf-posix-tests: New file.
72297         * tests/test-printf-posix.sh: New file.
72298         * tests/test-printf-posix.c: New file.
72299
72300         * modules/printf-posix: New file.
72301         * lib/printf.c: New file.
72302         * m4/printf-posix-rpl.m4: New file.
72303         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
72304         REPLACE_PRINTF.
72305         * lib/stdio_.h (printf): New declaration.
72306         (format, __format__, ____printf____, ____scanf____, ____strftime____,
72307         ____strfmon____): New macros.
72308         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
72309         REPLACE_PRINTF.
72310
72311 2007-03-09  Bruno Haible  <bruno@clisp.org>
72312
72313         * tests/test-vasnprintf-posix2.sh: New file.
72314         * tests/test-vasnprintf-posix2.c: New file.
72315         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
72316         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
72317         (Makefile.am): Activate test-vasnprintf-posix2.sh.
72318
72319         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
72320         a locale dependent decimal point, rather than always '.'.
72321
72322 2007-03-09  Eric Blake  <ebb9@byu.net>
72323
72324         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
72325         spite of platforms like Tandem/NSK that define it to -1.
72326
72327 2007-03-08  Bruno Haible  <bruno@clisp.org>
72328
72329         * modules/vprintf-posix-tests: New file.
72330         * tests/test-vprintf-posix.sh: New file.
72331         * tests/test-vprintf-posix.c: New file.
72332         * tests/test-printf-posix.h: New file.
72333
72334         * modules/vprintf-posix: New file.
72335         * lib/vprintf.c: New file.
72336         * m4/vprintf-posix.m4: New file.
72337         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
72338         REPLACE_VPRINTF.
72339         * lib/stdio_.h (vprintf): New declaration.
72340         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
72341         REPLACE_VPRINTF.
72342
72343 2007-03-08  Bruno Haible  <bruno@clisp.org>
72344
72345         * modules/fprintf-posix-tests: New file.
72346         * tests/test-fprintf-posix.sh: New file.
72347         * tests/test-fprintf-posix.c: New file.
72348
72349         * modules/fprintf-posix: New file.
72350         * lib/fprintf.c: New file.
72351         * m4/fprintf-posix.m4: New file.
72352         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
72353         REPLACE_FPRINTF.
72354         * lib/stdio_.h (fprintf): New declaration.
72355         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
72356         REPLACE_FPRINTF.
72357
72358 2007-03-08  Bruno Haible  <bruno@clisp.org>
72359
72360         * modules/vfprintf-posix-tests: New file.
72361         * tests/test-vfprintf-posix.sh: New file.
72362         * tests/test-vfprintf-posix.c: New file.
72363         * tests/test-fprintf-posix.h: New file.
72364         * tests/test-fprintf-posix.out: New file.
72365
72366         * modules/vfprintf-posix: New file.
72367         * lib/vfprintf.c: New file.
72368         * m4/vfprintf-posix.m4: New file.
72369         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
72370         REPLACE_VFPRINTF.
72371         * lib/stdio_.h (vfprintf): New declaration.
72372         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
72373         REPLACE_VFPRINTF.
72374
72375 2007-03-08  Bruno Haible  <bruno@clisp.org>
72376
72377         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
72378
72379 2007-03-08  Bruno Haible  <bruno@clisp.org>
72380
72381         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
72382         instead of 'expr' invocations.
72383         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
72384         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
72385         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
72386         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
72387         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
72388         Suggested by Paul Eggert.
72389
72390 2007-03-08  Bruno Haible  <bruno@clisp.org>
72391
72392         * modules/fseterr-tests: New file.
72393         * tests/test-fseterr.c: New file.
72394
72395         * modules/fseterr: New file.
72396         * lib/fseterr.h: New file.
72397         * lib/fseterr.c: New file.
72398
72399 2007-03-08  Bruno Haible  <bruno@clisp.org>
72400
72401         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
72402         * lib/getopt_.h: Likewise.
72403         * lib/mbswidth.h: Likewise.
72404         * lib/setenv.h: Likewise.
72405         * lib/vasnprintf.h: Likewise.
72406         * lib/vasprintf.h: Likewise.
72407         * lib/verror.h: Likewise.
72408         * lib/xsetenv.h: Likewise.
72409         * lib/xvasprintf.h: Likewise.
72410
72411 2007-03-08  Jim Meyering  <jim@meyering.net>
72412
72413         * users.txt: Add parted.
72414
72415         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
72416
72417 2007-03-07  Bruno Haible  <bruno@clisp.org>
72418
72419         * m4/printf.m4: Make the shell script snippets copy&pastable.
72420
72421 2007-03-02  Bruno Haible  <bruno@clisp.org>
72422
72423         * lib/netinet_in_.h: New file.
72424         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
72425         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
72426         * modules/netinet_in (Files): Add lib/netinet_in_.h.
72427         (Depends-on): Add absolute-header.
72428         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
72429         into netinet/in.h.
72430
72431 2007-03-03  Bruno Haible  <bruno@clisp.org>
72432
72433         * lib/sys_select_.h: New file.
72434         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
72435         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
72436         * modules/sys_select (Files): Add lib/sys_select_.h.
72437         (Depends-on): Add absolute-header.
72438         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
72439         into sys/select.h.
72440
72441 2007-03-02  Bruno Haible  <bruno@clisp.org>
72442
72443         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
72444         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
72445         values.
72446         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
72447         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
72448         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
72449         * modules/sys_socket (Depends-on): Add absolute-header.
72450         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
72451         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
72452         (Include): Remove requirement of inclusion of <sys/types.h>.
72453
72454 2007-03-02  Bruno Haible  <bruno@clisp.org>
72455
72456         * lib/byteswap_.h (bswap_32): Fix formula.
72457
72458 2007-03-06  Bruno Haible  <bruno@clisp.org>
72459
72460         * modules/sprintf-posix-tests: New file.
72461         * tests/test-sprintf-posix.c: New file.
72462
72463         * modules/sprintf-posix: New file.
72464         * lib/sprintf.c: New file.
72465         * m4/sprintf-posix.m4: New file.
72466         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
72467         REPLACE_SPRINTF.
72468         * lib/stdio_.h (sprintf): New declaration.
72469         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
72470         REPLACE_SPRINTF.
72471
72472 2007-03-06  Bruno Haible  <bruno@clisp.org>
72473
72474         * modules/vsprintf-posix-tests: New file.
72475         * tests/test-vsprintf-posix.c: New file.
72476         * tests/test-sprintf-posix.h: New file.
72477
72478         * modules/vsprintf-posix: New file.
72479         * lib/vsprintf.c: New file.
72480         * m4/vsprintf-posix.m4: New file.
72481         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
72482         REPLACE_VSPRINTF.
72483         * lib/stdio_.h (vsprintf): New declaration.
72484         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
72485         REPLACE_VSPRINTF.
72486
72487 2007-03-06  Bruno Haible  <bruno@clisp.org>
72488
72489         * modules/vsnprintf (Depend-on): Remove minmax.
72490
72491 2007-03-06  Bruno Haible  <bruno@clisp.org>
72492
72493         * modules/snprintf-posix-tests: New file.
72494         * tests/test-snprintf-posix.c: New file.
72495
72496         * modules/snprintf-posix: New file.
72497         * m4/snprintf-posix.m4: New file.
72498         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
72499         gl_FUNC_SNPRINTF.
72500         (gl_FUNC_SNPRINTF): Invoke it.
72501         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
72502         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
72503         is set.
72504         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
72505
72506 2007-03-06  Bruno Haible  <bruno@clisp.org>
72507
72508         * modules/vsnprintf-posix-tests: New file.
72509         * tests/test-vsnprintf-posix.c: New file.
72510         * tests/test-snprintf-posix.h: New file.
72511
72512         * modules/vsnprintf-posix: New file.
72513         * m4/vsnprintf-posix.m4: New file.
72514         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
72515         gl_FUNC_VSNPRINTF.
72516         (gl_FUNC_VSNPRINTF): Invoke it.
72517         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
72518         * lib/stdio_.h (vsnprintf): Define as a replacement if
72519         REPLACE_VSNPRINTF is set.
72520         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
72521
72522 2007-03-06  Bruno Haible  <bruno@clisp.org>
72523
72524         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
72525         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
72526
72527 2007-03-06  Bruno Haible  <bruno@clisp.org>
72528
72529         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
72530         (asinl): Declare also if HAVE_DECL_ASINL is set.
72531         (atanl): Declare also if HAVE_DECL_ATANL is set.
72532         (ceill): Declare also if HAVE_DECL_CEILL is set.
72533         (cosl): Declare also if HAVE_DECL_COSL is set.
72534         (expl): Declare also if HAVE_DECL_EXPL is set.
72535         (floorl): Declare also if HAVE_DECL_FLOORL is set.
72536         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
72537         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
72538         (logl): Declare also if HAVE_DECL_LOGL is set.
72539         (sinl): Declare also if HAVE_DECL_SINL is set.
72540         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
72541         (tanl): Declare also if HAVE_DECL_TANL is set.
72542         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
72543         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
72544         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
72545         declaration of frexpl, ldexpl.
72546         * modules/printf-frexpl (Depends-on): Add math.
72547         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
72548
72549 2007-03-05  Bruno Haible  <bruno@clisp.org>
72550
72551         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
72552         frexpl and ldexpl are declared.
72553         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
72554
72555 2007-03-05  Bruno Haible  <bruno@clisp.org>
72556
72557         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
72558         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
72559
72560 2007-03-05  Bruno Haible  <bruno@clisp.org>
72561
72562         * lib/stdio_.h: Include <stddef.h>.
72563
72564 2007-03-05  Bruno Haible  <bruno@clisp.org>
72565
72566         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
72567
72568 2007-03-05  Bruno Haible  <bruno@clisp.org>
72569
72570         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
72571         NetBSD 4, from Ralf Wildenhues.
72572
72573 2007-03-04  Bruno Haible  <bruno@clisp.org>
72574
72575         * lib/vasprintf.h: Update #if logic for the case when the functions
72576         exist but are overridden.
72577
72578 2007-03-04  Bruno Haible  <bruno@clisp.org>
72579
72580         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
72581         implementations: glibc-2.4 and MacOS X 10.3.
72582         * tests/test-vasnprintf-posix.c (test_function): Test also the case
72583         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
72584         * tests/test-vasprintf-posix.c (test_function): Likewise.
72585
72586 2007-03-04  Bruno Haible  <bruno@clisp.org>
72587
72588         * modules/vasprintf-posix-tests: New file.
72589         * tests/test-vasprintf-posix.c: New file.
72590
72591         * modules/vasprintf-posix: New file.
72592         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
72593         defined.
72594         * m4/vasprintf-posix.m4: New file.
72595         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
72596         gl_FUNC_VASPRINTF.
72597         (gl_FUNC_VASPRINTF): Invoke it.
72598         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
72599         here.
72600         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
72601
72602 2007-03-04  Bruno Haible  <bruno@clisp.org>
72603
72604         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
72605         REPLACE_GETTIMEOFDAY.
72606         * modules/sys_time (Makefile.am): Likewise.
72607         * m4/sys_time_h.m4: Likewise.
72608         * m4/gettimeofday.m4: Likewise.
72609
72610 2007-03-04  Bruno Haible  <bruno@clisp.org>
72611
72612         * modules/vasnprintf-posix-tests: New file.
72613         * tests/test-vasnprintf-posix.c: New file.
72614
72615         * modules/vasnprintf-posix: New file.
72616         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
72617         printf-frexpl.h.
72618         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
72619         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
72620         REPLACE_VASNPRINTF is defined.
72621         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
72622         gl_FUNC_VASNPRINTF.
72623         (gl_FUNC_VASNPRINTF): Invoke it.
72624         * m4/vasnprintf-posix.m4: New file.
72625         * m4/printf.m4: New file.
72626
72627 2007-03-04  Bruno Haible  <bruno@clisp.org>
72628
72629         Compile progreloc.c only if --enable-relocatable is specified.
72630         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
72631         if --enable-relocatable was specified.
72632         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
72633         lib_SOURCES.
72634
72635 2007-03-04  Jim Meyering  <jim@meyering.net>
72636
72637         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
72638         Use it consistently, rather than enumerating errno constants.
72639
72640 2007-03-04  Bruno Haible  <bruno@clisp.org>
72641
72642         * modules/xvasprintf-tests: New file.
72643         * tests/test-xvasprintf.c: New file.
72644
72645         * modules/vasprintf-tests: New file.
72646         * tests/test-vasprintf.c: New file.
72647
72648         * modules/vasnprintf-tests: New file.
72649         * tests/test-vasnprintf.c: New file.
72650
72651         * modules/vsnprintf-tests: New file.
72652         * tests/test-vsnprintf.c: New file.
72653
72654         * modules/snprintf-tests: New file.
72655         * tests/test-snprintf.c: New file.
72656
72657 2007-03-04  Bruno Haible  <bruno@clisp.org>
72658
72659         Compile relocatable.c only if --enable-relocatable is specified.
72660         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
72661         gl_RELOCATABLE_LIBRARY.
72662         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
72663         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
72664         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
72665         gl_RELOCATABLE_LIBRARY.
72666         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
72667         (Makefile.am): Remove lib_SOURCES.
72668         * modules/relocatable-lib-lgpl (configure.ac): Invoke
72669         gl_RELOCATABLE_LIBRARY.
72670         (Makefile.am): Remove lib_SOURCES.
72671         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
72672         always.
72673         * modules/relocatable-prog-wrapper (configure.ac): Invoke
72674         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
72675
72676 2007-03-04  Bruno Haible  <bruno@clisp.org>
72677
72678         * modules/argmatch-tests: New file.
72679         * tests/test-argmatch.c: New file.
72680
72681         * tests/test-allocsa.c (main): Halve the number of loop runs.
72682
72683         * modules/alloca-opt-tests: New file.
72684         * tests/test-alloca-opt.c: New file.
72685
72686 2007-03-04  Jim Meyering  <jim@meyering.net>
72687
72688         Work around difference between Linux ACLs and Solaris 10 ZFS.
72689         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
72690         for EINVAL.
72691
72692 2007-03-03  Bruno Haible  <bruno@clisp.org>
72693
72694         * modules/relocatable-prog (Depends-on): Add back progreloc's
72695         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
72696
72697 2007-03-03  Bruno Haible  <bruno@clisp.org>
72698
72699         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
72700         * modules/relocatable-lib: New file.
72701
72702 2007-03-03  Bruno Haible  <bruno@clisp.org>
72703
72704         * modules/relocatable-prog: Renamed from modules/relocatable.
72705         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
72706
72707 2007-03-03  Bruno Haible  <bruno@clisp.org>
72708
72709         * modules/relocatable-script (Files): Add doc/relocatable.texi,
72710         m4/relocatable-lib.m4.
72711         (Depends-on): Remove 'relocatable'.
72712         (configure.ac): Add gl_RELOCATABLE_NOP.
72713
72714 2007-03-03  Bruno Haible  <bruno@clisp.org>
72715
72716         * modules/relocatable-prog-wrapper: New file.
72717         * modules/relocatable (Depends-on): Add it. Remove all other
72718         dependencies except progname.
72719         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
72720
72721         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
72722         (gl_FUNC_STRERROR): Nop.
72723         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
72724
72725         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
72726         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
72727
72728         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
72729         (gl_FUNC_READLINK): Update.
72730
72731         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
72732
72733 2007-03-03  Bruno Haible  <bruno@clisp.org>
72734
72735         * lib/xreadlink.c: Include <unistd.h> unconditionally.
72736         * modules/xreadlink (Depends-on): Add unistd.
72737         * modules/xreadlink-with-size (Depends-on): Likewise.
72738
72739 2007-03-03  Bruno Haible  <bruno@clisp.org>
72740
72741         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
72742         extracted from gt_FUNC_SETENV.
72743         (gt_FUNC_SETENV): Remove macro.
72744         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
72745         remove gt_FUNC_SETENV.
72746
72747 2007-03-03  Bruno Haible  <bruno@clisp.org>
72748
72749         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
72750         ENABLE_RELOCATABLE here.
72751         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
72752
72753 2007-03-03  Bruno Haible  <bruno@clisp.org>
72754
72755         * modules/rbtreehash-list-tests (Depends-on): Add progname.
72756         * tests/test-rbtreehash_list.c: Include progname.h.
72757         (main): Call set_program_name.
72758
72759         * modules/rbtree-oset-tests (Depends-on): Add progname.
72760         * tests/test-rbtree_oset.c: Include progname.h.
72761         (main): Call set_program_name.
72762
72763         * modules/rbtree-list-tests (Depends-on): Add progname.
72764         * tests/test-rbtree_list.c: Include progname.h.
72765         (main): Call set_program_name.
72766
72767         * modules/linked-list-tests (Depends-on): Add progname.
72768         * tests/test-linked_list.c: Include progname.h.
72769         (main): Call set_program_name.
72770
72771 2007-03-03  Bruno Haible  <bruno@clisp.org>
72772
72773         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
72774         All uses of __restrict changed to _Restrict_.
72775         * lib/glob_.h (__restrict): Remove macro.
72776
72777 2007-03-02  Bruno Haible  <bruno@clisp.org>
72778
72779         * modules/gettext (configure.ac): Require gettext infrastructure
72780         from version 0.16.1.
72781
72782 2007-03-02  Bruno Haible  <bruno@clisp.org>
72783
72784         * modules/linkedhash-list-tests (Depends-on): Add progname.
72785         * tests/test-linkedhash_list.c: Include progname.h.
72786         (main): Call set_program_name.
72787
72788         * modules/carray-list-tests (Depends-on): Add progname.
72789         * tests/test-carray_list.c: Include progname.h.
72790         (main): Call set_program_name.
72791
72792         * modules/avltreehash-list-tests (Depends-on): Add progname.
72793         * tests/test-avltreehash_list.c: Include progname.h.
72794         (main): Call set_program_name.
72795
72796         * modules/avltree-oset-tests (Depends-on): Add progname.
72797         * tests/test-avltree_oset.c: Include progname.h.
72798         (main): Call set_program_name.
72799
72800         * modules/avltree-list-tests (Depends-on): Add progname.
72801         * tests/test-avltree_list.c: Include progname.h.
72802         (main): Call set_program_name.
72803
72804         * modules/array-oset-tests (Depends-on): Add progname.
72805         * tests/test-array_oset.c: Include progname.h.
72806         (main): Call set_program_name.
72807
72808         * modules/array-list-tests (Depends-on): Add progname.
72809         * tests/test-array_list.c: Include progname.h.
72810         (main): Call set_program_name.
72811
72812         * modules/argp-tests (Depends-on): Add progname.
72813         * tests/test-argp.c: Include argp.h first. Include progname.h.
72814         (main): Call set_program_name.
72815
72816 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
72817
72818         * doc/gnulib-tool.texi (Initial import): Reword description of
72819         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
72820         limited effect even if defined after the first system include.
72821
72822 2007-03-01  Bruno Haible  <bruno@clisp.org>
72823
72824         * build-aux/config.libpath: Update to libtool-1.5.22.
72825         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
72826
72827 2007-03-01  Bruno Haible  <bruno@clisp.org>
72828
72829         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
72830         foo_CFLAGS.
72831         Reported by Ralf Wildenhues.
72832
72833 2007-03-01  Bruno Haible  <bruno@clisp.org>
72834
72835         * build-aux/install-reloc: Remove object files left over by some
72836         compilers.
72837         Reported by Ralf Wildenhues.
72838
72839 2007-03-01  Bruno Haible  <bruno@clisp.org>
72840
72841         * build-aux/install-reloc: Break long lines.
72842
72843 2007-03-01  Bruno Haible  <bruno@clisp.org>
72844
72845         * doc/relocatable.texi: Document that it may not work on OpenBSD.
72846         Reported by Ralf Wildenhues.
72847
72848 2007-03-01  Bruno Haible  <bruno@clisp.org>
72849
72850         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
72851         include ordering constraints.
72852
72853 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72854
72855         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
72856         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
72857         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
72858         as another example.
72859         * lib/time_.h: Fix misspelling.
72860         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72861         Require gl_HEADER_TIME_H_DEFAULTS.
72862         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
72863         * m4/time_r.m4 (gl_TIME_R): Likewise.
72864         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
72865
72866 2007-03-01  Bruno Haible  <bruno@clisp.org>
72867
72868         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
72869         * m4/utimens.m4 (gl_UTIMENS): Likewise.
72870
72871 2007-03-01  Jim Meyering  <jim@meyering.net>
72872
72873         * modules/xreadlink (Maintainer): Add my name.
72874         * modules/xreadlink-with-size (Depends-on): Alphabetize.
72875
72876 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
72877             Bruno Haible  <bruno@clisp.org>
72878
72879         * build-aux/install-reloc: Compile also c-ctype.c.
72880         * build-aux/relocatable.sh.in: New file.
72881         * doc/relocatable.texi: New file.
72882         * doc/relocatable-maint.texi: New file.
72883         * doc/gnulib.texi: Include relocatable-maint.texi.
72884         * lib/progreloc.c: Include unistd.h unconditionally.
72885         * lib/relocwrapper.c: Include unistd.h unconditionally.
72886         Include c-ctype.h.
72887         (add_dotbin): Use c_tolower.
72888         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
72889         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
72890         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
72891         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
72892         to m4/relocatable-lib.m4.
72893         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
72894         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
72895         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
72896         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
72897         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
72898         * modules/relocatable: New file.
72899         * modules/relocatable-lib: New file.
72900         * modules/relocatable-script: New file.
72901
72902 2007-02-28  Bruno Haible  <bruno@clisp.org>
72903
72904         Import --enable-relocatable infrastructure.
72905         * build-aux/config.libpath: New file, from GNU gettext.
72906         * build-aux/install-reloc: New file, from GNU gettext.
72907         * build-aux/reloc-ldflags: New file, from GNU gettext.
72908         * lib/relocatable.h: New file, from GNU gettext.
72909         * lib/relocatable.c: New file, from GNU gettext.
72910         * lib/relocwrapper.c: New file, from GNU gettext.
72911         * m4/relocatable.m4: New file, from GNU gettext.
72912
72913 2007-02-28  Bruno Haible  <bruno@clisp.org>
72914
72915         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
72916
72917         * modules/xreadlink: New file, from GNU gettext with modifications.
72918         * lib/xreadlink.c: New file, from GNU gettext.
72919         * lib/xreadlink.h: Add comments.
72920         (xreadlink): New declaration.
72921
72922         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
72923         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
72924         lib/xreadlink-with-size.c.
72925         (configure.ac): Remove gl_XREADLINK invocation.
72926         (Makefile.am): Augment lib_SOURCES.
72927         * m4/xreadlink.m4: Remove file.
72928         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
72929         (xreadlink_with_size): Renamed from xreadink.
72930         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
72931         * modules/canonicalize (Depends-on): Replace xreadlink with
72932         xreadlink-with-size.
72933         * lib/canonicalize.c (canonicalize_filename_mode): Update.
72934
72935 2007-02-25  Jim Meyering  <jim@meyering.net>
72936
72937         * build-aux/announce-gen: When complaining about excess arguments,
72938         list them.
72939
72940 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
72941
72942         * README: Document signed integer overflow situation more
72943         accurately.
72944
72945 2007-02-25  Bruno Haible  <bruno@clisp.org>
72946
72947         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
72948         'a' or 'A' conversion.
72949
72950 2007-02-25  Bruno Haible  <bruno@clisp.org>
72951
72952         * modules/filename: Renamed from modules/pathname.
72953         (Files): Replace lib/pathname.h with lib/filename.h. Replace
72954         lib/concatpath.c with lib/concat-filename.c.
72955         (Makefile.am): Update.
72956         (Include): Replace pathname.h with filename.h.
72957         * lib/filename.h: Renamed from lib/pathname.h.
72958         (concatenated_filename): Renamed from concatenated_pathname.
72959         * lib/concat-filename.c: Renamed from lib/concatpath.c.
72960         (concatenated_filename): Renamed from concatenated_pathname.
72961         * lib/findprog.c: Include filename.h instead of pathname.h.
72962         (find_in_path): Update.
72963         * lib/javacomp.c: Include filename.h instead of pathname.h.
72964         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
72965         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
72966         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
72967         is_oldgcj_14_13_usable, is_javac_usable): Update.
72968         * lib/javaexec.c: Include filename.h instead of pathname.h.
72969         (execute_java_class): Update.
72970         * modules/findprog: Update.
72971         * modules/javacomp: Update.
72972         * modules/javaexec: Update.
72973         * MODULES.html.sh (File system functions): Add 'filename', remove
72974         'pathname'.
72975
72976 2007-02-25  Bruno Haible  <bruno@clisp.org>
72977
72978         * modules/printf-frexpl-tests: New file.
72979         * tests/test-printf-frexpl.c: New file.
72980
72981         * modules/printf-frexpl: New file.
72982         * lib/printf-frexpl.h: New file.
72983         * lib/printf-frexpl.c: New file.
72984         * m4/printf-frexpl.m4: New file.
72985
72986 2007-02-25  Bruno Haible  <bruno@clisp.org>
72987
72988         * modules/printf-frexp-tests: New file.
72989         * tests/test-printf-frexp.c: New file.
72990
72991         * modules/printf-frexp: New file.
72992         * lib/printf-frexp.h: New file.
72993         * lib/printf-frexp.c: New file.
72994         * m4/printf-frexp.m4: New file.
72995
72996 2007-02-25  Bruno Haible  <bruno@clisp.org>
72997
72998         Assume automake >= 1.10 for the tests.
72999         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
73000         * modules/arctwo-tests: Likewise.
73001         * modules/argp-tests: Likewise.
73002         * modules/avltree-list-tests: Likewise.
73003         * modules/avltree-oset-tests: Likewise.
73004         * modules/avltreehash-list-tests: Likewise.
73005         * modules/carray-list-tests: Likewise.
73006         * modules/crc-tests: Likewise.
73007         * modules/des-tests: Likewise.
73008         * modules/gc-arcfour-tests: Likewise.
73009         * modules/gc-arctwo-tests: Likewise.
73010         * modules/gc-des-tests: Likewise.
73011         * modules/gc-hmac-md5-tests: Likewise.
73012         * modules/gc-hmac-sha1-tests: Likewise.
73013         * modules/gc-md2-tests: Likewise.
73014         * modules/gc-md4-tests: Likewise.
73015         * modules/gc-md5-tests: Likewise.
73016         * modules/gc-pbkdf2-sha1-tests: Likewise.
73017         * modules/gc-rijndael-tests: Likewise.
73018         * modules/gc-sha1-tests: Likewise.
73019         * modules/gc-tests: Likewise.
73020         * modules/getaddrinfo-tests: Likewise.
73021         * modules/hmac-md5-tests: Likewise.
73022         * modules/hmac-sha1-tests: Likewise.
73023         * modules/linked-list-tests: Likewise.
73024         * modules/linkedhash-list-tests: Likewise.
73025         * modules/lock-tests: Likewise.
73026         * modules/md2-tests: Likewise.
73027         * modules/md4-tests: Likewise.
73028         * modules/md5-tests: Likewise.
73029         * modules/rbtree-list-tests: Likewise.
73030         * modules/rbtree-oset-tests: Likewise.
73031         * modules/rbtreehash-list-tests: Likewise.
73032         * modules/read-file-tests: Likewise.
73033         * modules/rijndael-tests: Likewise.
73034         * modules/stdint-tests: Likewise.
73035         * modules/tls-tests: Likewise.
73036
73037 2007-02-24  Bruno Haible  <bruno@clisp.org>
73038
73039         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
73040         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
73041         function; instead check whether isnan with a double argument links.
73042         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
73043         function; instead check whether isnan with a 'long double' argument
73044         links.
73045         Reported by Eric Blake <ebb9@byu.net>.
73046
73047 2007-02-24  Bruno Haible  <bruno@clisp.org>
73048
73049         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
73050         defined.
73051         * lib/isnanl.c: Remove all code. Just include isnan.c.
73052         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
73053
73054 2007-02-25  Jim Meyering  <jim@meyering.net>
73055
73056         Avoid conflicting types for 'unsetenv' on FreeBSD.
73057         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
73058         conflicting with FreeBSD's (5.0 and 6.1) function declaration
73059         in stdlib.h.
73060
73061 2007-02-24  Bruno Haible  <bruno@clisp.org>
73062
73063         * modules/isnanl-nolibm-tests: New file.
73064         * tests/test-isnanl.c: New file.
73065
73066         * modules/isnanl-nolibm: New file.
73067         * lib/isnanl.h: New file.
73068         * lib/isnanl.c: New file.
73069         * m4/isnanl.m4: New file.
73070
73071 2007-02-24  Bruno Haible  <bruno@clisp.org>
73072
73073         * modules/isnan-nolibm-tests: New file.
73074         * tests/test-isnan.c: New file.
73075
73076         * modules/isnan-nolibm: New file.
73077         * lib/isnan.h: New file.
73078         * lib/isnan.c: New file.
73079         * m4/isnan.m4: New file.
73080
73081 2007-02-24  Bruno Haible  <bruno@clisp.org>
73082
73083         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
73084         assume that an exponent fits in 20 bits.
73085
73086 2007-02-24  Jim Meyering  <jim@meyering.net>
73087
73088         * m4/regex.m4: Update the description of the configure-time option,
73089         --without-included-regex, to state accurately what the defaults are,
73090         and perhaps to give people an idea why using this option is risky.
73091
73092 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
73093
73094         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
73095         loops on small arguments.  This attempts to avoid the problem
73096         Bruno Haible reported for AIX 4.3.2 in
73097         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
73098
73099 2007-02-23  Bruno Haible  <bruno@clisp.org>
73100
73101         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
73102         Needed for help2man.
73103
73104 2007-02-23  Karl Berry  <karl@gnu.org>
73105
73106         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
73107         exists, foo.h should be cvs-ignored, not committed.
73108
73109 2007-02-23  Eric Blake  <ebb9@byu.net>
73110
73111         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
73112         * lib/stat-time.h (includes): Likewise.
73113         * lib/utimecmp.c (includes): Likewise.
73114         * lib/utimens.h (includes): Likewise.
73115         * lib/getdate.y (includes): Also include "timespec.h" for use
73116         internal to the module.
73117         * modules/utimens (Depends-on): Revert yesterday's patch.
73118         * modules/nanosleep (Depends-on): Add missing dependency.
73119
73120 2007-02-22  Bruno Haible  <bruno@clisp.org>
73121
73122         * lib/glob.c: Don't include getlogin_r.h.
73123
73124 2007-02-22  Jim Meyering  <jim@meyering.net>
73125
73126         * modules/utimens (Depends-on): Add timespec, required for
73127         utimens.h's inclusion of timespec.h.
73128
73129 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
73130
73131         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
73132         long unreadable paths in GNU/Linux.  Problem reported by Andreas
73133         Schwab in
73134         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
73135         I'll try to think of a better way to fix the Solaris problem.
73136
73137         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
73138         like glibc; on Solaris 10, it fails with errno == EINVAL.
73139         POSIX says the behavior is unspecified if the first argument is NULL,
73140         so play it safe and never pass NULL to the system getcwd.
73141
73142 2007-02-21  Jim Meyering  <jim@meyering.net>
73143
73144         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
73145         of gettimeofday.  It would conflict with the one now always
73146         provided via sys_time_.h.  Reported by Matthew Woehlke, as
73147         an IRIX 6.5 build failure.
73148
73149 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
73150
73151         Minor fixups to port to Solaris 10 with Sun C 5.8.
73152         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
73153         * modules/getcwd (Depends-on): Add dirfd.
73154         * lib/putenv.c (putenv): #undef it.
73155         (rpl_putenv): New decl.
73156         (malloc, free): Include <stdlib.h> rather than prototyping separately.
73157
73158 2007-02-20  Bruno Haible  <bruno@clisp.org>
73159
73160         * modules/stdio-tests: New file.
73161         * tests/test-stdio.c: New file.
73162
73163         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
73164         (Depends-on): Add stdio.
73165         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
73166         (Include): Use <stdio.h> instead of vsnprintf.h.
73167         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
73168         HAVE_DECL_VSNPRINTF.
73169         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
73170
73171         * modules/snprintf (Files): Remove lib/snprintf.h.
73172         (Depends-on): Add stdio.
73173         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
73174         (Include): Use <stdio.h> instead of snprintf.h.
73175         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
73176         HAVE_DECL_SNPRINTF.
73177         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
73178         * lib/getaddrinfo.c: Likewise.
73179
73180         * modules/stdio: New file.
73181         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
73182         * lib/snprintf.h: Remove file.
73183         * lib/vsnprintf.h: Remove file.
73184         * lib/.cppi-disable: Remove snprintf.h.
73185         * m4/stdio_h.m4: New file.
73186         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
73187
73188 2007-02-20  Jim Meyering  <jim@meyering.net>
73189
73190         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
73191         used by e.g., mingw.  From Bruno Haible.
73192
73193 2007-02-19  Bruno Haible  <bruno@clisp.org>
73194
73195         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
73196         warnings.
73197         Reported by Ben Pfaff <blp@cs.stanford.edu>.
73198
73199 2007-02-19  Bruno Haible  <bruno@clisp.org>
73200
73201         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
73202         from mingw users.
73203
73204 2007-02-19  Bruno Haible  <bruno@clisp.org>
73205
73206         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
73207         warnings.
73208         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
73209
73210 2007-02-19  Jim Meyering  <jim@meyering.net>
73211
73212         Don't use FD after a successful "fdopendir (fd)".
73213         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
73214         Reset it by calling dirfd on the just-obtained DIR*.
73215
73216         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
73217         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
73218
73219 2007-02-18  Bruno Haible  <bruno@clisp.org>
73220
73221         * lib/readlink.c: Include <unistd.h>.
73222         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
73223         HAVE_READLINK.
73224         * modules/readlink (Depends-on): Add unistd.
73225         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73226         (Include): Add <unistd.h>.
73227
73228         * lib/getlogin_r.h: Remove file.
73229         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
73230         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
73231         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
73232         HAVE_DECL_GETLOGIN_R.
73233         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
73234         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73235         (Include): Use <unistd.h> instead of getlogin_r.h.
73236
73237         * lib/getcwd.h: Remove file.
73238         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
73239         * lib/xgetcwd.c: Likewise.
73240         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
73241         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
73242         * modules/getcwd (Files): Remove lib/getcwd.h.
73243         (Depends-on): Add unistd.
73244         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73245         (Include): Use <unistd.h> instad of getcwd.h.
73246
73247         * lib/ftruncate.c: Include <unistd.h> first.
73248         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
73249         Set HAVE_FTRUNCATE.
73250         * modules/ftruncate (Depends-on): Add unistd.
73251         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73252
73253         * lib/fchdir.c: Include <unistd.h> first.
73254         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
73255         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
73256         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
73257         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73258         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
73259
73260         * lib/dup2.c: Include <unistd.h> first.
73261         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
73262         HAVE_DUP2.
73263         * modules/dup2 (Depends-on): Add unistd.
73264         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73265
73266         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
73267         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
73268         REPLACE_CHOWN. Don't define chown as a macro here.
73269         * modules/chown (Depends-on): Add unistd.
73270         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73271
73272         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
73273         Add definition for GL_LINK_WARNING.
73274         (chown, dup2): New declarations.
73275         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
73276         link warning.
73277         (ftruncate): New declaration.
73278         (getcwd): New declaration, taken from old getcwd.h.
73279         (getlogin_r): New declaration, taken from old getlogin_r.h.
73280         (readlink): New declaration.
73281         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
73282         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
73283         (gl_PREREQ_UNISTD): Remove macro.
73284         (gl_UNISTD_MODULE_INDICATOR): New macro.
73285         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
73286         many new variables. Don't set UNISTD_H.
73287         * modules/unistd (Description): Change.
73288         (Depends-on): Add link-warning.
73289         (configure.ac): Update.
73290         (Makefile.am): Create unistd.h always. Substitute many new variables
73291         into it.
73292
73293 2007-02-18  Bruno Haible  <bruno@clisp.org>
73294
73295         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
73296         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
73297         HAVE_GETSUBOPT.
73298         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
73299         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
73300         * lib/getsubopt.h: Remove file.
73301         * modules/getsubopt (Files): Remove lib/getsubopt.h.
73302         (Depends-on): Add stdlib.
73303         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73304         (Includes): Use <stdlib.h> instead of getsubopt.h.
73305         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
73306         Set HAVE_GETSUBOPT.
73307         * lib/getsubopt.c: Don't include getsubopt.h.
73308
73309 2007-02-18  Bruno Haible  <bruno@clisp.org>
73310
73311         * modules/fchdir (Depends-on): Add dup2.
73312
73313 2007-02-18  Bruno Haible  <bruno@clisp.org>
73314
73315         * lib/stdlib_.h: Handle glibc's special invocation convention
73316         specially.
73317
73318 2007-02-18  Bruno Haible  <bruno@clisp.org>
73319
73320         * modules/stdlib-tests: New file.
73321         * tests/test-stdlib.c: New file.
73322
73323         * modules/mkstemp (Files): Remove lib/mkstemp.h.
73324         (Depends-on): Add stdlib.
73325         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73326         (Includes): Use <stdlib.h> instead of mkstemp.h.
73327         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
73328         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
73329         * lib/mkstemp.c: Don't include mkstemp.h.
73330         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
73331         * lib/stdlib--.h: Don't include mkstemp.h.
73332
73333         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
73334         (Depends-on): Add stdlib.
73335         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73336         (Includes): Use <stdlib.h> instead of mkdtemp.h.
73337         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
73338         HAVE_MKDTEMP.
73339         * lib/mkdtemp.c: Don't include mkdtemp.h.
73340         * lib/clean-temp.c: Don't include mkdtemp.h.
73341
73342         * modules/exit (Files): Remove lib/exit.h.
73343         (Depends-on): Add stdlib.
73344         (Makefile.am): Remove lib_SOURCES.
73345         (Include): Use <stdlib.h> instead of exit.h.
73346         * lib/argmatch.c: Don't include exit.h.
73347         * lib/execute.c: Likewise.
73348         * lib/pagealign_alloc.c: Likewise.
73349         * lib/pipe.c: Likewise.
73350         * lib/wait-process.c: Likewise.
73351         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
73352         * lib/exitfail.c: Likewise.
73353         * lib/savewd.c: Likewise.
73354         * lib/xsetenv.c: Likewise.
73355
73356         * modules/stdlib: New file.
73357         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
73358         and extra comments about mkstemp().
73359         * lib/exit.h: Remove file.
73360         * lib/mkdtemp.h: Remove file.
73361         * lib/mkstemp.h: Remove file.
73362         * m4/stdlib_h.m4: New file.
73363         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
73364
73365 2007-02-18  Bruno Haible  <bruno@clisp.org>
73366
73367         * modules/math-tests: New file.
73368         * tests/test-math.c: New file.
73369
73370         * modules/math: New file.
73371         * modules/mathl (Files): Remove lib/mathl.h.
73372         (Depends-on): Add math.
73373         (Makefile.am): Don't mention mathl.h.
73374         (Include): Use <math.h> instead of mathl.h.
73375         * lib/math_.h: New file.
73376         * lib/mathl.h: Remove file.
73377         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
73378         mathl.h.
73379         * lib/asinl.c: Likewise.
73380         * lib/atanl.c: Likewise.
73381         * lib/ceill.c: Likewise.
73382         * lib/cosl.c: Likewise.
73383         * lib/expl.c: Likewise.
73384         * lib/floorl.c: Likewise.
73385         * lib/frexpl.c: Likewise.
73386         * lib/ldexpl.c: Likewise.
73387         * lib/logl.c: Likewise.
73388         * lib/sincosl.c: Likewise.
73389         * lib/sinl.c: Likewise.
73390         * lib/sqrtl.c: Likewise.
73391         * lib/tanl.c: Likewise.
73392         * lib/trigl.c: Likewise.
73393         * m4/math_h.m4: New file.
73394         * MODULES.html.sh (Mathematics): Add math.
73395
73396 2007-02-17  Bruno Haible  <bruno@clisp.org>
73397
73398         * modules/wctype-tests: New file.
73399         * tests/test-wctype.c: New file.
73400
73401         * modules/wchar-tests: New file.
73402         * tests/test-wchar.c: New file.
73403
73404         * modules/unistd-tests: New file.
73405         * tests/test-unistd.c: New file.
73406
73407         * modules/time-tests: New file.
73408         * tests/test-time.c: New file.
73409
73410         * modules/sysexits-tests: New file.
73411         * tests/test-sysexits.c: New file.
73412
73413         * modules/sys_time-tests: New file.
73414         * tests/test-sys_time.c: New file.
73415
73416         * modules/sys_stat-tests: New file.
73417         * tests/test-sys_stat.c: New file.
73418
73419         * modules/sys_socket-tests: New file.
73420         * tests/test-sys_socket.c: New file.
73421
73422         * modules/sys_select-tests: New file.
73423         * tests/test-sys_select.c: New file.
73424
73425         * modules/string-tests: New file.
73426         * tests/test-string.c: New file.
73427
73428         * modules/stdbool-tests: New file.
73429         * tests/test-stdbool.c: New file.
73430
73431         * modules/netinet_in-tests: New file.
73432         * tests/test-netinet_in.c: New file.
73433
73434         * modules/inttypes-tests: New file.
73435         * tests/test-inttypes.c: New file.
73436
73437         * modules/fcntl-tests: New file.
73438         * tests/test-fcntl.c: New file.
73439
73440         * modules/byteswap-tests: New file.
73441         * tests/test-byteswap.c: New file.
73442
73443         * modules/arpa_inet-tests: New file.
73444         * tests/test-arpa_inet.c: New file.
73445
73446 2007-02-17  Bruno Haible  <bruno@clisp.org>
73447
73448         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
73449         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
73450         if the corresponding module is not enabled. Emit link warnings if
73451         the function is used nevertheless.
73452         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
73453         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
73454         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
73455         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
73456         * modules/inttypes (Depends-on): Add link-warning.
73457         (Makefile.am): Copy the contents of build-aux/link-warning.h into
73458         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
73459         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
73460         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
73461         * modules/imaxdiv (configure.ac): Likewise.
73462         * modules/strtoimax (configure.ac): Likewise.
73463         * modules/strtoumax (configure.ac): Likewise.
73464
73465 2007-02-17  Bruno Haible  <bruno@clisp.org>
73466
73467         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
73468         gl_STRING_MODULE_INDICATOR_DEFAULTS.
73469         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
73470         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
73471
73472 2007-02-17  Bruno Haible  <bruno@clisp.org>
73473
73474         * modules/link-warning: New file.
73475         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
73476         * lib/string_.h (GL_LINK_WARNING): Remove definition.
73477         * modules/string (Depends-on): Add link-warning.
73478         (Makefile.am): Copy the contents of build-aux/link-warning.h into
73479         string.h.
73480         * MODULES.html.sh (Support for building libraries and executables): Add
73481         link-warning.
73482
73483 2007-02-17  Bruno Haible  <bruno@clisp.org>
73484
73485         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
73486         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
73487         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
73488         long lines.
73489
73490 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
73491             Bruno Haible  <bruno@clisp.org>
73492
73493         * modules/tmpfile: New file.
73494         * lib/tmpfile.c: New file.
73495         * m4/tmpfile.m4: New file.
73496         * MODULES.html.sh (func_all_modules): New section "Input/output".
73497
73498 2007-02-15  Bruno Haible  <bruno@clisp.org>
73499
73500         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
73501         (supports_delete_on_close): New function.
73502         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
73503
73504 2007-02-14  Bruno Haible  <bruno@clisp.org>
73505
73506         * modules/mbspcasecmp-tests: New file.
73507         * tests/test-mbspcasecmp.sh: New file.
73508         * tests/test-mbspcasecmp.c: New file.
73509
73510         New module mbspcasecmp.
73511         * modules/mbspcasecmp: New file.
73512         * lib/mbspcasecmp.c: New file.
73513         * lib/string_.h (strncasecmp): Change warning message.
73514         (mbspcasecmp): New declaration.
73515         * m4/mbspcasecmp.m4: New file.
73516         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73517         GNULIB_MBSPCASECMP.
73518         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
73519         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
73520
73521 2007-02-14  Bruno Haible  <bruno@clisp.org>
73522
73523         * modules/mbsncasecmp-tests: New file.
73524         * tests/test-mbsncasecmp.sh: New file.
73525         * tests/test-mbsncasecmp.c: New file.
73526
73527         New module mbsncasecmp.
73528         * modules/mbsncasecmp: New file.
73529         * lib/mbsncasecmp.c: New file.
73530         * lib/string_.h (mbsncasecmp): New declaration.
73531         * m4/mbsncasecmp.m4: New file.
73532         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73533         GNULIB_MBSNCASECMP.
73534         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
73535         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
73536
73537 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
73538
73539         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
73540         Verify that it doesn't overlap with our flags.
73541         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
73542         do not have the desired effect in multibyte locales; instead, use
73543         mbscasecmp.
73544         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
73545         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
73546         we don't require GNU fnmatch ourselves (if our users require it, they
73547         should do so explicitly).
73548
73549         Fix regex code so it doesn't rely on strcasecmp.
73550         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
73551         Otherwise, include gnulib's langinfo.h.
73552         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
73553         undesirable behavior in non-C locales.  Instead, rely on localecharset.
73554         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
73555         * modules/regex (FILES): Remove m4/codeset.m4.
73556         (Depends-on): Add localcharset.  Remove strcase.
73557
73558 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73559
73560         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
73561         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
73562
73563 2007-02-13  Bruno Haible  <bruno@clisp.org>
73564
73565         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
73566         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73567
73568 2007-02-12  Bruno Haible  <bruno@clisp.org>
73569
73570         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73571         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
73572         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
73573         time warning rather than a link error.
73574
73575 2007-02-12  Bruno Haible  <bruno@clisp.org>
73576
73577         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
73578         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
73579         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73580
73581 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73582
73583         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
73584         args, not 2.
73585
73586 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73587
73588         New module 'time', so that apps can include <time.h> as per
73589         POSIX and GNU instead of separate include files like time_r.h
73590         and timegm.h.  This implementation tries out a simpler approach
73591         for replacing decls in standard include files (as compared to
73592         the string module), somewhat as an experiment.
73593
73594         * config/srclist.txt: Comment out mktime.c for now.
73595         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
73596         since it doesn't apply any more.  Use generic wording instead.
73597         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
73598         'time'.
73599         * lib/time_.h, m4/time_h.m4, modules/time: New files.
73600         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
73601         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
73602         Don't include <sys/types.h>; no longer needed since we assume C89.
73603         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
73604         * lib/strftime.c: Likewise.
73605         * lib/time_r.c: Likewise.
73606         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
73607         * lib/nanosleep.c: Include <time.h> first, to check interface.
73608         * lib/strptime.c: Likewise.
73609         * lib/time_r.c: Likewise.
73610         * lib/timegm.c: Likewise.
73611         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
73612         needed.
73613         * lib/timegm.c: Don't include timegm.h; no longer needed.
73614         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
73615         time.h now handles any problems in that area.
73616         (struct timespec, nanosleep): Remove; time.h now arranges for these.
73617         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
73618         that time.h defines struct timespec.
73619         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
73620         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
73621         handles that.
73622         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
73623         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
73624         needed.  Set REPLACE_LOCALTIME.
73625         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
73626         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
73627         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
73628         nanosleep; time_h.m4 now does that.  Don't require
73629         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
73630         module handles this now.
73631         * modules/getdate (Depends-on): Remove timespec.  Add time.
73632         * modules/nanosleep (Depends-on): Likewise.
73633         * modules/stat-time (Depends-on): Likewise.
73634         * modules/nanosleep (Include): Include time.h, not timespec.h.
73635         * modules/strptime (Files): Remove lib/strptime.h.
73636         (Depends-on): Add extensions, time.
73637         (Include): Include time.h, not strptime.h.
73638         * modules/time_r (Files): Remove lib/time_r.h.
73639         (Depends-on): Add time.
73640         (Include): Include time.h, not time_r.h.
73641         * modules/timegm: Likewise.
73642         * modules/timespec (Description): Now does timespec-related decls
73643         of our own, instead of struct timespec itself.
73644         (Depends-on): Add time; remove extensions.
73645         (Maintainer): Add self.
73646         * modules/utimecmp (Depends-on): Add time; remove timespec.
73647         * modules/utimens (Depends-on): Likewise.
73648         * modules/xnanosleep (Depends-on): Likewise.
73649
73650 2007-02-11  Bruno Haible  <bruno@clisp.org>
73651
73652         * lib/c-strstr.c: Include allocsa.h.
73653         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73654         * lib/c-strcasestr.c: Include allocsa.h.
73655         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73656         * lib/strcasestr.c: Include allocsa.h.
73657         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73658         * lib/mbsstr.c: Include allocsa.h.
73659         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73660         allocsa/freesa instead of malloc/free.
73661         * lib/mbscasestr.c: Include allocsa.h.
73662         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73663         allocsa/freesa instead of malloc/free.
73664         * modules/c-strstr (Depends-on): Add allocsa.
73665         * modules/c-strcasestr (Depends-on): Likewise.
73666         * modules/strcasestr (Depends-on): Likewise.
73667         * modules/mbsstr (Depends-on): Likewise.
73668         * modules/mbscasestr (Depends-on): Likewise.
73669
73670 2007-02-11  Bruno Haible  <bruno@clisp.org>
73671
73672         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
73673
73674         * modules/mbsspn-tests: New file.
73675         * tests/test-mbsspn.sh: New file.
73676         * tests/test-mbsspn.c: New file.
73677
73678 2007-02-11  Bruno Haible  <bruno@clisp.org>
73679
73680         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
73681
73682         * modules/mbspbrk-tests: New file.
73683         * tests/test-mbspbrk.sh: New file.
73684         * tests/test-mbspbrk.c: New file.
73685
73686 2007-02-11  Bruno Haible  <bruno@clisp.org>
73687
73688         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
73689         unneeded cast.
73690
73691         * modules/mbscspn-tests: New file.
73692         * tests/test-mbscspn.sh: New file.
73693         * tests/test-mbscspn.c: New file.
73694
73695 2007-02-11  Bruno Haible  <bruno@clisp.org>
73696
73697         * modules/mbscasecmp-tests: New file.
73698         * tests/test-mbscasecmp.sh: New file.
73699         * tests/test-mbscasecmp.c: New file.
73700
73701 2007-02-11  Bruno Haible  <bruno@clisp.org>
73702
73703         Ensure O(n) worst-case complexity of mbscasestr.
73704         * lib/mbscasestr.c: Include stdbool.h.
73705         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73706         functions.
73707         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
73708         the bookkeeping indicates that it's worth it.
73709         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
73710
73711         * modules/mbscasestr-tests: New file.
73712         * tests/test-mbscasestr1.c: New file.
73713         * tests/test-mbscasestr2.sh: New file.
73714         * tests/test-mbscasestr2.c: New file.
73715         * tests/test-mbscasestr3.sh: New file.
73716         * tests/test-mbscasestr3.c: New file.
73717         * tests/test-mbscasestr4.sh: New file.
73718         * tests/test-mbscasestr4.c: New file.
73719         * m4/locale-tr.m4: New file.
73720
73721 2007-02-11  Bruno Haible  <bruno@clisp.org>
73722
73723         Ensure O(n) worst-case complexity of mbsstr.
73724         * lib/mbsstr.c: Include stdbool.h.
73725         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73726         functions.
73727         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
73728         bookkeeping indicates that it's worth it.
73729         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
73730
73731         * modules/mbsstr-tests: New file.
73732         * tests/test-mbsstr1.c: New file.
73733         * tests/test-mbsstr2.sh: New file.
73734         * tests/test-mbsstr2.c: New file.
73735         * tests/test-mbsstr3.sh: New file.
73736         * tests/test-mbsstr3.c: New file.
73737         * m4/locale-fr.m4: New file.
73738
73739 2007-02-11  Bruno Haible  <bruno@clisp.org>
73740
73741         * lib/mbsrchr.c (mbsrchr): Fix bug.
73742
73743         * modules/mbsrchr-tests: New file.
73744         * tests/test-mbsrchr.sh: New file.
73745         * tests/test-mbsrchr.c: New file.
73746
73747 2007-02-11  Bruno Haible  <bruno@clisp.org>
73748
73749         * lib/mbschr.c (mbschr): Fix bug.
73750
73751         * modules/mbschr-tests: New file.
73752         * tests/test-mbschr.sh: New file.
73753         * tests/test-mbschr.c: New file.
73754         * m4/locale-zh.m4: New file.
73755
73756 2007-02-11  Bruno Haible  <bruno@clisp.org>
73757
73758         Support for copying multibyte string iterators.
73759         * lib/mbiter.h: Include <string.h>.
73760         (mbiter_multi_copy): New function.
73761         (mbi_copy): New macro.
73762         * lib/mbuiter.h: Include <string.h>.
73763         (mbuiter_multi_copy): New function.
73764         (mbui_copy): New macro.
73765
73766 2007-02-11  Bruno Haible  <bruno@clisp.org>
73767
73768         New module mbslen.
73769         * modules/mbslen: New file.
73770         * lib/mbslen.c: New file.
73771         * lib/string_.h (mbslen): New declaration.
73772         * m4/mbslen.m4: New file.
73773         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73774         GNULIB_MBSLEN.
73775         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
73776         * MODULES.html.sh (Internationalization functions): Add mbslen.
73777
73778 2007-02-11  Bruno Haible  <bruno@clisp.org>
73779
73780         Ensure O(n) worst-case complexity of strcasestr substitute.
73781         * lib/strcasestr.c: Include stdbool.h.
73782         (knuth_morris_pratt): New function.
73783         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73784         bookkeeping indicates that it's worth it.
73785         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
73786
73787         * modules/strcasestr-tests: New file.
73788         * tests/test-strcasestr.c: New file.
73789
73790 2007-02-11  Bruno Haible  <bruno@clisp.org>
73791
73792         Ensure O(n) worst-case complexity of c_strcasestr.
73793         * lib/c-strcasestr.c: Include stdbool.h, string.h.
73794         (knuth_morris_pratt): New function.
73795         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
73796         the bookkeeping indicates that it's worth it.
73797         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
73798
73799         * modules/c-strcasestr-tests: New file.
73800         * tests/test-c-strcasestr.c: New file.
73801
73802 2007-02-11  Bruno Haible  <bruno@clisp.org>
73803
73804         Ensure O(n) worst-case complexity of c_strstr.
73805         * lib/c-strstr.c: Include stdbool.h, string.h.
73806         (knuth_morris_pratt): New function.
73807         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73808         bookkeeping indicates that it's worth it.
73809         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
73810
73811         * lib/c-strstr.c: Complete rewrite for maintainability.
73812
73813         * modules/c-strstr-tests: New file.
73814         * tests/test-c-strstr.c: New file.
73815
73816 2007-02-11  Bruno Haible  <bruno@clisp.org>
73817
73818         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
73819         5.2.1 and earlier, whereby \055 was treated just like the range
73820         delimiter '-'.
73821         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
73822
73823 2007-02-08  Bruno Haible  <bruno@clisp.org>
73824
73825         * modules/regex (Depends-on): Add stdbool.
73826         Reported by Dalibor Topic <robilad@kaffe.org>.
73827
73828 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
73829
73830         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
73831         Prefer returning from main to exiting from it.
73832         Remove unnecessary parens after sizeof.
73833
73834 2007-02-05  Bruno Haible  <bruno@clisp.org>
73835
73836         New module mbssep.
73837         * modules/mbssep: New file.
73838         * lib/mbssep.c: New file.
73839         * lib/string_.h (strsep): Add a conditional link warning.
73840         (mbssep): New declaration.
73841         * m4/mbssep.m4: New file.
73842         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73843         GNULIB_MBSSEP.
73844         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
73845         * MODULES.html.sh (Internationalization functions): Add mbssep.
73846
73847 2007-02-05  Bruno Haible  <bruno@clisp.org>
73848
73849         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
73850         Optimize search in case of 1 delimiter.
73851
73852 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73853
73854         * lib/acl.h: Include sys/types.h before sys/acl.h.
73855
73856 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73857
73858         Merge upstream fix for glibc bugzilla #3957:
73859
73860         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
73861
73862         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
73863         bit for RE_HAT_LISTS_NOT_NEWLINE.
73864         (build_charclass_op): Remove bogus comment.
73865
73866 2007-02-05  Simon Josefsson  <simon@josefsson.org>
73867
73868         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
73869
73870 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73871
73872         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
73873         * lib/memmem.c [!defined _LIBC]: Include config.h.
73874
73875 2007-02-04  Bruno Haible  <bruno@clisp.org>
73876
73877         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
73878         warning message.
73879
73880 2007-02-04  Bruno Haible  <bruno@clisp.org>
73881
73882         New module mbstok_r.
73883         * modules/mbstok_r: New file.
73884         * lib/mbstok_r.c: New file.
73885         * lib/string_.h (strtok_r): Change argument names to match the
73886         comments. Add a conditional link warning.
73887         (mbstok_r): New declaration.
73888         * m4/mbstok_r.m4: New file.
73889         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73890         GNULIB_MBSTOK_R.
73891         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
73892         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
73893
73894 2007-02-04  Bruno Haible  <bruno@clisp.org>
73895
73896         New module mbsspn.
73897         * modules/mbsspn: New file.
73898         * lib/mbsspn.c: New file.
73899         * lib/string_.h (strspn): Add a conditional link warning.
73900         (mbsspn): New declaration.
73901         * m4/mbsspn.m4: New file.
73902         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73903         GNULIB_MBSSPN.
73904         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
73905         * MODULES.html.sh (Internationalization functions): Add mbsspn.
73906
73907 2007-02-04  Bruno Haible  <bruno@clisp.org>
73908
73909         New module mbspbrk.
73910         * modules/mbspbrk: New file.
73911         * lib/mbspbrk.c: New file.
73912         * lib/string_.h (strpbrk): Add a conditional link warning.
73913         (mbspbrk): New declaration.
73914         * m4/mbspbrk.m4: New file.
73915         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73916         GNULIB_MBSPBRK.
73917         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
73918         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
73919
73920 2007-02-04  Bruno Haible  <bruno@clisp.org>
73921
73922         New module mbscspn.
73923         * modules/mbscspn: New file.
73924         * lib/mbscspn.c: New file.
73925         * lib/string_.h (strcspn): Add a conditional link warning.
73926         (mbscspn): New declaration.
73927         * m4/mbscspn.m4: New file.
73928         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73929         GNULIB_MBSCSPN.
73930         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
73931         * MODULES.html.sh (Internationalization functions): Add mbscspn.
73932
73933 2007-02-04  Bruno Haible  <bruno@clisp.org>
73934
73935         New module mbscasestr, reduced goal of strcasestr.
73936         * modules/mbscasestr: New file.
73937         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
73938         (mbscasestr): Renamed from strcasestr.
73939         * lib/strcasestr.c: Don't include mbuiter.h.
73940         (strcasestr): Remove support for multibyte locales.
73941         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
73942         Change the conditional link warning.
73943         (mbscasestr): New declaration.
73944         * m4/mbscasestr.m4: New file.
73945         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
73946         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
73947         REPLACE_STRCASESTR.
73948         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
73949         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73950         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73951         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
73952         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
73953         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73954         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
73955         (Depends-on): Remove mbuiter.
73956         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
73957
73958 2007-02-04  Bruno Haible  <bruno@clisp.org>
73959
73960         Simplify handling of strncasecmp.
73961         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
73962         the conditional link warning.
73963         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73964         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
73965         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
73966         * modules/strcase (configure.ac): Don't invoke
73967         gl_STRING_MODULE_INDICATOR.
73968         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
73969
73970 2007-02-04  Bruno Haible  <bruno@clisp.org>
73971
73972         New module mbscasecmp, reduced goal of strcasecmp.
73973         * modules/mbscasecmp: New file.
73974         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
73975         (mbscasecmp): Renamed from strcasecmp.
73976         * lib/strcasecmp.c: Don't include mbuiter.h.
73977         (strcasecmp): Remove support for multibyte locales.
73978         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
73979         Change the conditional link warning.
73980         (mbscasecmp): New declaration.
73981         * m4/mbscasecmp.m4: New file.
73982         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
73983         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
73984         REPLACE_STRCASECMP.
73985         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
73986         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73987         GNULIB_MBSCASECMP.
73988         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
73989         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
73990         * modules/strcase (Files): Remove m4/mbrtowc.m4.
73991         (Depends-on): Remove mbuiter.
73992         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
73993
73994 2007-02-04  Bruno Haible  <bruno@clisp.org>
73995
73996         New module mbsstr. Remove module strstr.
73997         * modules/mbsstr: New file.
73998         * modules/strstr: Remove file.
73999         * lib/mbsstr.c: Renamed from lib/strstr.c.
74000         (mbsstr): Renamed from strstr.
74001         * lib/string_.h (strstr): Remove declaration. Change the conditional
74002         link warning.
74003         (mbsstr): New declaration.
74004         * m4/mbsstr.m4: New file.
74005         * m4/strstr.m4: Remove file.
74006         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
74007         REPLACE_STRSTR.
74008         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
74009         Don't initialize GNULIB_STRSTR.
74010         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
74011         substitute GNULIB_STRSTR and REPLACE_STRSTR.
74012         * MODULES.html.sh (Internationalization functions): Add mbsstr.
74013         (Support for systems lacking ANSI C 89): Remove strstr.
74014
74015 2007-02-04  Bruno Haible  <bruno@clisp.org>
74016
74017         New module mbsrchr.
74018         * modules/mbsrchr: New file.
74019         * lib/mbsrchr.c: New file.
74020         * lib/string_.h (strrchr): Add a conditional link warning.
74021         (mbsrchr): New declaration.
74022         * m4/mbsrchr.m4: New file.
74023         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74024         GNULIB_MBSRCHR.
74025         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
74026         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
74027
74028 2007-02-04  Bruno Haible  <bruno@clisp.org>
74029
74030         New module mbschr.
74031         * modules/mbschr: New file.
74032         * lib/mbschr.c: New file.
74033         * lib/string_.h (strchr): Add a conditional link warning.
74034         (mbschr): New declaration.
74035         * m4/mbschr.m4: New file.
74036         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
74037         GNULIB_MBSCHR.
74038         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
74039         * MODULES.html.sh (Internationalization functions): Add mbschr.
74040
74041 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
74042
74043         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
74044
74045         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
74046
74047 2007-02-04  Bruno Haible  <bruno@clisp.org>
74048
74049         New module description section 'configure.ac-early'.
74050         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
74051         (func_get_autoconf_early_snippet): New function.
74052         (func_import, func_create_testdir): Use it. Remove special cases for
74053         modules 'extensions' and 'lock'.
74054         * modules/extensions (configure.ac-early): Require
74055         gl_USE_SYSTEM_EXTENSIONS.
74056         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
74057
74058 2007-02-04  Bruno Haible  <bruno@clisp.org>
74059
74060         Make use of gcj-4.3's -fsource and -ftarget option.
74061         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
74062         and if so try the options -fsource and -ftarget.
74063         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
74064         source_version, ftarget_option, target_version arguments.
74065         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
74066         (is_envjavac_oldgcj_14_14_usable): Renamed from
74067         is_envjavac_gcj_14_14_usable.
74068         (is_envjavac_oldgcj_14_13_usable): Renamed from
74069         is_envjavac_gcj_14_13_usable.
74070         (is_gcj_present): Update.
74071         (is_gcj_43, is_gcj43_usable): New functions.
74072         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
74073         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
74074         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
74075         try the options -fsource and -ftarget.
74076
74077 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
74078
74079         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
74080         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
74081         larger value.
74082
74083 2007-02-03  Jim Meyering  <jim@meyering.net>
74084
74085         Give tools a better chance to allocate space for very large buffers.
74086         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
74087
74088         Make pwd and readlink work also when run with an unreadable parent dir
74089         on systems with openat support.
74090         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
74091         provided getcwd function, even when we have openat support.
74092         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
74093
74094 2007-02-02  Bruno Haible  <bruno@clisp.org>
74095
74096         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
74097         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
74098         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
74099         portability problems if one of these functions is only used on specific
74100         platforms.
74101         Reported by Paul Eggert.
74102
74103 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
74104
74105         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
74106         is causing more trouble than it's curing.
74107         * lib/regex_internal.h (__mempcpy): Remove.
74108         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
74109         (and make the code a tad smaller to boot).
74110         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
74111
74112 2007-02-02  Jim Meyering  <jim@meyering.net>
74113
74114         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
74115         section, not in the Makefile.am: one.
74116
74117 2007-02-02  Eric Blake  <ebb9@byu.net>
74118
74119         * lib/strchrnul.c: Always include config.h first.
74120
74121         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
74122         gnulib strstr is not necessary here.
74123
74124 2007-02-02  Simon Josefsson  <simon@josefsson.org>
74125
74126         * m4/socklen.m4: Fix typo.
74127
74128 2007-02-02  Eric Blake  <ebb9@byu.net>
74129
74130         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
74131         * modules/netinet_in (Makefile.am): Likewise.
74132
74133 2007-02-01  Bruno Haible  <bruno@clisp.org>
74134
74135         * lib/string_.h (GL_LINK_WARNING): New macro.
74136         (strcasecmp, strstr, strcasestr): If provided by the system,
74137         conditionally define as a macro that leads to a warning instead of to
74138         an error.
74139         (strncasecmp): Conditionally define as a macro that leads to a warning.
74140
74141 2007-02-01  Karl Berry  <karl@gnu.org>
74142
74143         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
74144
74145 2007-02-01  Bruno Haible  <bruno@clisp.org>
74146
74147         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
74148         renamings.
74149
74150 2007-02-01  Eric Blake  <ebb9@byu.net>
74151
74152         * modules/regex (Depends-on): Revert dependence on mempcpy.
74153         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
74154         module's definition of mempcpy.
74155         Reported by Paul Eggert.
74156
74157 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
74158
74159         * lib/string_.h: If the gnulib module XYZ is not present, undefine
74160         the symbol XYZ before redefining it.  This fixes a problem with
74161         programs that don't use XYZ, when compiled on systems that define
74162         XYZ to something else.
74163
74164 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
74165
74166         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
74167         occurs when "mkdir -m foo" creates a setgid directory that is (1)
74168         writeable to group or other and (2) is intended to have a special
74169         mode bit that is set or cleared.  In such a case, the directory
74170         should be neither group- nor other-writeable until the special
74171         mode bits are right.
74172
74173 2007-01-31  Eric Blake  <ebb9@byu.net>
74174
74175         * modules/mountlist (Depends-on): Add strstr.
74176
74177         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
74178         bug.
74179         * modules/string (Makefile.am): Remove redundant replacement.
74180         * modules/regex (Depends-on): Add mempcpy.
74181
74182 2007-01-31  Bruno Haible  <bruno@clisp.org>
74183
74184         New module description field 'Link'.
74185         * gnulib-tool (func_usage): Document --extract-link-directive.
74186         (sed_extract_prog): Recognize 'Link' directive.
74187         (func_get_link_directive): New function.
74188         (func_import): Show summary of link directives.
74189         Handle --extract-link-directive option.
74190         * modules/acl (Link): New section.
74191         * modules/clock-time (Link): New section.
74192         * modules/euidaccess (Link): New section.
74193         * modules/gettext (Link): New section.
74194         * modules/iconv (Link): New section.
74195         * modules/lock (Link): New section.
74196         * modules/nanosleep (Link): New section.
74197         * modules/readline (Link): New section.
74198
74199 2007-01-27  Bruno Haible  <bruno@clisp.org>
74200
74201         Enforce the use of gnulib modules for unportable <string.h> functions.
74202         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
74203         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
74204         (gl_HEADER_STRING_H_BODY): Require it.
74205         * lib/string_.h: If the gnulib module XYZ is not present, redefine
74206         the symbol XYZ to one that gives a link error.
74207         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
74208         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
74209         * modules/mempcpy (configure.ac): Likewise.
74210         * modules/memrchr (configure.ac): Likewise.
74211         * modules/stpcpy (configure.ac): Likewise.
74212         * modules/stpncpy (configure.ac): Likewise.
74213         * modules/strcase (configure.ac): Likewise.
74214         * modules/strcasestr (configure.ac): Likewise.
74215         * modules/strchrnul (configure.ac): Likewise.
74216         * modules/strdup (configure.ac): Likewise.
74217         * modules/strndup (configure.ac): Likewise.
74218         * modules/strnlen (configure.ac): Likewise.
74219         * modules/strpbrk (configure.ac): Likewise.
74220         * modules/strsep (configure.ac): Likewise.
74221         * modules/strstr (configure.ac): Likewise.
74222         * modules/strtok_r (configure.ac): Likewise.
74223
74224 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
74225
74226         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
74227
74228 2007-01-30  Jim Meyering  <jim@meyering.net>
74229
74230         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
74231
74232 2007-01-29  Bruno Haible  <bruno@clisp.org>
74233
74234         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
74235         * lib/execute.c: Likewise.
74236         * lib/pipe.c: Likewise.
74237         * lib/printf-args.h: Likewise.
74238         * lib/printf-args.c: Likewise.
74239         * lib/printf-parse.c: Likewise.
74240         * lib/vasnprintf.c: Likewise.
74241
74242 2007-01-29  Eric Blake  <ebb9@byu.net>
74243
74244         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
74245         declaration.
74246
74247 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
74248
74249         * lib/strptime.h (strptime): Use 'restrict' for args where
74250         POSIX requires this.
74251         * lib/strptime.c (strptime): Likewise.
74252         Change license notice from LGPL to GPL, since gnulib-tool will
74253         change this as needed.
74254         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
74255         defined.
74256         Include "strptime.h" first, to check interface.
74257         Do not #undef _LIBC and _NL_CURRENT.
74258         Do not include <stdlib.h>; no longer needed.
74259         Include "time_r.h" and declare ptime_locale_status
74260         only if _LIBC is not defined.
74261         (__P): Remove unused macro.
74262         (match_string): Bring back glibc version, but use it only if _LIBC
74263         is defined.
74264         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
74265         Remove unnecessary assertion and abort() call.
74266         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
74267         * m4/strptime.m4: Fix serial number comment.
74268         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
74269         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
74270         (Depends-on): Add time_r.
74271
74272 2007-01-29  Bruno Haible  <bruno@clisp.org>
74273
74274         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74275         strptime.
74276         * modules/strptime (Depends-on): Add stdbool.
74277         * lib/strptime.h: Include <time.h> always. Add comments.
74278
74279 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74280
74281         * modules/strptime: New file.
74282         * lib/strptime.h: New file.
74283         * lib/strptime.c: New file.
74284         * m4/strptime.m4: New file.
74285
74286 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
74287
74288         * MODULES.html.sh: New module mpsort.
74289         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
74290
74291         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
74292         a circularity problem with HP-UX ia64 reported by Bob Proulx in
74293         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
74294         All uses changed.
74295         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
74296         All uses changed.
74297         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
74298         to _Restrict_.
74299         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
74300         the parameter matches the prototype.
74301
74302 2007-01-28  Jim Meyering  <jim@meyering.net>
74303
74304         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
74305         sys/time.h here, reverting that part of the previous patch:
74306         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
74307
74308 2007-01-28  Bruno Haible  <bruno@clisp.org>
74309
74310         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
74311         value of $(SYS_TIME_H).
74312         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
74313         remove it conditionally, too. [added by Jim Meyering]
74314         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
74315         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74316         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
74317         GETTIMEOFDAY_REPLACEMENT to 1.
74318
74319 2007-01-28  Bruno Haible  <bruno@clisp.org>
74320
74321         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
74322         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
74323         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
74324         Set UNISTD_H instead of UNISTD_H2.
74325         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
74326
74327 2007-01-28  Bruno Haible  <bruno@clisp.org>
74328
74329         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
74330         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
74331
74332 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74333
74334         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
74335         (func_create_testdir): Ensure C locale for `grep' and `tr'
74336         character ranges.
74337         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
74338         ACLOCAL_AMFLAGS parsing state machine.
74339
74340 2007-01-27  Bruno Haible  <bruno@clisp.org>
74341
74342         * modules/unistr/base: Update.
74343
74344 2007-01-27  Bruno Haible  <bruno@clisp.org>
74345
74346         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
74347         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
74348         * modules/unistr/u32-mbtouc-unsafe: Renamed from
74349         modules/unistr/u32-mbtouc.
74350         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
74351         * lib/unistr.h: Update.
74352         * lib/linebreak.c: Update.
74353         * modules/unistr/u32-mbtouc: Renamed from
74354         modules/unistr/u32-mbtouc-safe.
74355         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
74356         * lib/unistr.h: Update.
74357         * lib/unistr/u32-to-u8.c: Update.
74358         * lib/unistr/u32-to-u16.c: Update.
74359
74360 2007-01-27  Bruno Haible  <bruno@clisp.org>
74361
74362         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
74363         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
74364         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
74365         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
74366         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
74367         * modules/unistr/u16-mbtouc-unsafe: Renamed from
74368         modules/unistr/u16-mbtouc.
74369         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
74370         * lib/unistr.h: Update.
74371         * lib/linebreak.c: Update.
74372         * modules/linebreak: Update.
74373         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
74374         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
74375         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
74376         * modules/unistr/u16-mbtouc: Renamed from
74377         modules/unistr/u16-mbtouc-safe.
74378         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
74379         * lib/unistr.h: Update.
74380         * lib/unistr/u16-to-u8.c: Update.
74381         * modules/unistr/u16-to-u8: Update.
74382         * lib/unistr/u16-to-u32.c: Update.
74383         * modules/unistr/u16-to-u32: Update.
74384
74385 2007-01-27  Bruno Haible  <bruno@clisp.org>
74386
74387         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
74388         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
74389         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
74390         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
74391         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
74392         * modules/unistr/u8-mbtouc-unsafe: Renamed from
74393         modules/unistr/u8-mbtouc.
74394         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
74395         * lib/unistr.h: Update.
74396         * lib/striconveh.c: Update.
74397         * modules/striconveh: Update.
74398         * lib/linebreak.c: Update.
74399         * modules/linebreak: Update.
74400         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
74401         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
74402         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
74403         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
74404         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
74405         * lib/unistr.h: Update.
74406         * lib/striconveh.c: Update.
74407         * modules/striconveh: Update.
74408         * lib/unistr/u8-to-u16.c: Update.
74409         * modules/unistr/u8-to-u16: Update.
74410         * lib/unistr/u8-to-u32.c: Update.
74411         * modules/unistr/u8-to-u32: Update.
74412
74413 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74414
74415         Sync from Libtool.
74416         * lib/argz.c: Do not include strings.h nor memory.h, include
74417         string.h unconditionally.  Patch by Simon Josefsson.
74418
74419 2007-01-27  Bruno Haible  <bruno@clisp.org>
74420
74421         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
74422         from gl_HEADER_STRING_H_BODY.
74423         (gl_HEADER_STRING_H_BODY): Require it.
74424         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
74425         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
74426         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
74427         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
74428         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
74429         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
74430         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
74431         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
74432         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
74433         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
74434         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
74435         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
74436         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
74437         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
74438         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
74439
74440 2007-01-27  Bruno Haible  <bruno@clisp.org>
74441
74442         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
74443         check_PROGRAMS into noinst_PROGRAMS.
74444         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
74445         check_PROGRAMS in this case.
74446         (func_import): Set for_test to false.
74447         (func_create_testdir): Set for_test to true.
74448
74449 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
74450             Bruno Haible  <bruno@clisp.org>
74451
74452         * modules/strcasestr (Files): Remove lib/strcasestr.h.
74453         (Depends-on): Add string.
74454         (Includes): Use <string.h> instead of strcasestr.h.
74455         * modules/string (Makefile.am): Also substitute the value of
74456         REPLACE_STRCASESTR.
74457         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
74458         assume strcasestr is declared in <string.h> not <strings.h>. Also
74459         set REPLACE_STRCASESTR.
74460         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
74461         REPLACE_STRCASESTR.
74462         * lib/strcasestr.h: Remove file.
74463         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
74464         * lib/string_.h (strcasestr): New declaration.
74465
74466 2007-01-27  Bruno Haible  <bruno@clisp.org>
74467
74468         * lib/string_.h: Use 'extern'.
74469
74470 2007-01-27  Jim Meyering  <jim@meyering.net>
74471
74472         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
74473         of set-but-not-used local, "q".
74474
74475         * lib/mempcpy.c: Include <config.h> before <string.h>.
74476         This fixes a compilation error on HP-UX, due to the system's
74477         "restrict"-using mempcpy prototype.
74478
74479 2007-01-26  Bruno Haible  <bruno@clisp.org>
74480
74481         Small optimization.
74482         * lib/javacomp.c: Include c-strstr.h.
74483          (is_envjavac_gcj): Use c_strstr instead of strstr.
74484         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
74485
74486 2007-01-26  Bruno Haible  <bruno@clisp.org>
74487
74488         * MODULES.html.sh (Unicode string functions): Add the new modules.
74489
74490         * modules/uniconv/u32-strconv-to-locale: New file.
74491         * lib/uniconv/u32-strconv-to-locale.c: New file.
74492
74493         * modules/uniconv/u16-strconv-to-locale: New file.
74494         * lib/uniconv/u16-strconv-to-locale.c: New file.
74495
74496         * modules/uniconv/u8-strconv-to-locale: New file.
74497         * lib/uniconv/u8-strconv-to-locale.c: New file.
74498
74499         * modules/uniconv/u32-strconv-from-locale: New file.
74500         * lib/uniconv/u32-strconv-from-locale.c: New file.
74501
74502         * modules/uniconv/u16-strconv-from-locale: New file.
74503         * lib/uniconv/u16-strconv-from-locale.c: New file.
74504
74505         * modules/uniconv/u8-strconv-from-locale: New file.
74506         * lib/uniconv/u8-strconv-from-locale.c: New file.
74507
74508         * modules/uniconv/u32-strconv-to-enc: New file.
74509         * lib/uniconv/u32-strconv-to-enc.c: New file.
74510         * modules/uniconv/u32-strconv-to-enc-tests: New file.
74511         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
74512
74513         * modules/uniconv/u16-strconv-to-enc: New file.
74514         * lib/uniconv/u16-strconv-to-enc.c: New file.
74515         * lib/uniconv/u-strconv-to-enc.h: New file.
74516         * modules/uniconv/u16-strconv-to-enc-tests: New file.
74517         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
74518
74519         * modules/uniconv/u8-strconv-to-enc: New file.
74520         * lib/uniconv/u8-strconv-to-enc.c: New file.
74521         * modules/uniconv/u8-strconv-to-enc-tests: New file.
74522         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
74523
74524         * modules/uniconv/u32-strconv-from-enc: New file.
74525         * lib/uniconv/u32-strconv-from-enc.c: New file.
74526         * modules/uniconv/u32-strconv-from-enc-tests: New file.
74527         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
74528
74529         * modules/uniconv/u16-strconv-from-enc: New file.
74530         * lib/uniconv/u16-strconv-from-enc.c: New file.
74531         * modules/uniconv/u16-strconv-from-enc-tests: New file.
74532         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
74533
74534         * modules/uniconv/u8-strconv-from-enc: New file.
74535         * lib/uniconv/u8-strconv-from-enc.c: New file.
74536         * lib/uniconv/u-strconv-from-enc.h: New file.
74537         * modules/uniconv/u8-strconv-from-enc-tests: New file.
74538         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
74539
74540         * modules/uniconv/u32-conv-from-enc: New file.
74541         * lib/uniconv/u32-conv-from-enc.c: New file.
74542         * modules/uniconv/u32-conv-from-enc-tests: New file.
74543         * tests/uniconv/test-u32-conv-from-enc.c: New file.
74544
74545         * modules/uniconv/u16-conv-from-enc: New file.
74546         * lib/uniconv/u16-conv-from-enc.c: New file.
74547         * lib/uniconv/u-conv-from-enc.h: New file.
74548         * modules/uniconv/u16-conv-from-enc-tests: New file.
74549         * tests/uniconv/test-u16-conv-from-enc.c: New file.
74550
74551         * modules/uniconv/u8-conv-from-enc: New file.
74552         * lib/uniconv/u8-conv-from-enc.c: New file.
74553         * modules/uniconv/u8-conv-from-enc-tests: New file.
74554         * tests/uniconv/test-u8-conv-from-enc.c: New file.
74555
74556         * modules/uniconv/base: New file.
74557         * lib/uniconv.h: New file.
74558
74559 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
74560
74561         * doc/gnulib-tool.texi (Initial import): Update to match current
74562         behavior with strdup module.
74563         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
74564         * lib/memmem.h: Remove; all uses removed.  This is now done
74565         by <string.h>.
74566         * lib/mempcpy.h: Likewise.
74567         * lib/memrchr.h: Likewise.
74568         * lib/stpcpy.h: Likewise.
74569         * lib/stpncpy.h: Likewise.
74570         * lib/strcase.h: Likewise.
74571         * lib/strchrnul.h: Likewise.
74572         * lib/strdup.h: Likewise.
74573         * lib/strndup.h: Likewise.
74574         * lib/strnlen.h: Likewise.
74575         * lib/strpbrk.h: Likewise.
74576         * lib/strsep.h: Likewise.
74577         * lib/strstr.h: Likewise.
74578         * lib/strtok_r.h: Likewise.
74579         * lib/string_.h: New file.
74580         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
74581         Rely on <string.h> instead.
74582         * lib/canon-host.c: Likewise.
74583         * lib/chdir-long.c: Likewise.
74584         * lib/concatpath.c: Likewise.
74585         * lib/exclude.c: Likewise.
74586         * lib/fchdir.c: Likewise.
74587         * lib/getaddrinfo.c: Likewise.
74588         * lib/getcwd.c: Likewise.
74589         * lib/getsubopt.c: Likewise.
74590         * lib/glob.c: Likewise.
74591         * lib/hard-locale.c: Likewise.
74592         * lib/iconvme.c: Likewise.
74593         * lib/javacomp.c: Likewise.
74594         * lib/mempcpy.c: Likewise.
74595         * lib/memrchr.c: Likewise.
74596         * lib/regex_internal.h: Likewise.
74597         * lib/stpncpy.c: Likewise.
74598         * lib/strcasecmp.c: Likewise.
74599         * lib/strchrnul.c: Likewise.
74600         * lib/strdup.c: Likewise.
74601         * lib/striconv.c: Likewise.
74602         * lib/striconveh.c: Likewise.
74603         * lib/striconveha.c: Likewise.
74604         * lib/strncasecmp.c: Likewise.
74605         * lib/strndup.c: Likewise.
74606         * lib/strnlen.c: Likewise.
74607         * lib/strsep.c: Likewise.
74608         * lib/strstr.c: Likewise.
74609         * lib/strtok_r.c: Likewise.
74610         * lib/userspec.c: Likewise.
74611         * lib/w32spawn.h: Likewise.
74612         * lib/xstrndup.c: Likewise.
74613         * lib/mountlist.c (strstr): Remove decl.
74614         * m4/string_h.m4: New file.
74615         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
74616         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
74617         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
74618         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
74619         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
74620         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
74621         Set REPLACE_STRCASECMP if necessary.
74622         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
74623         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
74624         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
74625         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
74626         HAVE_DECL_STRDUP if necessary.
74627         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
74628         since gl_FUNC_STRNDUP does that now.
74629         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
74630         Check for decl here...
74631         (gl_PREREQ_STRNLEN): ... not here.
74632         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
74633         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
74634         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
74635         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
74636         necessary.
74637         * modules/string: New file.
74638         * modules/memmem (Files): Remove special-purpose include file.
74639         (Depends-on): Add string.
74640         (Include): Include <string.h>, not the removed file.
74641         * modules/mempcpy: Likewise.
74642         * modules/memrchr: Likewise.
74643         * modules/stpcpy: Likewise.
74644         * modules/stpncpy: Likewise.
74645         * modules/strcase: Likewise.
74646         * modules/strchrnul: Likewise.
74647         * modules/strdup: Likewise.
74648         * modules/strndup: Likewise.
74649         * modules/strnlen: Likewise.
74650         * modules/strpbrk: Likewise.
74651         * modules/strsep: Likewise.
74652         * modules/strstr: Likewise.
74653         * modules/strtok_r: Likewise.
74654         * tests/test-dirname.c: Don't include "strdup.h", since
74655         <string.h> now suffices.
74656         * tests/test-memmem.c: Don't include "memmem.h", since
74657         <string.h> now suffices.
74658
74659 2007-01-25  Bruno Haible  <bruno@clisp.org>
74660
74661         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
74662         *resultp is 0.
74663
74664         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
74665         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
74666         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
74667         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
74668
74669         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
74670         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
74671         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
74672         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
74673         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
74674         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
74675
74676 2007-01-24  Bruno Haible  <bruno@clisp.org>
74677
74678         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
74679         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
74680         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
74681         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
74682         gl_FUNC_FTS_CORE.
74683         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
74684         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
74685         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
74686         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
74687         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
74688         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
74689         gl_FUNC_FCHOWNAT.
74690         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
74691         gl_FUNC_STRFTIME.
74692         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
74693         Reported by Ralf Wildenhues.
74694
74695 2007-01-24  Bruno Haible  <bruno@clisp.org>
74696
74697         Drop AC_REQUIRE calls that are redundant with the module dependencies.
74698         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
74699         gl_GETADDRINFO.
74700         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
74701         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
74702         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
74703
74704 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
74705
74706         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
74707         Don't use 'exit'; just return from 'main'.
74708         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
74709
74710         * lib/fnmatch_.h: Readjust white space and comments to match
74711         glibc, to avoid spurious diffs.
74712
74713 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74714
74715         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
74716         2004-12-01 change by Jakub Jelinek, since this code won't compile
74717         if !LIBC.  Problem reported by Bob Proulx.
74718
74719 2007-01-23  Bruno Haible  <bruno@clisp.org>
74720
74721         * lib/striconveh.c: Include c-strcaseeq.h.
74722         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
74723         * modules/striconveh (Depends-on): Add c-strcaseeq.
74724
74725 2007-01-23  Bruno Haible  <bruno@clisp.org>
74726
74727         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
74728
74729         * modules/c-strcaseeq: New file.
74730         * lib/c-strcaseeq.h: New file.
74731
74732         * modules/streq: New file.
74733         * lib/streq.h: New file.
74734
74735 2007-01-23  Bruno Haible  <bruno@clisp.org>
74736
74737         * modules/striconveha-tests: New file.
74738         * tests/test-striconveha.c: New file.
74739
74740         * lib/striconveha.h: Include <stdbool.h>.
74741         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
74742         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
74743         (mem_iconveha_notranslit): Renamed from mem_iconveha.
74744         (mem_iconveha): New function.
74745         (str_iconveha_notranslit): Renamed from str_iconveha.
74746         (str_iconveha): New function.
74747         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
74748         c-strcase.
74749
74750 2007-01-23  Bruno Haible  <bruno@clisp.org>
74751
74752         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
74753         encodings without forgiving before trying any encoding with handler.
74754         (str_iconveha): Try all encodings without forgiving before trying any
74755         encoding with handler.
74756
74757 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74758
74759         Import the following changes from libc.
74760
74761         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
74762
74763         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
74764
74765         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
74766
74767         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
74768         normal_bracket label.
74769
74770         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
74771
74772         [BZ #361]
74773         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
74774         to normal_bracket after fetching the next character.
74775
74776 2007-01-22  Bruno Haible  <bruno@clisp.org>
74777
74778         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
74779         argument.
74780         * lib/striconveh.c (iconv_carefully_1): New function.
74781         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
74782         argument.
74783         (str_cd_iconveh): Update.
74784         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
74785         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
74786         * tests/test-striconveh.c (MAGIC): New macro.
74787         (new_offsets): New function.
74788         (main): Test call with and without offsets.
74789
74790 2007-01-22  Bruno Haible  <bruno@clisp.org>
74791
74792         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
74793         * modules/sys_select (Makefile.am): Likewise.
74794         * modules/sys_socket (Makefile.am): Likewise.
74795         * modules/sys_time (Makefile.am): Likewise.
74796
74797 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
74798
74799         * modules/gettimeofday (License): Change from GPL to LGPL, since
74800         gettimeofday is a library function.
74801
74802 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74803
74804         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
74805
74806 2007-01-21  Bruno Haible  <bruno@clisp.org>
74807
74808         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
74809
74810 2007-01-21  Bruno Haible  <bruno@clisp.org>
74811
74812         * modules/striconveha: New file.
74813         * lib/striconveha.h: New file.
74814         * lib/striconveha.c: New file.
74815         * MODULES.html.sh (Internationalization functions): Add striconveha.
74816         * lib/striconv.c (str_iconv): Optimize the case of an empty input
74817         string.
74818         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
74819
74820 2007-01-21  Bruno Haible  <bruno@clisp.org>
74821
74822         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
74823         * lib/striconveh.c (str_iconveh): Likewise.
74824
74825 2007-01-21  Bruno Haible  <bruno@clisp.org>
74826
74827         * lib/striconveh.h (mem_iconveh): New declaration.
74828         * lib/striconveh.c (mem_iconveh): New function.
74829         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
74830
74831 2007-01-21  Bruno Haible  <bruno@clisp.org>
74832
74833         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
74834
74835         * lib/striconveh.h (mem_cd_iconveh): Change specification.
74836         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
74837         original result buffer.
74838         (str_cd_iconveh): Update.
74839         * tests/test-striconveh.c (main): Update.
74840
74841         * lib/striconv.h (mem_cd_iconv): Change specification.
74842         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
74843         result buffer.
74844         (str_cd_iconv): Update.
74845         * tests/test-striconv.c (main): Update.
74846
74847 2007-01-21  Bruno Haible  <bruno@clisp.org>
74848
74849         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
74850
74851 2007-01-20  Jim Meyering  <jim@meyering.net>
74852
74853         * lib/userspec.c (parse_with_separator): If a user or group string
74854         starts with "+", skip the corresponding name-to-ID look-up, since
74855         such a look-up must fail: user and group names may not include "+".
74856
74857 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
74858
74859         * lib/poll.c: Include sys/time.h and time.h unconditionally,
74860         since we now assume the sys_time module.
74861         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
74862         check for sys/time.h; no longer needed.
74863         * modules/poll (Depends-on): Depend on sys_time.
74864
74865 2007-01-18  Bruno Haible  <bruno@clisp.org>
74866
74867         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
74868         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74869
74870         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
74871         gettimeofday.
74872
74873         * tests/test-gettimeofday.c: Include <time.h>.
74874         (dummy): Remove variable.
74875
74876         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
74877         gl_HEADER_SYS_TIME_H.
74878         (gl_HEADER_SYS_TIME_H): New macro.
74879
74880         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
74881         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74882         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
74883         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
74884         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74885         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
74886         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
74887         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74888         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
74889         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
74890         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74891
74892         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
74893         last change; it caused a compilation error when cross-compiling to
74894         Cygwin.
74895
74896 2007-01-18  Jim Meyering  <jim@meyering.net>
74897
74898         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
74899         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
74900         than the race-prone "test -d sys || mkdir sys".
74901         (configure.ac): Use AC_PROG_MKDIR_P.
74902         * modules/sys_select: Likewise.
74903         * modules/sys_socket: Likewise.
74904         * modules/sys_time: Likewise.
74905
74906 2007-01-18  Eric Blake  <ebb9@byu.net>
74907
74908         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
74909         replace gettimeofday.
74910         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
74911         name, to avoid infinite recursion.
74912
74913 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
74914
74915         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
74916         module sys_time.
74917         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
74918         assume timespec.h defines struct timeval.
74919         * lib/settime.c: Likewise.
74920         * lib/utimens.c: Likewise.
74921         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
74922         since we now assume the gettimeofday module.
74923         * lib/tempname.c (__gen_tempname): Likewise.
74924         * lib/gettimeofday.h: Remove.
74925         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
74926         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
74927         Include <time.h>, for 'time()'.
74928         (localtime_buffer_addr): Also use this workaround if
74929         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
74930         to simplify the uses.  All uses changed.
74931         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
74932         that #undef is inside {}, and 'const' follows type name consistently.
74933         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
74934         (gettimeofday): Do not use the maximum possible value for
74935         tv->tv_usec, since that might break usages other than ls.c.
74936         Instead, we'll leave ls.c alone.  This undoes today's patch
74937         by Bruno.  Add a compile-time warning for 1s-clock resolution;
74938         we've never observed the problem but might as well keep the
74939         canary.
74940         * lib/nanosleep.c: Include timespec.h first, for interface check.
74941         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
74942         now assume the sys_time module.
74943         * lib/tempname.c: Likewise.
74944         * lib/timespec.h: Likewise.
74945         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
74946         needed.
74947         * lib/strftime.c: Likewise.
74948         * lib/timespec.h: Likewise.
74949         * lib/posixtm.c: Include posixtm.h first, for interface check.
74950         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
74951         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
74952         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
74953         * lib/sys_time_.h: New file.
74954         * lib/timespec.h (struct timespec): Use long int, not long.
74955         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74956         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
74957         Remove obsolescent call to AC_HEADER_TIME.
74958         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
74959         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74960         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74961         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
74962         Likewise.
74963         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
74964         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
74965         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
74966         into the sys_time module.  Check for gettimeofday just once.
74967         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
74968         for gettimeofday signature to just check the signature.  Merely
74969         compile it, since linking doesn't test signature.  Improve test for
74970         whether gettimeofday.o is actually needed.
74971         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
74972         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
74973         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
74974         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74975         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
74976         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
74977         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
74978         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
74979         than worrying about sys/time.h.
74980         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
74981         Don't bother worrying about TIME_WITH_SYS_TIME.
74982         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
74983         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
74984         * m4/sys_time_h.m4: New file.
74985         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
74986         Don't include sys/time.h.  Return from main rather than exiting.
74987         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
74988         all uses changed.
74989         * modules/gethrxtime (Depends-on): Add sys_time.
74990         * modules/gettime (Depends-on): Likewise.
74991         * modules/gettimeofday (Depends-on): Likewise.
74992         * modules/nanosleep (Depends-on): Likewise.
74993         * modules/settime (Depends-on): Likewise.
74994         * modules/tempname (Depends-on): Likewise.
74995         * modules/utimens (Depends-on): Likewise.
74996         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
74997         (Include): Change back to <sys/time.h>.
74998         (Maintainer): Add self.
74999         * modules/sys_time: New file.
75000         * modules/tempname (Depends-on): Add gettimeofday.
75001         * tests/test-gettimeofday.c: Include <sys/time.h>
75002         rather than gettimeofday.h.
75003
75004 2007-01-17  Bruno Haible  <bruno@clisp.org>
75005
75006         * gnulib-tool (func_get_license): Revert last patch. Instead, let
75007         the license default to GPL.
75008         (func_create_testdir): Don't complain if a module is LGPL and its
75009         tests module depends on GPLed modules.
75010
75011 2007-01-17  Bruno Haible  <bruno@clisp.org>
75012
75013         * lib/gettimeofday.c (gettimeofday): Add code for the case
75014         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
75015         maximum possible value for tv->tv_usec, rather than the minimum one.
75016
75017 2005-10-08  Martin Lambers  <marlam@marlam.de>
75018 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
75019 2007-01-16  Bruno Haible  <bruno@clisp.org>
75020
75021         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
75022         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
75023         gl_FUNC_GETTIMEOFDAY.
75024         (Include): Add gettimeofday.h.
75025         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
75026         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
75027         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
75028         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
75029         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
75030         * lib/gettimeofday.h: New file.
75031         * lib/gettimeofday.c: Include <sys/timeb.h>.
75032         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
75033         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
75034         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
75035         fall back on time().
75036
75037         * tests/test-gettimeofday.c: New file.
75038         * modules/gettimeofday-tests: New file.
75039
75040 2007-01-16  Eric Blake  <ebb9@byu.net>
75041
75042         * modules/fnmatch (Depends-on): Depend on wchar.
75043         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
75044         * m4/fnmatch.m4: Likewise.
75045         * modules/mbchar (Makefile.am): Assume <wchar.h>.
75046         * m4/mbchar.m4: Likewise.
75047         * modules/mbswidth (Depends-on): Depend on wchar.
75048         * lib/mbswidth.c: Assume <wchar.h>.
75049         * m4/mbswidth.m4: Likewise.
75050         * modules/quotearg (Depends-on): Depend on wchar.
75051         * lib/quotearg.c: Assume <wchar.h>.
75052         * m4/quotearg.m4: Likewise.
75053         * modules/regex (Depends-on): Depend on wchar.
75054         * lib/regex_internal.h: Assume <wchar.h>.
75055         * m4/regex.m4: Likewise.
75056         * modules/stdint (Depends-on): Depend on wchar.
75057         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
75058         * m4/stdint.m4: Likewise.
75059         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
75060         * modules/strftime (Depends-on): Depend on wchar.
75061         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
75062         * modules/strtol (Depends-on): Depend on wchar.
75063         * lib/strtol.c: Assume <wchar.h>.
75064         * modules/wcwidth (Depends-on): Depend on wchar.
75065         * lib/wcwidth.h: Assume <wchar.h>.
75066         * m4/wcwidth.m4: Likewise.
75067
75068 2007-01-16  Bruno Haible  <bruno@clisp.org>
75069
75070         * modules/csharpexec-script: New, created from...
75071         * modules/csharpexec: ... this.
75072
75073 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
75074
75075         * modules/javaexec-script: New, created from...
75076         * modules/javaexec: ... this.
75077
75078 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75079
75080         * modules/poll (Dependencies): Add sys_select.
75081
75082 2007-01-15  Jim Meyering  <jim@meyering.net>
75083
75084         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
75085         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
75086         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
75087         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
75088
75089 2007-01-15  Bruno Haible  <bruno@clisp.org>
75090
75091         * modules/striconveh: New file.
75092         * lib/striconveh.h: New file.
75093         * lib/striconveh.c: New file.
75094         * MODULES.html.sh (Internationalization functions): Add striconveh.
75095
75096         * modules/striconveh-tests: New file.
75097         * tests/test-striconveh.c: New file.
75098
75099 2007-01-15  Bruno Haible  <bruno@clisp.org>
75100
75101         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
75102         not from GNU libiconv or GNU libc.
75103
75104 2007-01-15  Bruno Haible  <bruno@clisp.org>
75105
75106         * doc/gnulib-intro.texi (Copyright): Explain the different license
75107         terms for module descriptions, autoconf macros, tests, documentation.
75108
75109 2007-01-14  Bruno Haible  <bruno@clisp.org>
75110
75111         * modules/striconv-tests: New file.
75112         * tests/test-striconv.c: New file.
75113
75114 2007-01-14  Bruno Haible  <bruno@clisp.org>
75115
75116         * modules/iconv-tests: New file.
75117         * tests/test-iconv.c: New file.
75118
75119 2007-01-14  Bruno Haible  <bruno@clisp.org>
75120
75121         * gnulib-tool (func_get_license): For test modules, use the license of
75122         the main module.
75123
75124 2007-01-14  Bruno Haible  <bruno@clisp.org>
75125
75126         * modules/iconv (Include): Clarify that <iconv.h> can only be included
75127         if iconv is found to exist.
75128
75129 2007-01-14  Bruno Haible  <bruno@clisp.org>
75130
75131         * modules/c-ctype-tests: New file.
75132         * tests/test-c-ctype.c: New file.
75133
75134 2007-01-14  Bruno Haible  <bruno@clisp.org>
75135
75136         * modules/binary-io-tests: New file.
75137         * tests/test-binary-io.sh: New file.
75138         * tests/test-binary-io.c: New file.
75139
75140 2007-01-14  Bruno Haible  <bruno@clisp.org>
75141
75142         * modules/array-oset-tests: New file.
75143         * tests/test-array_oset.c: New file.
75144
75145 2007-01-14  Bruno Haible  <bruno@clisp.org>
75146
75147         * modules/array-list-tests: New file.
75148         * tests/test-array_list.c: New file.
75149
75150 2007-01-14  Bruno Haible  <bruno@clisp.org>
75151
75152         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
75153         and make.
75154         Reported by Simon Josefsson in
75155         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
75156
75157 2007-01-14  Bruno Haible  <bruno@clisp.org>
75158
75159         * modules/allocsa-tests: New file.
75160         * tests/test-allocsa.c: New file.
75161
75162 2007-01-14  Bruno Haible  <bruno@clisp.org>
75163
75164         * modules/fchdir (Depends-on): Add absolute-header.
75165         * modules/unistd (Depends-on): Likewise.
75166
75167 2006-12-30  Bruno Haible  <bruno@clisp.org>
75168
75169         * modules/fchdir: New file.
75170         * modules/unistd (Files): Add lib/unistd_.h.
75171         (Makefile.am): Generate unistd.h from unistd_.h.
75172         * lib/fchdir.c: New file.
75173         * lib/dirent_.h: New file.
75174         * lib/unistd_.h: New file.
75175         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
75176         * m4/fchdir.m4: New file.
75177         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
75178         (gl_HEADER_UNISTD): Invoke it.
75179         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
75180         function.
75181         * lib/backupfile.c (opendir, closedir): Undefine.
75182         * lib/chown.c (open, close): Undefine.
75183         * lib/clean-temp.c (open, close): Undefine.
75184         * lib/copy-file.c (open, close): Undefine.
75185         * lib/execute.c (open, close): Undefine.
75186         * lib/fsusage.c (open, close): Undefine.
75187         * lib/gc-gnulib.c (open, close): Undefine.
75188         * lib/getcwd.c (opendir, closedir): Undefine.
75189         * lib/glob.c (opendir, closedir): Undefine.
75190         * lib/javacomp.c (open, close): Undefine.
75191         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
75192         * lib/openat-proc.c (open, close): Undefine.
75193         * lib/pagealign_alloc.c (open, close): Undefine.
75194         * lib/pipe.c (open, close): Undefine.
75195         * lib/progreloc.c (open, close): Undefine.
75196         * lib/savedir.c (opendir, closedir): Undefine.
75197         * lib/utime.c (open, close): Undefine.
75198         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
75199
75200 2007-01-10  Bruno Haible  <bruno@clisp.org>
75201
75202         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
75203
75204 2007-01-12  Eric Blake  <ebb9@byu.net>
75205
75206         Provide a robust <wchar.h>.  Further simplifications are now
75207         possible in other modules, but not included here.
75208         * modules/wchar: New module.
75209         * m4/wchar.m4: New file.
75210         * lib/wchar_.h: Likewise.
75211         * modules/mbchar (Depends-on): Depend on wchar, as the first use
75212         of the new module.
75213         * MODULES.html.sh (Extended multibyte and wide character utilities):
75214         New section.
75215
75216 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
75217
75218         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
75219         to a reasonable default for memory allocation.
75220         (xreadlink): Don't allocate a huge buffer, to work around a buggy
75221         file system that reports garbage st_size values for symlinks.
75222         Problem reported by Liyang Hu.
75223
75224 2007-01-11  Simon Josefsson  <simon@josefsson.org>
75225
75226         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
75227         Emacs .#* auto-save files).
75228
75229 2007-01-11  Bruno Haible  <bruno@clisp.org>
75230
75231         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
75232         directory.
75233
75234 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75235
75236         Use @...@ consistently in lib/wctype_.h.
75237         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
75238         on it being set to 1 or 0.
75239         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
75240         go back to AC_SUBSTing it.
75241         * modules/wctype (Makefile.am): Undo previous change.
75242
75243 2007-01-10  Eric Blake  <ebb9@byu.net>
75244
75245         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
75246         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
75247         * modules/wctype (Makefile.am): Likewise.
75248         Reported by Chris McGuire.
75249
75250 2007-01-10  Jim Meyering  <jim@meyering.net>
75251
75252         fts.c: a small readability/maintainability improvement
75253         * lib/fts.c (fts_read): Make this code slightly more readable and
75254         maintainable by hoisting the "sp->fts_cur = p" assignments to
75255         immediately follow the statements that set P.  Derived from
75256         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
75257
75258 2007-01-10  Eric Blake  <ebb9@byu.net>
75259
75260         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
75261         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
75262         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
75263         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
75264         Reported by Chris McGuire.
75265
75266 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75267
75268         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
75269         in sed script.
75270
75271 2007-01-09  Bruno Haible  <bruno@clisp.org>
75272
75273         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
75274         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
75275         variables.
75276         (func_module): Use them.
75277
75278 2007-01-09  Bruno Haible  <bruno@clisp.org>
75279
75280         * modules/unistr/base: New file.
75281         * lib/unistr.h: New file.
75282
75283         * modules/unistr/u8-to-u16: New file.
75284         * lib/unistr/u8-to-u16.c: New file.
75285
75286         * modules/unistr/u8-to-u32: New file.
75287         * lib/unistr/u8-to-u32.c: New file.
75288
75289         * modules/unistr/u16-to-u8: New file.
75290         * lib/unistr/u16-to-u8.c: New file.
75291
75292         * modules/unistr/u16-to-u32: New file.
75293         * lib/unistr/u16-to-u32.c: New file.
75294
75295         * modules/unistr/u32-to-u8: New file.
75296         * lib/unistr/u32-to-u8.c: New file.
75297
75298         * modules/unistr/u32-to-u16: New file.
75299         * lib/unistr/u32-to-u16.c: New file.
75300
75301         * modules/unistr/u8-check: New file.
75302         * modules/unistr/u16-check: New file.
75303         * modules/unistr/u32-check: New file.
75304         * lib/unistr/u8-check.c: New file.
75305         * lib/unistr/u16-check.c: New file.
75306         * lib/unistr/u32-check.c: New file.
75307
75308         * modules/unistr/u8-chr: New file.
75309         * modules/unistr/u16-chr: New file.
75310         * modules/unistr/u32-chr: New file.
75311         * lib/unistr/u8-chr.c: New file.
75312         * lib/unistr/u16-chr.c: New file.
75313         * lib/unistr/u32-chr.c: New file.
75314
75315         * modules/unistr/u8-cmp: New file.
75316         * modules/unistr/u16-cmp: New file.
75317         * modules/unistr/u32-cmp: New file.
75318         * lib/unistr/u8-cmp.c: New file.
75319         * lib/unistr/u16-cmp.c: New file.
75320         * lib/unistr/u32-cmp.c: New file.
75321
75322         * modules/unistr/u8-cpy: New file.
75323         * modules/unistr/u16-cpy: New file.
75324         * modules/unistr/u32-cpy: New file.
75325         * lib/unistr/u8-cpy.c: New file.
75326         * lib/unistr/u16-cpy.c: New file.
75327         * lib/unistr/u32-cpy.c: New file.
75328         * lib/unistr/u-cpy.h: New file.
75329
75330         * modules/unistr/u8-cpy-alloc: New file.
75331         * modules/unistr/u16-cpy-alloc: New file.
75332         * modules/unistr/u32-cpy-alloc: New file.
75333         * lib/unistr/u8-cpy-alloc.c: New file.
75334         * lib/unistr/u16-cpy-alloc.c: New file.
75335         * lib/unistr/u32-cpy-alloc.c: New file.
75336         * lib/unistr/u-cpy-alloc.h: New file.
75337
75338         * modules/unistr/u8-endswith: New file.
75339         * modules/unistr/u16-endswith: New file.
75340         * modules/unistr/u32-endswith: New file.
75341         * lib/unistr/u8-endswith.c: New file.
75342         * lib/unistr/u16-endswith.c: New file.
75343         * lib/unistr/u32-endswith.c: New file.
75344         * lib/unistr/u-endswith.h: New file.
75345
75346         * modules/unistr/u8-mblen: New file.
75347         * modules/unistr/u16-mblen: New file.
75348         * modules/unistr/u32-mblen: New file.
75349         * lib/unistr/u8-mblen.c: New file.
75350         * lib/unistr/u16-mblen.c: New file.
75351         * lib/unistr/u32-mblen.c: New file.
75352
75353         * modules/unistr/u8-mbtouc: New file.
75354         * modules/unistr/u16-mbtouc: New file.
75355         * modules/unistr/u32-mbtouc: New file.
75356         * lib/unistr/u8-mbtouc.c: New file.
75357         * lib/unistr/u16-mbtouc.c: New file.
75358         * lib/unistr/u32-mbtouc.c: New file.
75359
75360         * modules/unistr/u8-mbtouc-safe: New file.
75361         * modules/unistr/u16-mbtouc-safe: New file.
75362         * modules/unistr/u32-mbtouc-safe: New file.
75363         * lib/unistr/u8-mbtouc-safe.c: New file.
75364         * lib/unistr/u16-mbtouc-safe.c: New file.
75365         * lib/unistr/u32-mbtouc-safe.c: New file.
75366
75367         * modules/unistr/u8-move: New file.
75368         * modules/unistr/u16-move: New file.
75369         * modules/unistr/u32-move: New file.
75370         * lib/unistr/u8-move.c: New file.
75371         * lib/unistr/u16-move.c: New file.
75372         * lib/unistr/u32-move.c: New file.
75373         * lib/unistr/u-move.h: New file.
75374
75375         * modules/unistr/u8-next: New file.
75376         * modules/unistr/u16-next: New file.
75377         * modules/unistr/u32-next: New file.
75378         * lib/unistr/u8-next.c: New file.
75379         * lib/unistr/u16-next.c: New file.
75380         * lib/unistr/u32-next.c: New file.
75381
75382         * modules/unistr/u8-prev: New file.
75383         * modules/unistr/u16-prev: New file.
75384         * modules/unistr/u32-prev: New file.
75385         * lib/unistr/u8-prev.c: New file.
75386         * lib/unistr/u16-prev.c: New file.
75387         * lib/unistr/u32-prev.c: New file.
75388
75389         * modules/unistr/u8-set: New file.
75390         * modules/unistr/u16-set: New file.
75391         * modules/unistr/u32-set: New file.
75392         * lib/unistr/u8-set.c: New file.
75393         * lib/unistr/u16-set.c: New file.
75394         * lib/unistr/u32-set.c: New file.
75395         * lib/unistr/u-set.h: New file.
75396
75397         * modules/unistr/u8-startswith: New file.
75398         * modules/unistr/u16-startswith: New file.
75399         * modules/unistr/u32-startswith: New file.
75400         * lib/unistr/u8-startswith.c: New file.
75401         * lib/unistr/u16-startswith.c: New file.
75402         * lib/unistr/u32-startswith.c: New file.
75403         * lib/unistr/u-startswith.h: New file.
75404
75405         * modules/unistr/u8-stpcpy: New file.
75406         * modules/unistr/u16-stpcpy: New file.
75407         * modules/unistr/u32-stpcpy: New file.
75408         * lib/unistr/u8-stpcpy.c: New file.
75409         * lib/unistr/u16-stpcpy.c: New file.
75410         * lib/unistr/u32-stpcpy.c: New file.
75411         * lib/unistr/u-stpcpy.h: New file.
75412
75413         * modules/unistr/u8-stpncpy: New file.
75414         * modules/unistr/u16-stpncpy: New file.
75415         * modules/unistr/u32-stpncpy: New file.
75416         * lib/unistr/u8-stpncpy.c: New file.
75417         * lib/unistr/u16-stpncpy.c: New file.
75418         * lib/unistr/u32-stpncpy.c: New file.
75419         * lib/unistr/u-stpncpy.h: New file.
75420
75421         * modules/unistr/u8-strcat: New file.
75422         * modules/unistr/u16-strcat: New file.
75423         * modules/unistr/u32-strcat: New file.
75424         * lib/unistr/u8-strcat.c: New file.
75425         * lib/unistr/u16-strcat.c: New file.
75426         * lib/unistr/u32-strcat.c: New file.
75427         * lib/unistr/u-strcat.h: New file.
75428
75429         * modules/unistr/u8-strchr: New file.
75430         * modules/unistr/u16-strchr: New file.
75431         * modules/unistr/u32-strchr: New file.
75432         * lib/unistr/u8-strchr.c: New file.
75433         * lib/unistr/u16-strchr.c: New file.
75434         * lib/unistr/u32-strchr.c: New file.
75435
75436         * modules/unistr/u8-strcmp: New file.
75437         * modules/unistr/u16-strcmp: New file.
75438         * modules/unistr/u32-strcmp: New file.
75439         * lib/unistr/u8-strcmp.c: New file.
75440         * lib/unistr/u16-strcmp.c: New file.
75441         * lib/unistr/u32-strcmp.c: New file.
75442
75443         * modules/unistr/u8-strcpy: New file.
75444         * modules/unistr/u16-strcpy: New file.
75445         * modules/unistr/u32-strcpy: New file.
75446         * lib/unistr/u8-strcpy.c: New file.
75447         * lib/unistr/u16-strcpy.c: New file.
75448         * lib/unistr/u32-strcpy.c: New file.
75449         * lib/unistr/u-strcpy.h: New file.
75450
75451         * modules/unistr/u8-strcspn: New file.
75452         * modules/unistr/u16-strcspn: New file.
75453         * modules/unistr/u32-strcspn: New file.
75454         * lib/unistr/u8-strcspn.c: New file.
75455         * lib/unistr/u16-strcspn.c: New file.
75456         * lib/unistr/u32-strcspn.c: New file.
75457         * lib/unistr/u-strcspn.h: New file.
75458
75459         * modules/unistr/u8-strdup: New file.
75460         * modules/unistr/u16-strdup: New file.
75461         * modules/unistr/u32-strdup: New file.
75462         * lib/unistr/u8-strdup.c: New file.
75463         * lib/unistr/u16-strdup.c: New file.
75464         * lib/unistr/u32-strdup.c: New file.
75465         * lib/unistr/u-strdup.h: New file.
75466
75467         * modules/unistr/u8-strlen: New file.
75468         * modules/unistr/u16-strlen: New file.
75469         * modules/unistr/u32-strlen: New file.
75470         * lib/unistr/u8-strlen.c: New file.
75471         * lib/unistr/u16-strlen.c: New file.
75472         * lib/unistr/u32-strlen.c: New file.
75473         * lib/unistr/u-strlen.h: New file.
75474
75475         * modules/unistr/u8-strmblen: New file.
75476         * modules/unistr/u16-strmblen: New file.
75477         * modules/unistr/u32-strmblen: New file.
75478         * lib/unistr/u8-strmblen.c: New file.
75479         * lib/unistr/u16-strmblen.c: New file.
75480         * lib/unistr/u32-strmblen.c: New file.
75481
75482         * modules/unistr/u8-strmbtouc: New file.
75483         * modules/unistr/u16-strmbtouc: New file.
75484         * modules/unistr/u32-strmbtouc: New file.
75485         * lib/unistr/u8-strmbtouc.c: New file.
75486         * lib/unistr/u16-strmbtouc.c: New file.
75487         * lib/unistr/u32-strmbtouc.c: New file.
75488
75489         * modules/unistr/u8-strncat: New file.
75490         * modules/unistr/u16-strncat: New file.
75491         * modules/unistr/u32-strncat: New file.
75492         * lib/unistr/u8-strncat.c: New file.
75493         * lib/unistr/u16-strncat.c: New file.
75494         * lib/unistr/u32-strncat.c: New file.
75495         * lib/unistr/u-strncat.h: New file.
75496
75497         * modules/unistr/u8-strncmp: New file.
75498         * modules/unistr/u16-strncmp: New file.
75499         * modules/unistr/u32-strncmp: New file.
75500         * lib/unistr/u8-strncmp.c: New file.
75501         * lib/unistr/u16-strncmp.c: New file.
75502         * lib/unistr/u32-strncmp.c: New file.
75503
75504         * modules/unistr/u8-strncpy: New file.
75505         * modules/unistr/u16-strncpy: New file.
75506         * modules/unistr/u32-strncpy: New file.
75507         * lib/unistr/u8-strncpy.c: New file.
75508         * lib/unistr/u16-strncpy.c: New file.
75509         * lib/unistr/u32-strncpy.c: New file.
75510         * lib/unistr/u-strncpy.h: New file.
75511
75512         * modules/unistr/u8-strnlen: New file.
75513         * modules/unistr/u16-strnlen: New file.
75514         * modules/unistr/u32-strnlen: New file.
75515         * lib/unistr/u8-strnlen.c: New file.
75516         * lib/unistr/u16-strnlen.c: New file.
75517         * lib/unistr/u32-strnlen.c: New file.
75518         * lib/unistr/u-strnlen.h: New file.
75519
75520         * modules/unistr/u8-strpbrk: New file.
75521         * modules/unistr/u16-strpbrk: New file.
75522         * modules/unistr/u32-strpbrk: New file.
75523         * lib/unistr/u8-strpbrk.c: New file.
75524         * lib/unistr/u16-strpbrk.c: New file.
75525         * lib/unistr/u32-strpbrk.c: New file.
75526         * lib/unistr/u-strpbrk.h: New file.
75527
75528         * modules/unistr/u8-strrchr: New file.
75529         * modules/unistr/u16-strrchr: New file.
75530         * modules/unistr/u32-strrchr: New file.
75531         * lib/unistr/u8-strrchr.c: New file.
75532         * lib/unistr/u16-strrchr.c: New file.
75533         * lib/unistr/u32-strrchr.c: New file.
75534
75535         * modules/unistr/u8-strspn: New file.
75536         * modules/unistr/u16-strspn: New file.
75537         * modules/unistr/u32-strspn: New file.
75538         * lib/unistr/u8-strspn.c: New file.
75539         * lib/unistr/u16-strspn.c: New file.
75540         * lib/unistr/u32-strspn.c: New file.
75541         * lib/unistr/u-strspn.h: New file.
75542
75543         * modules/unistr/u8-strstr: New file.
75544         * modules/unistr/u16-strstr: New file.
75545         * modules/unistr/u32-strstr: New file.
75546         * lib/unistr/u8-strstr.c: New file.
75547         * lib/unistr/u16-strstr.c: New file.
75548         * lib/unistr/u32-strstr.c: New file.
75549         * lib/unistr/u-strstr.h: New file.
75550
75551         * modules/unistr/u8-strtok: New file.
75552         * modules/unistr/u16-strtok: New file.
75553         * modules/unistr/u32-strtok: New file.
75554         * lib/unistr/u8-strtok.c: New file.
75555         * lib/unistr/u16-strtok.c: New file.
75556         * lib/unistr/u32-strtok.c: New file.
75557         * lib/unistr/u-strtok.h: New file.
75558
75559         * modules/unistr/u8-uctomb: New file.
75560         * modules/unistr/u16-uctomb: New file.
75561         * modules/unistr/u32-uctomb: New file.
75562         * lib/unistr/u8-uctomb.c: New file.
75563         * lib/unistr/u16-uctomb.c: New file.
75564         * lib/unistr/u32-uctomb.c: New file.
75565
75566         * MODULES.html.sh (Unicode string functions): Add the new modules.
75567
75568 2007-01-08  Bruno Haible  <bruno@clisp.org>
75569
75570         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
75571         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
75572         subdirectories.
75573
75574 2007-01-08  Karl Berry  <karl@gnu.org>
75575
75576         * doc/error.texi: mention that main() fns must set program_name
75577         when progname is used.
75578
75579 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
75580
75581         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
75582         WCTYPE_H is empty, for the benefit of builds from non-distclean
75583         directories.  Problem reported by Eric Blake in
75584         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
75585
75586 2007-01-08  Bruno Haible  <bruno@clisp.org>
75587
75588         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
75589         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
75590         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
75591         PROVIDE_CANONICALIZE_FILENAME_MODE.
75592         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
75593
75594 2007-01-08  Bruno Haible  <bruno@clisp.org>
75595
75596         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
75597         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
75598         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
75599         * lib/fts.c: Likewise.
75600         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
75601
75602 2006-12-25  Bruno Haible  <bruno@clisp.org>
75603
75604         * modules/utf8-ucs4-safe: New file.
75605         * lib/utf8-ucs4-safe.h: New file.
75606         * lib/unistr/utf8-ucs4-safe.c: New file.
75607
75608         * modules/utf16-ucs4-safe: New file.
75609         * lib/utf16-ucs4-safe.h: New file.
75610         * lib/unistr/utf16-ucs4-safe.c: New file.
75611
75612         * MODULES.html.sh (Unicode string functions): Add the new modules.
75613
75614 2007-01-08  Bruno Haible  <bruno@clisp.org>
75615
75616         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
75617         (Depends-on): Add unitypes.
75618         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75619         (u8_mbtouc_aux): Move out to separate file.
75620         (u8_mbtouc): Use ucs4_t, uint8_t types.
75621         * lib/unistr/utf8-ucs4.c: New file.
75622
75623         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
75624         (Depends-on): Add unitypes.
75625         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75626         (u16_mbtouc_aux): Move out to separate file.
75627         (u16_mbtouc): Use ucs4_t, uint16_t types.
75628         * lib/unistr/utf16-ucs4.c: New file.
75629
75630         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
75631         (Depends-on): Add unitypes.
75632         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
75633         (u8_uctomb_aux): Move out to separate file.
75634         (u8_uctomb): Use ucs4_t, uint8_t types.
75635         * lib/unistr/ucs4-utf8.c: New file.
75636
75637         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
75638         (Depends-on): Add unitypes.
75639         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
75640         (u16_uctomb_aux): Move out to separate file.
75641         (u16_uctomb): Use ucs4_t, uint16_t types.
75642         * lib/unistr/ucs4-utf16.c: New file.
75643
75644 2006-12-25  Bruno Haible  <bruno@clisp.org>
75645
75646         * modules/unitypes: New file.
75647         * lib/unitypes.h: New file.
75648         * MODULES.html.sh (func_all_modules): New section "Unicode string
75649         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
75650         this section. Add unitypes.
75651
75652 2007-01-08  Bruno Haible  <bruno@clisp.org>
75653
75654         Avoid variable names that conflict with those from libtool.
75655         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
75656         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
75657         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
75658         library_names_spec to acl_library_names_spec, hardcode_* to
75659         acl_hardcode_*.
75660         Reported by Ralf Wildenhues.
75661
75662 2007-01-08  Bruno Haible  <bruno@clisp.org>
75663
75664         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
75665         definition.
75666         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
75667         definition.
75668         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
75669         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
75670         definition.
75671         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
75672         definition.
75673         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
75674         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
75675         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
75676         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
75677         definition.
75678         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
75679         definition.
75680         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
75681         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
75682         GC_USE_<algorithm>.
75683         * lib/gc-libgcrypt.c: Likewise.
75684         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
75685         * modules/gc-arctwo (configure.ac): Likewise.
75686         * modules/gc-des (configure.ac): Likewise.
75687         * modules/gc-hmac-md5 (configure.ac): Likewise.
75688         * modules/gc-hmac-sha1 (configure.ac): Likewise.
75689         * modules/gc-md2 (configure.ac): Likewise.
75690         * modules/gc-md4 (configure.ac): Likewise.
75691         * modules/gc-md5 (configure.ac): Likewise.
75692         * modules/gc-random (configure.ac): Likewise.
75693         * modules/gc-rijndael (configure.ac): Likewise.
75694         * modules/gc-sha1 (configure.ac): Likewise.
75695
75696 2007-01-08  Bruno Haible  <bruno@clisp.org>
75697
75698         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
75699         macro definition.
75700         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
75701         definition.
75702         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
75703         definition.
75704         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
75705         * modules/fcntl-safer (configure.ac): Likewise.
75706         * modules/fopen-safer (configure.ac): Likewise.
75707         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
75708         GNULIB_FWRITEERROR macro definition.
75709
75710 2007-01-08  Bruno Haible  <bruno@clisp.org>
75711
75712         * m4/gnulib-common.m4: New file.
75713         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
75714         (func_get_filelist): Add m4/gnulib-common.m4.
75715
75716 2007-01-08  Bruno Haible  <bruno@clisp.org>
75717
75718         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
75719         command.
75720
75721 2007-01-08  Jim Meyering  <jim@meyering.net>
75722
75723         Use a more robust test for a "can't happen" condition.
75724         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
75725         narrowed the st_size value.  Presuming the "can't happen" condition
75726         is true, that narrowing could conceivably convert an invalid st_size
75727         value into a valid one.  Instead, use a change based on Matthew
75728         Woehlke's original patch.
75729
75730         Slight readability improvement: use an assert-like macro
75731         in place of literal "abort ()" uses.
75732         * lib/fts.c (fts_assert): Define.
75733         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
75734         Use this macro instead of a bare 'abort'.
75735
75736 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
75737
75738         Don't worry about using IRIX 5.3's wctype.h broken definitions;
75739         simply work around them.
75740         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
75741         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
75742         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
75743         declaring.
75744         Don't bother to define as macros, since the standard doesn't require it.
75745         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
75746         longer worry about IRIX 5.3.
75747         (HAVE_WCTYPE_CTMP_BUG): Remove.
75748
75749 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75750
75751         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
75752         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
75753         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
75754         Problems reported by Georg Schwarz for IRIX 5.3.
75755
75756         * gnulib-tool (autoconf_minversion): Take the maximum version number
75757         found, not the minimum.  Problem reported by James Youngman.
75758
75759 2007-01-03  Karl Berry  <karl@gnu.org>
75760
75761         * doc/error.texi: new file, explaining interaction with progname.
75762         * doc/gnulib.texi: include it.  Update copyright.
75763
75764 2007-01-03  Simon Josefsson  <simon@josefsson.org>
75765
75766         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
75767         AC_CANONICAL_HOST, to improve autobuild outputs.
75768
75769 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
75770             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
75771
75772         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
75773         sockets, server sockets, and other file descriptors.  Count errors
75774         to compute the return value.  Reorder the code a bit to be easier
75775         to follow.  Don't set event bits that were not requested (except
75776         POLLERR and POLLHUP).
75777
75778 2007-01-01  Bruno Haible  <bruno@clisp.org>
75779
75780         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
75781
75782 2007-01-03  Jim Meyering  <jim@meyering.net>
75783
75784         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
75785
75786 2007-01-02  Bruno Haible  <bruno@clisp.org>
75787
75788         * modules/settime (Include): Require timespec.h.
75789         * modules/nanosleep (Include): Likewise.
75790
75791 2007-01-01  Bruno Haible  <bruno@clisp.org>
75792
75793         * gnulib-tool (func_emit_copyright_notice): Bump year.
75794         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
75795
75796 2007-01-01  Bruno Haible  <bruno@clisp.org>
75797
75798         Improve support for OpenBSD.
75799         * build-aux/config.rpath (libname_spec): Export.
75800         (library_names_spec): New variable. Export.
75801         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
75802         library_names_spec from the config.rpath output. Locate shared library
75803         through the name pattern in library_names_spec.
75804
75805 2007-01-01  Eric Blake  <ebb9@byu.net>
75806
75807         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
75808
75809 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
75810
75811         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
75812         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
75813         assume the C locale, and avoid an "eval" that could cause trouble.
75814         Problem with SORT reported by Bob Proulx.
75815
75816         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
75817         Define.  Trivial patch from Henning Nielsen Lund, originally
75818         sent to bug-grep@gnu.org today.
75819
75820 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
75821
75822         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
75823         struct stat.  Problem reported by Henning Nielsen Lund.
75824         * lib/acl.c: Include acl.h first, to check interface.  Don't
75825         bother to include sys/types.h and sys/stat.h again.
75826
75827 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
75828
75829         Import the following change from libc; problem reported by
75830         Sven Verdoolaege.
75831
75832         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
75833
75834         [BZ #1373]
75835         * lib/argp.h: Remove __NTH for __argp_usage inline function.
75836
75837 2006-12-28  Jim Meyering  <jim@meyering.net>
75838
75839         * build-aux/announce-gen: Do not assume that the package
75840         builds any of tar.gz, tar.bz2, and .xdelta files.
75841         Suggestion from Simon Josefsson.
75842
75843 2006-12-28  Simon Josefsson  <simon@josefsson.org>
75844
75845         * modules/announce-gen: New file.
75846
75847 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
75848
75849         * lib/mbchar.h: Just include <wctype.h>; the wctype module
75850         handles its gotchas now.
75851         * lib/mbswidth.c: Likewise.
75852         * lib/wcwidth.h: Likewise.
75853         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
75854         and iswcntrl; the wctype module does this stuff now.
75855         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
75856         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
75857         * modules/mbchar (Depends-on): Add wctype.
75858         * modules/mbswidth (Depends-on): Likewise.
75859         * modules/wcwidth (Depends-on): Likewise.
75860
75861 2006-12-27  Eric Blake  <ebb9@byu.net>
75862
75863         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
75864         module uses more than what <wctype.h> is required to provide.
75865
75866 2006-12-26  Eric Blake  <ebb9@byu.net>
75867
75868         * gnulib-tool (sed_extract_prog): Avoid space-tab.
75869
75870 2006-12-26  Eric Blake  <ebb9@byu.net>
75871
75872         * modules/absolute-header: New module.
75873         * modules/fcntl (Depends-on): Depend on it.
75874         * modules/inttypes (Depends-on): Likewise.
75875         * modules/stdint (Depends-on): Likewise.
75876         * modules/sys_stat (Depends-on): Likewise.
75877         * modules/wctype (Depends-on): Likewise.
75878         * MODULES.html.sh (Support for building libraries and
75879         executables): Document it.
75880
75881 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
75882
75883         * gnulib-tool (SED): Remove, undoing previous change.
75884         The problem was that it broke coreutils on Solaris, because
75885         "sed --posix" leaked into a makefile.
75886         (sed): New alias, if 'alias' and GNU sed.
75887
75888 2006-12-24  Jim Meyering  <jim@meyering.net>
75889
75890         Work around an fchownat bug in glibc-2.4:
75891         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
75892         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
75893         in spite of the -P option.
75894         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
75895         New macros.
75896         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
75897         * modules/openat (Files): Add lib/fchownat.c.
75898         * lib/openat.c (fchownat): Don't define here.  Move to...
75899         * lib/fchownat.c: ...this new file.
75900
75901 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
75902
75903         Fix bug reported by Bruno Haible in
75904         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
75905         where quotearg.c didn't compile on Mac OS X 10.2 because it
75906         lacks <wchar.h> and wint_t.
75907         * lib/wctype_.h (__wctype_wint_t): New type.
75908         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
75909         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
75910         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
75911         Arg is now of type __wctype_wint_t, not wint_t.
75912         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
75913         substitute HAVE_WINT_T.
75914         * modules/wctype (Files): Add m4/wint_t.m4.
75915         (wctype.h): Substitute HAVE_WINT_T.
75916
75917 2006-12-23  Bruno Haible  <bruno@clisp.org>
75918
75919         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
75920
75921 2006-12-23  Bruno Haible  <bruno@clisp.org>
75922
75923         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
75924         S_ISLNK.
75925         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
75926         mingw.
75927
75928 2006-12-22  Bruno Haible  <bruno@clisp.org>
75929
75930         * lib/copy-file.c: Include acl.h.
75931         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
75932         Close the file descriptors only after being done with copy_acl.
75933         * modules/copy-file (Depends-on): Add acl.
75934
75935 2006-12-22  Bruno Haible  <bruno@clisp.org>
75936
75937         * gnulib-tool (SED): New variable.
75938         Use $SED instead of sed everywhere.
75939
75940 2006-12-22  Bruno Haible  <bruno@clisp.org>
75941
75942         * modules/no-c++: New file.
75943         * m4/no-c++.m4: New file.
75944         * MODULES.html.sh (Support for building libraries and executables):
75945         Add no-c++.
75946
75947 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
75948
75949         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75950         Include <limits.h>, and use its INT_MAX to rewrite the
75951         j loop so that it does not overflow 'int'.  Problem reported by
75952         Ralf Wildenhues in
75953         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
75954         Play it safe by shifting left by 1 rather than multiplying by 2,
75955         as GCC is less likely to optimize this away when the value
75956         is signed (when it assumes overflow leads to undefined behavior).
75957         Also, don't assume time_t uses two's complement.
75958
75959 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
75960
75961         * MODULES.html.sh: New module wctype.
75962         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
75963         * lib/fnmatch.c: Don't bother to include <wchar.h> before
75964         <wctype.h>, since the new wctype module should fix this.
75965         * lib/quotearg.c: Include <wctype.h> unconditionally, since
75966         the wctype module should arrange for it.
75967         * lib/regex_internal.h: Likewise.
75968         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
75969         since the wctype module should handle this now.
75970         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
75971         * modules/fnmatch (Depends-on): Add wctype.
75972         * modules/quotearg (Depends-on): Likewise.
75973         * modules/regex (Depends-on): Likewise.
75974
75975 2006-12-19  Bruno Haible  <bruno@clisp.org>
75976
75977         * lib/strdup.h [C++]: Wrap definitions in extern "C".
75978         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
75979
75980 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75981
75982         * modules/savewd (Depends-on): Fix dependency on fcntl.
75983
75984 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75985
75986         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
75987         conforms to C99, rather than relying on the user's environment
75988         setting of STDINT_H.
75989
75990 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75991         and Eric Blake  <ebb9@byu.net>
75992
75993         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
75994         This is more consistent with the other defines here.
75995         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
75996         Port to z/OS.  Problem reported by Paul Gilmartin.
75997         Change local vars to use gl_ prefix rather than ac_.
75998         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
75999         with other defines.
76000         * modules/double-slash-root: New module.
76001         * modules/dirname (Files): Remove m4/double-slash-root.m4.
76002         (Depends-on): Add double-slash-root.
76003         * MODULES.html.sh (File system functions): Mention new module.
76004
76005 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
76006
76007         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
76008         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
76009         This is for the benefit of gzip, which doesn't do i18n.
76010
76011 2006-12-12  Jim Meyering  <jim@meyering.net>
76012
76013         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
76014         Reported by Andreas Schwab <schwab@suse.de>.
76015
76016 2006-12-12  Bruno Haible  <bruno@clisp.org>
76017
76018         Merge these changes.
76019         2006-09-05  Bruno Haible  <bruno@clisp.org>
76020         * lib/iconvme.c (iconv_string): No need to save and restore errno when
76021         iconv_alloc succeeded.
76022         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
76023         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
76024         test for " && dest " at the end - dest is always != NULL there. Call
76025         iconv with 4xNULL arguments initially, to reset the state. Call iconv
76026         with 2xNULL arguments, also to flush the state storage. Handle the
76027         IRIX iconv behaviour. Realloc the final result, to throw away unused
76028         memory.
76029
76030 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
76031
76032         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
76033         and fchmodat unconditionally, since glibc 2.4 has them.
76034         Problem reported by Arkadiusz Miskiewicz.
76035
76036 2006-12-10  Bruno Haible  <bruno@clisp.org>
76037
76038         * gnulib-tool (func_import): Show the include files only for those
76039         modules that are copied and specified.
76040         Reported by Karl Berry.
76041
76042 2006-12-08  Jim Meyering  <jim@meyering.net>
76043
76044         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
76045         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
76046
76047         * build-aux/announce-gen: Add two new options, both optional:
76048         --bootstrap-tools=TOOL_LIST
76049               a comma-separated list of tools, e.g.,
76050               autoconf,automake,bison,gnulib
76051         --gnulib-snapshot-date=DATE
76052               if gnulib is in the bootstrap tool list,
76053               then report this as the snapshot date.
76054               If not specified, use the current date/time.
76055               If you specify a date here, be sure it's UTC.
76056
76057 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76058
76059         * tests/test-argp-2.sh: Fix test to match actual output.
76060         (func_compare): Fix sed script to be portable.
76061
76062 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
76063
76064         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
76065         workaround for this case.  It is not autoconfigured now; offhand
76066         it's hard to see how to autoconfigure it.
76067
76068 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
76069
76070         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
76071         a directory that is about to be chowned.  Such a directory's
76072         initial file permissions should permit the owner only and this
76073         should not be changed until after the chown, since the group and
76074         other bits would be incorrect if they granted permission before
76075         the chown.
76076
76077         Fix porting problem for iswctype reported by Georg Schwarz in:
76078         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
76079         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
76080         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
76081         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
76082         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
76083
76084 2006-12-03  Jim Meyering  <jim@meyering.net>
76085
76086         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
76087         p->fts_statp may not yet be defined.
76088         (fts_read): Instead, set it in the caller, once p->fts_statp is
76089         sure to be defined, and corresponds to a top-level directory.
76090         This bug made du -x fail.  Here's the coreutils test case:
76091         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
76092         Reported by Mike Frysinger.
76093
76094 2006-12-01  Jim Meyering  <jim@meyering.net>
76095
76096         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
76097         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
76098         Reported by Simon Josefsson.
76099
76100 2006-11-30  Jim Meyering  <jim@meyering.net>
76101
76102         * m4/warning.m4: Use the all-permissive copyright notice
76103         recommended by RMS (rather than LGPL).
76104         * m4/vararrays.m4: Likewise.
76105         * m4/flexmember.m4: Likewise.
76106
76107 2006-11-29  Bruno Haible  <bruno@clisp.org>
76108
76109         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
76110         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
76111         using +=.
76112         Reported by Simon Josefsson <simon@josefsson.org>.
76113
76114 2006-11-28  James Youngman <jay@gnu.org>
76115
76116         * README: Advise users that they might find the bug-gnulib@gnu.org
76117         and autotools-announce@gnu.org mailing lists useful.
76118
76119 2006-11-28  Bruno Haible  <bruno@clisp.org>
76120
76121         * m4/ptrdiff_max.m4: Remove file.
76122
76123 2006-11-21  Bruno Haible  <bruno@clisp.org>
76124
76125         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
76126         _AC_COMPUTE_INT.
76127         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
76128         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
76129         _AC_COMPUTE_INT.
76130         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
76131         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
76132         _AC_COMPUTE_INT.
76133         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
76134
76135 2006-11-28  Jim Meyering  <jim@meyering.net>
76136
76137         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
76138         warning from "gcc -Wshadow" about shadowing the builtin.
76139
76140 2006-11-27  Bruno Haible  <bruno@clisp.org>
76141
76142         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
76143         _AC_COMPUTE_INT.
76144         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
76145
76146 2006-11-27  Bruno Haible  <bruno@clisp.org>
76147             Paul Eggert  <eggert@cs.ucla.edu>
76148
76149         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
76150
76151 2006-11-26  Bruno Haible  <bruno@clisp.org>
76152
76153         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
76154         noinst_LTLIBRARIES.
76155
76156 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
76157             Bruno Haible  <bruno@clisp.org>
76158
76159         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
76160         if compiling with "gcc -ansi".
76161
76162 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
76163
76164         Fix some incompatibilities with gcc -ansi -pedantic.
76165         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
76166         if compiling pedantically with GCC, unless it's C99 or later.
76167         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
76168         it mishandles gcc -ansi -pedantic as well.
76169         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
76170         if gcc -pedantic.
76171         * lib/regexec.c (check_node_accept_bytes): Don't use auto
76172         initializers for struct if -pedantic, unless it's C99 or later.
76173
76174 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
76175
76176         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
76177         Don't close an fd more than once. Identical atimes indicate
76178         success, not failure.
76179
76180 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
76181
76182         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
76183
76184 2006-11-23  Jim Meyering  <jim@meyering.net>
76185
76186         * build-aux/announce-gen: New file.  From coreutils.
76187
76188 2006-11-22  Jim Meyering  <jim@meyering.net>
76189
76190         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
76191         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
76192         (fts_read): Use a temporary to narrow the overused st_size member
76193         before using it in a switch statement.  Reported by Matthew Woehlke.
76194
76195         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
76196         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
76197
76198 2006-11-20  Bruno Haible  <bruno@clisp.org>
76199
76200         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
76201         changequote instead of pairs of brackets.
76202         Reported by Andreas Schwab <schwab@suse.de>.
76203
76204 2006-11-21  Jim Meyering  <jim@meyering.net>
76205
76206         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
76207         so as to remain compatible with older compilers.
76208         Patch from Michael Deutschmann.
76209
76210 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
76211
76212         * MODULES.html.sh (File system functions): Add openat.
76213
76214         * lib/openat.h (rpl_fstatat): New macro, if
76215         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
76216         (fstatat): Define to rpl_fstatat under the same conditions,
76217         unless COMPILING_FSTATAT.
76218         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
76219         seems to have the bug.
76220         * lib/fstatat.c: New file.
76221         * modules/openat (Files): Add it.
76222
76223 2006-11-20  Bruno Haible  <bruno@clisp.org>
76224
76225         * Makefile: New file.
76226
76227 2006-11-20  Jim Meyering  <jim@meyering.net>
76228
76229         The beginnings of syntax-related checks for gnulib.
76230         * lib/Makefile: New file.
76231         * lib/t-idcache: New script.  Ensure that the two halves of
76232         idcache.c stay in sync.
76233
76234         * lib/idcache.c: Adjust comments in user- and group- portions to
76235         be more accurate, and to be consistent with one another.
76236
76237 2006-11-20  Jim Meyering  <jim@meyering.net>
76238
76239         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
76240         continue using the flexible array member (thus, this module performs
76241         half as many malloc calls), with the addition that...
76242         (getgroup, getuser): Consistently record a non-match via an empty
76243         "name" string, and map an empty string match to a NULL return value.
76244         * modules/idcache (Depends-on): Re-add flexmember.
76245
76246         * lib/idcache.c (getuser): Remove all uses of the register keyword.
76247         (getuidbyname, getgroup, getgidbyname): Likewise.
76248
76249         Use cleaner syntax: NULL rather than 0.
76250         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
76251
76252 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
76253
76254         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
76255         It mishandled the case where the group was missing.
76256         Problem reported by Greg Schafer.
76257         * modules/idcache: Likewise.
76258
76259 2006-11-18  Jim Meyering  <jim@meyering.net>
76260
76261         * check-module (%exempt_header): Add exception for some
76262         conditionally-included headers.
76263
76264         * modules/i-ring (Depends-on): Add verify.
76265         (License): Change to LGPL.
76266
76267 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
76268
76269         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
76270         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
76271         and inttostr.h.  Use snprintf rather than uinttostr, so that
76272         LGPLed code doesn't depend on GPLed.
76273
76274 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
76275
76276         * modules/inline (License): Change from GPL to LGPL.
76277
76278 2006-11-17  Jim Meyering  <jim@meyering.net>
76279
76280         * modules/d-type (License): Switch to LGPL.
76281
76282 2006-11-15  Bruno Haible  <bruno@clisp.org>
76283
76284         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
76285
76286 2006-11-15  Eric Blake  <ebb9@byu.net>
76287
76288         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
76289         the module dependency.
76290
76291 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76292             Bruno Haible  <bruno@clisp.org>
76293
76294         * gnulib-tool (func_create_testdir): Add license consistency check.
76295
76296 2006-11-15  Eric Blake  <ebb9@byu.net>
76297
76298         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
76299         random "(cached)" in configure output.
76300
76301 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76302
76303         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
76304         test for conforming inttypes.h is both announced and cached.
76305
76306         * MODULES.html.sh (seen_modules, seen_files): New variables.
76307         (func_module): Rewrite to use a few less gnulib-tool and sed
76308         invocations.  Avoid a couple of quadratic algorithms for ...
76309         (missed_modules, missed_files): ... these, with ...
76310         (func_append, func_tmpdir): ... these new functions, from
76311         gnulib-tool.  Analogously, install traps for cleanup.
76312
76313         * tests/test-gc.c (main): Remove unused variables.
76314         * tests/test-read-file.c: Include stdlib.h, for 'free'.
76315
76316 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
76317
76318         * modules/inttostr (License): Change to LGPL.
76319
76320 2006-11-14  Eric Blake  <ebb9@byu.net>
76321
76322         * modules/tempname (License): Change to LGPL.
76323
76324 2006-11-14  Eric Blake  <ebb9@byu.net>
76325
76326         * doc/functions.texi (Function Portability): *printf functions on
76327         Cygwin now understand all POSIX size specifiers.
76328
76329 2006-11-14  Bruno Haible  <bruno@clisp.org>
76330
76331         * modules/c-ctype (License): Change to LGPL.
76332
76333 2006-11-12  Bruno Haible  <bruno@clisp.org>
76334
76335         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
76336         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
76337         for GNOME libraries, for which the include files are installed in
76338         subdirectories of $prefix/include.
76339
76340 2006-11-12  Bruno Haible  <bruno@clisp.org>
76341
76342         * m4/lib-link.m4: Require at least autoconf-2.54.
76343         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
76344         name to underscores for the --with option.
76345
76346 2006-11-13  Bruno Haible  <bruno@clisp.org>
76347
76348         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
76349         the tests directory.
76350         Reported by Ralf Wildenhues.
76351
76352 2006-11-13  Bruno Haible  <bruno@clisp.org>
76353
76354         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
76355         (func_emit_initmacro_end): Undo the override here.
76356         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
76357         Works around the famous automake error in coreutils.
76358
76359 2006-11-13  Eric Blake  <ebb9@byu.net>
76360
76361         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
76362         element, not its node.
76363
76364 2006-11-12  Bruno Haible  <bruno@clisp.org>
76365
76366         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
76367         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
76368
76369 2006-11-12  Bruno Haible  <bruno@clisp.org>
76370
76371         * gnulib-tool: New option --local-symlink.
76372         (func_usage): Document it.
76373         (lsymbolic): New variable.
76374         (func_import, func_create_testdir): If --symlink was not specified,
76375         test whether --local-symlink was specified and the file comes from
76376         the local_gnulib_dir.
76377
76378 2006-11-12  Bruno Haible  <bruno@clisp.org>
76379
76380         * gnulib-tool (func_ln): New function.
76381         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
76382
76383 2006-11-12  Bruno Haible  <bruno@clisp.org>
76384
76385         Finish support for source files in subdirectories.
76386         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
76387         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
76388         AUTOMAKE_OPTIONS.
76389         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
76390
76391 2006-11-12  Bruno Haible  <bruno@clisp.org>
76392
76393         * gnulib-tool (func_get_automake_snippet): Synthesize also an
76394         EXTRA_lib_SOURCES augmentation.
76395         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
76396
76397 2006-11-12  Jim Meyering  <jim@meyering.net>
76398
76399         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
76400         file descriptors.  This also averts a failure on systems with
76401         native openat support when a traversed directory lacks "x" access.
76402         * lib/fts_.h: Include "i-ring.h"
76403         (struct FTS) [fts_fd_ring]: New member.
76404         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
76405         (FCHDIR): Add parentheses.
76406         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
76407         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
76408         When descending, rather than simply closing the previous
76409         fts_cwd_fd value, push that file descriptor onto the ring.
76410         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
76411         (fts_open): Initialize the new fd_ring member.
76412         (fts_close): Clear the ring.
76413         (fts_safe_changedir): When possible, use our new fd_ring to skip
76414         the diropen and fstat and dev/ino comparison that would normally
76415         accompany a virtual `chdir ("..")'.
76416
76417         * modules/fts (Depends-on): Add i-ring.
76418         * modules/i-ring: New module.
76419         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
76420         * m4/i-ring.m4: New file.
76421
76422 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76423
76424         * gnulib-tool (func_create_testdir): Fix replacement of
76425         `build-aux' in configure.ac.  Run autotools in gltests
76426         subdirectory.
76427         (func_create_testdir, func_create_megatestdir, test): There is
76428         no need for '--force' in most autotool invocations in a new
76429         tree.  Actually fail the whole test if any of the tools, or the
76430         configure or make stages fail.
76431
76432         Sync from Automake.
76433         * build-aux/gnupload: Revert last change.  Add pointer to upload
76434         instructions of the GNU Maintenance Instructions.
76435         Suggestion by Karl Berry.
76436
76437 2006-11-10  Jim Meyering  <jim@meyering.net>
76438
76439         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
76440
76441 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
76442
76443         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
76444         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
76445         (bind_textdomain_codeset) [! ENABLE_NLS]:
76446         Evaluate all the arguments.  That way, callers get compatible behavior
76447         if the arguments have side effects.  Also, it avoids some GCC
76448         diagnostics in some cases; Joel E. Denny reported problems when Bison
76449         was configured with --enable-gcc-warnigs.
76450
76451 2006-11-10  Jim Meyering  <jim@meyering.net>
76452
76453         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
76454         relevant options in CFLAGS (like -O, -fno-inline) are taken into
76455         account.
76456
76457 2006-11-10  Jim Meyering  <jim@meyering.net>
76458
76459         * modules/inline: New file/module.
76460         * modules/xalloc (Files): Remove m4/inline.m4.
76461         (Depends-on): Add inline, instead.
76462         * modules/oset: Likewise.
76463         * modules/list: Likewise.
76464
76465 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
76466
76467         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
76468         Problem reported by Matthew Woehlke.
76469
76470 2006-11-09  Bruno Haible  <bruno@clisp.org>
76471
76472         * lib/tempname.c (gen_tempname): Remove variant that invokes
76473         __gen_tempname.
76474         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
76475         __gen_tempname.
76476
76477 2006-11-08  Bruno Haible  <bruno@clisp.org>
76478
76479         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
76480         to 'yes' instead of 'cross-compiling'.
76481
76482 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
76483
76484         * lib/quotearg.h (quotearg_free): New decl.
76485         * lib/quotearg.c (quotearg_free): New function.
76486         (slot0, nslots, slotvec0, slotvec):
76487         Now file-scope so that quotearg_free can get at them.
76488
76489 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76490
76491         Sync from Automake.
76492         * build-aux/gnupload: Add missing 'gnu' to example URL.
76493         Report by Karl Berry.
76494
76495 2006-11-08  Bruno Haible  <bruno@clisp.org>
76496
76497         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
76498         Suggested by Paul Eggert.
76499
76500 2006-11-08  Jim Meyering  <jim@meyering.net>
76501
76502         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
76503         It's already included if !_LIBC.
76504         (fts_safe_changedir): Add a comment.
76505
76506 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
76507
76508         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
76509         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
76510         Matthew Woehlke.
76511
76512         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
76513         definitions up, to avoid colliding with change below.
76514         (static_inline) [HAVE_INLINE]: New macro.
76515         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
76516         Provide extern decls when !HAVE_INLINE.  Do not define unless
76517         static_inline is defined, either by us or by xmalloc.c.  Use
76518         static_inline rather than static inline.
76519         (XCALLOC): Optimize sizeof(T) = 1 case.
76520         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
76521
76522 2006-11-07  Bruno Haible  <bruno@clisp.org>
76523
76524         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
76525         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
76526         AC_C_INLINE.
76527         * modules/xalloc (Files): Add m4/inline.m4.
76528
76529 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76530
76531         * README: Fix typo.
76532         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
76533         (Miscellanous Notes): ...from this.
76534
76535 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
76536
76537         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
76538         Mention that offsetof should be used instead of sizeof.
76539         From Bruno Haible.
76540
76541 2006-11-07  Bruno Haible  <bruno@clisp.org>
76542
76543         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
76544
76545 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76546
76547         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76548         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
76549         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
76550         (gl_tree_add_before, gl_tree_add_after):
76551         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
76552         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
76553         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
76554         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
76555         (gl_linked_add_after, gl_linked_add_at): Likewise.
76556         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
76557         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
76558         (gl_tree_add_before, gl_tree_add_after): Likewise.
76559         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
76560         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
76561         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
76562
76563 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76564
76565         * lib/gl_oset.h: Use C comment style, not C++ comment style.
76566
76567 2006-11-06  Bruno Haible  <bruno@clisp.org>
76568
76569         * m4/inline.m4: New file.
76570         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
76571         * modules/list (Files): Add m4/inline.m4.
76572         * modules/oset (Files): Likewise.
76573
76574 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76575
76576         * lib/idcache.c: Include <stddef.h>, for offsetof.
76577         (struct userid.name): Change from char * to a flexible array member.
76578         All uses changed.
76579         * modules/idcache (Depends-on): Add flexmember.
76580
76581         * MODULES.html.sh (Core language properties): New module flexmember.
76582         * modules/flexmember, m4/flexmember.m4: New files.
76583
76584         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
76585         inline functions that are identical with the old xnmalloc_inline,
76586         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
76587         that we can avoid some unnecessary integer multiplications and
76588         divisions in the common case where the element size is known at
76589         compile time.
76590         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
76591         needed.
76592         (xnboundedmalloc): Remove.
76593         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
76594         arguments, for consistency with rest of this header.
76595         (xcharalloc): Rewrite using XNMALLOC.
76596         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
76597         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
76598         versions have been moved to lib/xalloc.h and renamed to be the
76599         non-*_inline versions.
76600         (xmalloc, xrealloc): Implement without reference to the xnmalloc
76601         and xnrealloc functions, since those functions are now inline and
76602         now call us.
76603         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
76604         renaming described above.
76605         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
76606         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
76607         captures the dependency in AC_C_INLINE.
76608
76609         New module canonicalize-lgpl, proposed by Charles Wilson in
76610         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
76611         with a few small changes afterwards.
76612         * MODULES.html.sh (File system functions): New module
76613         canonicalize-lgpl.
76614         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
76615         and canonicalize_file_name.
76616         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
76617         * modules/canonicalize-lgpl: New files.
76618
76619 2006-11-05  Bruno Haible  <bruno@clisp.org>
76620
76621         * gnulib-tool (func_import, func_create_testdir): Create directories
76622         also for files in subdirectories of lib/.
76623
76624 2006-11-05  Bruno Haible  <bruno@clisp.org>
76625
76626         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
76627         ANSI C compliant.
76628
76629 2006-11-03  Bruno Haible  <bruno@clisp.org>
76630
76631         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76632         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
76633         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
76634         (xnboundedmalloc): New inline function.
76635         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
76636         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
76637         xmalloc.
76638         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
76639         xmalloc.
76640         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
76641         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
76642         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
76643         xmalloc.
76644         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76645         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
76646         xmalloc.
76647         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
76648         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76649         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
76650         xmalloc.
76651         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76652         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
76653         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76654         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
76655         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
76656         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
76657         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
76658
76659 2006-11-03  Bruno Haible  <bruno@clisp.org>
76660
76661         * lib/c-ctype.h [C++]: Define functions without name mangling.
76662         * lib/fwriteerror.h [C++]: Likewise.
76663         * lib/gcd.h [C++]: Likewise.
76664         * lib/linebreak.h [C++]: Likewise.
76665
76666 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
76667
76668         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
76669         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
76670         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
76671         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
76672         Check for functions and headers just once.
76673         Check for declaration of canonicalize_file_name.
76674         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
76675
76676 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76677
76678         * gnulib-tool (func_import): Fix typo in actioncmd.
76679
76680 2006-11-02  Bruno Haible  <bruno@clisp.org>
76681
76682         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
76683         newline sequence in the Makefile.am snippet as a space, like "make"
76684         does.
76685         Reported by Roger Persson <perrog@gmail.com>.
76686
76687 2006-11-01  Bruno Haible  <bruno@clisp.org>
76688
76689         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
76690         already declared in <string.h>.
76691         * lib/strcase.h (strncasecmp): Don't declare it if yes.
76692
76693 2006-11-01  Bruno Haible  <bruno@clisp.org>
76694
76695         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
76696         * lib/strcase.h: Include <string.h>.
76697         (strcasecmp): Define to rpl_strcasecmp here.
76698
76699 2006-11-01  Bruno Haible  <bruno@clisp.org>
76700
76701         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
76702
76703 2006-11-01  Eric Blake  <ebb9@byu.net>
76704
76705         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
76706
76707         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
76708
76709 2006-10-29  Bruno Haible  <bruno@clisp.org>
76710
76711         Make it compile in C++ mode.
76712         * lib/full-write.c (full_rw): Add a cast.
76713
76714 2006-11-01  Bruno Haible  <bruno@clisp.org>
76715
76716         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
76717         be POSIX compliant.
76718         Reported by Roger Persson <perrog@gmail.com>.
76719
76720 2006-11-01  Eric Blake  <ebb9@byu.net>
76721
76722         * lib/getopt_.h: Fix comments.
76723
76724 2006-10-31  Eric Blake  <ebb9@byu.net>
76725
76726         * modules/tmpdir (Depends-on): Add sys_stat.
76727         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
76728         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
76729         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
76730         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
76731         tempname.
76732
76733 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
76734
76735         Avoid some C++ diagnostics reported by Bruno Haible.
76736         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
76737         xmalloc.
76738         (quotearg_alloc): Use xcharalloc rather than xmalloc.
76739         (struct slotvec): Move to top level.
76740         (quotearg_n_options): Rewrite to avoid xmalloc.
76741         * lib/xalloc.h (xcharalloc): New function.
76742         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
76743         [defined __cplusplus]: Add function template that provides result
76744         type propagation.  This part of the change is from Bruno Haible.
76745
76746 2006-10-29  Bruno Haible  <bruno@clisp.org>
76747
76748         Make it compile in C++ mode.
76749         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
76750         * lib/strnlen1.c (strnlen1): Cast memchr result.
76751         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
76752         * lib/clean-temp.c (string_equals, string_hash): Add casts.
76753         (create_temp_dir): Rename local variable 'template'.
76754         (compile_csharp_using_sscli): Add cast.
76755         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
76756         * lib/findprog.c (find_in_path): Likewise.
76757         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
76758         * lib/wait-process.c (register_slave_subprocess): Likewise.
76759
76760 2006-10-22  Bruno Haible  <bruno@clisp.org>
76761
76762         * modules/tsearch: New file.
76763         * lib/tsearch.h: New file.
76764         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
76765         * m4/tsearch.m4: New file.
76766         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
76767
76768 2006-10-29  Eric Blake  <ebb9@byu.net>
76769
76770         * lib/arcfour.c: Assume config.h.
76771         * lib/arctwo.c: Likewise.
76772         * lib/base64.c: Likewise.
76773         * lib/check-version.c: Likewise.
76774         * lib/crc.c: Likewise.
76775         * lib/des.c: Likewise.
76776         * lib/gc-gnulib.c: Likewise.
76777         * lib/gc-libgcrypt.c: Likewise.
76778         * lib/gc-pbkdf2-sha1.c: Likewise.
76779         * lib/getaddrinfo.c: Likewise.
76780         * lib/getdelim.c: Likewise.
76781         * lib/getline.c: Likewise.
76782         * lib/hmac-md5.c: Likewise.
76783         * lib/hmac-sha1.c: Likewise.
76784         * lib/iconvme.c: Likewise.
76785         * lib/md2.c: Likewise.
76786         * lib/md4.c: Likewise.
76787         * lib/memxor.c: Likewise.
76788         * lib/read-file.c: Likewise.
76789         * lib/readline.c: Likewise.
76790         * lib/rijndael-alg-fst.c: Likewise.
76791         * lib/rijndael-api-fst.c: Likewise.
76792         * lib/xgetdomainname.c: Likewise.
76793
76794 2006-10-28  Eric Blake  <ebb9@byu.net>
76795
76796         * lib/xstrndup.c: Assume config.h.
76797
76798 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
76799
76800         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
76801         stat-macros.h is now for our own macros, whereas stat_h is for
76802         macros in the <sys/stat.h> name space.
76803         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
76804         (STAT_MACROS_H): Remove.
76805         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
76806         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
76807         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
76808         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
76809         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
76810         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
76811         Move these macros to ...
76812         * lib/stat_.h: here.  Don't include stat-macros.h.
76813         * lib/canonicalize.c: Don't include stat-macros.h.
76814         * lib/chown.c: Likewise.
76815         * lib/euidaccess.c: Likewise.
76816         * lib/file-type.c: Likewise.
76817         * lib/filemode.c: Likewise.
76818         * lib/glob.c: Likewise.
76819         * lib/isapipe.c: Likewise.
76820         * lib/lchown.c: Likewise.
76821         * lib/lstat.c: Likewise.
76822         * lib/mkdir-p.c: Likewise.
76823         * lib/rmdir.c: Likewise.
76824         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
76825         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
76826         unless mkdir isn't declared, to speed up 'configure'.
76827         Always create sys/stat.h, since it's unlikely any real sys/stat.h
76828         would define all the S_* symbols.
76829         * modules/canonicalize (Depends-on):
76830         Depend on sys_stat, not stat-macros.
76831         * modules/chown: Likewise.
76832         * modules/euidaccess: Likewise.
76833         * modules/filemode: Likewise.
76834         * modules/file-type: Likewise.
76835         * modules/glob: Likewise.
76836         * modules/isapipe: Likewise.
76837         * modules/lchown: Likewise.
76838         * modules/lstat: Likewise.
76839         * modules/mkancesdirs: Likewise.
76840         * modules/rmdir: Likewise.
76841         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
76842         * modules/modechange: Likewise.
76843         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
76844         (configure.ac): Remove gl_STAT_MACROS.
76845         * modules/sys_stat (Depends-on): Remove stat-macros.
76846
76847 2006-10-27  Bruno Haible  <bruno@clisp.org>
76848
76849         * m4/signed.m4: Remove file.
76850         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
76851         invocation.
76852         * modules/vasnprintf (Files): Remove m4/signed.m4.
76853
76854 2006-10-27  Bruno Haible  <bruno@clisp.org>
76855
76856         Update to GNU gettext 0.16.
76857         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
76858         m4/inttypes-h.m4, m4/signed.m4.
76859         * m4/gettext.m4: Update to GNU gettext 0.16.
76860         * m4/intl.m4: New file, from GNU gettext.
76861         * m4/intldir.m4: New file, from GNU gettext.
76862         * config/srclist.txt: Update
76863
76864 2006-10-27  Eric Blake  <ebb9@byu.net>
76865
76866         * MODULES.html.sh: Document tempname.
76867         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
76868         dependencies.
76869         (Files): Move lib/tempname.c...
76870         * modules/tempname: ...to this new module.
76871         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
76872         (gl_PREREQ_TEMPNAME): Move...
76873         * m4/tempname.m4: ...to this new file.
76874         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
76875         * modules/sys_stat (Depends-on): Add stat-macros.
76876         * lib/stat_.h (includes): Pick up stat macros.
76877         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
76878         if stat macros are broken.
76879         * lib/tempname.c (includes): No need to include "stat-macros.h".
76880         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
76881         (direxists, __path_search) [!_LIBC]: Don't compile these in
76882         gnulib; the tmpdir module covers that.
76883         * lib/tempname.h: New file.
76884
76885 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
76886
76887         * COPYING: Explain how gnulib-tool converts licence headers.
76888         Almost all wording by Eric Blake.
76889
76890 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
76891
76892         * lib/mbchar.h (is_basic_table): Make read-only.
76893         * lib/mbchar.c (is_basic_table): Likewise.
76894         Reported by John Darrington.
76895
76896 2006-10-25  Bruno Haible  <bruno@clisp.org>
76897
76898         * lib/progname.h (set_program_name): Undefine before defining.
76899
76900 2006-10-25  Bruno Haible  <bruno@clisp.org>
76901
76902         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
76903         false for non-gcc C++ compilers.
76904         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
76905
76906 2006-10-24  Bruno Haible  <bruno@clisp.org>
76907
76908         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
76909         iconv implementations like Irix iconv.
76910
76911 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76912
76913         * modules/vararrays: New file.
76914         * m4/vararrays.m4: New file, taken from diffutils.
76915         * MODULES.html.sh: New module vararrays.
76916
76917 2006-10-24  Karl Berry  <karl@gnu.org>
76918
76919         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
76920         Don't call GNU Unix.
76921
76922 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76923
76924         * users.txt: Add Libtool.
76925
76926         Sync from Libtool:
76927
76928         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76929
76930         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
76931         to gnulib's policy of including config.h unconditionally.
76932
76933 2006-10-24  Bruno Haible  <bruno@clisp.org>
76934
76935         * modules/wcwidth (Files): Add m4/wint_t.m4.
76936         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
76937         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
76938
76939 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76940
76941         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
76942         to pacify GCC with some -W flags enabled.  Problem reported by
76943         Bruno Haible.
76944
76945 2006-10-24  Jim Meyering  <jim@meyering.net>
76946
76947         * MODULES.html.sh: Remove uinttostr.  It's not a module.
76948         Reported by Karl Berry.
76949
76950 2006-10-23  Bruno Haible  <bruno@clisp.org>
76951
76952         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
76953
76954 2006-10-24  Bruno Haible  <bruno@clisp.org>
76955
76956         * lib/gl_list.h: Use C comment style, not C++ comment style.
76957
76958 2006-10-23  Eric Blake  <ebb9@byu.net>
76959
76960         * lib/getaddrinfo.c (includes): Add missing include.
76961
76962 2006-10-23  Bruno Haible  <bruno@clisp.org>
76963             Paul Eggert  <eggert@cs.ucla.edu>
76964
76965         Ability to rename obstack_free.
76966         * lib/obstack.h (__obstack_free): New macro. Declare instead of
76967         obstack_free.
76968         (obstack_free): Invoke the __obstack_free macro.
76969         * lib/obstack.c (obstack_free): Use __obstack_free macro.
76970
76971 2006-10-23  Bruno Haible  <bruno@clisp.org>
76972             Paul Eggert  <eggert@cs.ucla.edu>
76973
76974         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
76975         __argc, __argv from the declaration. (They are defined as macros on
76976         mingw.)
76977
76978 2006-10-22  Bruno Haible  <bruno@clisp.org>
76979
76980         * doc/gnulib-intro.texi: New file.
76981         * doc/gnulib.texi: Include it.
76982
76983 2006-10-21  Bruno Haible  <bruno@clisp.org>
76984
76985         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
76986         "Introduction", "Miscellanous Notes", "Particular Modules".
76987
76988 2006-10-21  Bruno Haible  <bruno@clisp.org>
76989
76990         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76991         Change mostlyclean-local rule to avoid sh syntax error from bash
76992         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
76993
76994 2006-10-23  Jim Meyering  <jim@meyering.net>
76995
76996         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
76997         in place of snprintf.
76998
76999         * modules/inttostr (Files): Add lib/uinttostr.c.
77000         * lib/uinttostr.c (inttostr): New file/function.
77001         * lib/inttostr.h (uinttostr): Declare.
77002         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
77003         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
77004         Add uinttostr.
77005         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
77006
77007 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
77008
77009         * lib/canonicalize.c (ELOOP): Define if not already defined.
77010         Problem reported by Bruno Haible in
77011         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
77012
77013 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
77014
77015         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
77016         Problem reported by Perry Smith and Ville Laurikari.
77017
77018         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
77019         uses.
77020
77021 2006-10-19  Bruno Haible  <bruno@clisp.org>
77022
77023         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
77024         for mingw.
77025
77026 2006-10-19  Bruno Haible  <bruno@clisp.org>
77027
77028         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
77029         Needed for mingw.
77030
77031 2006-10-19  Bruno Haible  <bruno@clisp.org>
77032
77033         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
77034
77035 2006-10-19  Bruno Haible  <bruno@clisp.org>
77036
77037         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
77038         it.
77039
77040 2006-10-19  Bruno Haible  <bruno@clisp.org>
77041
77042         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
77043         invocation.
77044
77045 2006-10-19  Bruno Haible  <bruno@clisp.org>
77046
77047         * gnulib-tool (func_create_testdir): Don't include ftruncate and
77048         mountlist by default.
77049
77050 2006-10-16  Bruno Haible  <bruno@clisp.org>
77051
77052         * lib/c-strstr.c: Include c-strstr.h.
77053
77054 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
77055
77056         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
77057         in a slash.
77058
77059 2006-10-18  Bruno Haible  <bruno@clisp.org>
77060
77061         * lib/lock.h [C++]: Wrap definitions in extern "C".
77062
77063 2006-10-18  Bruno Haible  <bruno@clisp.org>
77064
77065         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
77066         gl_LIBOBJS list.
77067
77068 2006-10-18  Bruno Haible  <bruno@clisp.org>
77069
77070         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
77071
77072 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
77073
77074         * lib/xstrtol.h: Include gettext.h.
77075         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
77076         Problem reported by Eric Blake.
77077         * modules/xstrtol (Depends-on): Add gettext-h.
77078
77079 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
77080
77081         * lib/strftime.c (advance): New macro.
77082         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
77083         incomplete type, so you can't add 0 to it.  Problem and patch
77084         reported by Eelco Dolstra for dietlibc.
77085
77086 2006-10-18  Jim Meyering  <jim@meyering.net>
77087
77088         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
77089         type for a local, and rename it: s/up/user_proc/.
77090
77091 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
77092
77093         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
77094         READ_UTMP_USER_PROCESS.
77095         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
77096
77097 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
77098
77099         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
77100         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
77101
77102 2006-10-17  Eric Blake  <ebb9@byu.net>
77103
77104         * lib/sigprocmask.c (sigprocmask): Fix typo.
77105
77106         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
77107
77108         * modules/clean-temp (Makefile.am): Don't add to make output...
77109         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
77110         config.h.
77111
77112 2006-10-17  Bruno Haible  <bruno@clisp.org>
77113
77114         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
77115         differently if DEFAULT_TEXT_DOMAIN is set.
77116
77117 2006-10-16  Bruno Haible  <bruno@clisp.org>
77118
77119         * lib/clean-temp.c: Include fwriteerror.h.
77120
77121 2006-10-16  Bruno Haible  <bruno@clisp.org>
77122
77123         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
77124
77125 2006-10-16  Bruno Haible  <bruno@clisp.org>
77126
77127         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
77128         * lib/sigprocmask.h: Include <sys/types.h>.
77129         (sigset_t): Use the system's definition if present.
77130
77131 2006-10-17  Eric Blake  <ebb9@byu.net>
77132
77133         * lib/xvasprintf.c (includes): Assume config.h.
77134         * lib/xasprintf.c (includes): Likewise.
77135
77136 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
77137
77138         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
77139         at least as wide as intmax_t.
77140
77141 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
77142
77143         (Imported from Automake.)
77144         * build-aux/gnupload: Update to version 1.1 of directive file.
77145
77146 2006-10-16  Eric Blake  <ebb9@byu.net>
77147
77148         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
77149         match Automake 1.10a.
77150
77151 2006-10-14  Bruno Haible  <bruno@clisp.org>
77152
77153         * modules/sigprocmask: New file.
77154         * lib/sigprocmask.h: New file.
77155         * lib/sigprocmask.c: New file.
77156         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
77157         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
77158         request sigprocmask.o.
77159         (gl_PREREQ_SIGPROCMASK): New macro.
77160         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
77161         (Depends-on): Add sigprocmask.
77162         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
77163         gt_SIGNALBLOCKING. Test for 'raise' only once.
77164         * lib/fatal-signal.c: Include sigprocmask.h.
77165         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
77166         unblock_fatal_signals): Define always.
77167         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
77168         sigprocmask.
77169
77170 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
77171
77172         Sync from Automake.
77173         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
77174         which incorrectly sets the mode of an existing destination
77175         directory.  In some cases the unpatched install-sh could do the
77176         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
77177         system.  We hope this is rare in practice, but it's clearly worth
77178         fixing.  Problem reported by Alex Unleashed in
77179         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
77180         Also, don't bother to check for -m bugs unless we're using -m;
77181         suggested by Stepan Kasal.
77182
77183 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77184
77185         Sync from Automake.
77186         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
77187         `-c' flag, so they appear at the same position as in %FASTDEP%
77188         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
77189         which ignores unknown options only after the first non-option.
77190         Bug report against M4 by Nelson H. F. Beebe.
77191
77192 2006-10-13  Jim Meyering  <jim@meyering.net>
77193
77194         Fix a bug in yesterday's change.
77195         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
77196         p->fts_statp->st_dev would be used uninitialized.
77197         Ensures that we always call fts_stat on the very first entry.
77198         Miklos Szeredi reported that find -xdev stopped working.
77199
77200 2006-10-12  Bruno Haible  <bruno@clisp.org>
77201
77202         * gnulib-tool (func_get_automake_snippet): Append an automatically
77203         computed EXTRA_DIST augmentation.
77204         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
77205         * modules/alloca-opt (Makefile.am): Likewise.
77206         * modules/allocsa (Makefile.am): Likewise.
77207         * modules/arcfour (Makefile.am): Likewise.
77208         * modules/arctwo (Makefile.am): Likewise.
77209         * modules/argmatch (Makefile.am): Likewise.
77210         * modules/argz (Makefile.am): Likewise.
77211         * modules/atexit (Makefile.am): Likewise.
77212         * modules/backupfile (Makefile.am): Likewise.
77213         * modules/byteswap (Makefile.am): Likewise.
77214         * modules/c-strtod (Makefile.am): Likewise.
77215         * modules/c-strtold (Makefile.am): Likewise.
77216         * modules/calloc (Makefile.am): Likewise.
77217         * modules/canon-host (Makefile.am): Likewise.
77218         * modules/canonicalize (Makefile.am): Likewise.
77219         * modules/chdir-long (Makefile.am): Likewise.
77220         * modules/chdir-safer (Makefile.am): Likewise.
77221         * modules/check-version (Makefile.am): Likewise.
77222         * modules/chown (Makefile.am): Likewise.
77223         * modules/cloexec (Makefile.am): Likewise.
77224         * modules/close-stream (Makefile.am): Likewise.
77225         * modules/closeout (Makefile.am): Likewise.
77226         * modules/crc (Makefile.am): Likewise.
77227         * modules/csharpexec (Makefile.am): Likewise.
77228         * modules/cycle-check (Makefile.am): Likewise.
77229         * modules/des (Makefile.am): Likewise.
77230         * modules/dev-ino (Makefile.am): Likewise.
77231         * modules/dirfd (Makefile.am): Likewise.
77232         * modules/dirname (Makefile.am): Likewise.
77233         * modules/dup2 (Makefile.am): Likewise.
77234         * modules/eealloc (Makefile.am): Likewise.
77235         * modules/error (Makefile.am): Likewise.
77236         * modules/euidaccess (Makefile.am): Likewise.
77237         * modules/exclude (Makefile.am): Likewise.
77238         * modules/exitfail (Makefile.am): Likewise.
77239         * modules/fcntl-safer (Makefile.am): Likewise.
77240         * modules/fcntl (Makefile.am): Likewise.
77241         * modules/file-type (Makefile.am): Likewise.
77242         * modules/fileblocks (Makefile.am): Likewise.
77243         * modules/filemode (Makefile.am): Likewise.
77244         * modules/filenamecat (Makefile.am): Likewise.
77245         * modules/fnmatch (Makefile.am): Likewise.
77246         * modules/fopen-safer (Makefile.am): Likewise.
77247         * modules/fpending (Makefile.am): Likewise.
77248         * modules/fprintftime (Makefile.am): Likewise.
77249         * modules/free (Makefile.am): Likewise.
77250         * modules/fsusage (Makefile.am): Likewise.
77251         * modules/ftruncate (Makefile.am): Likewise.
77252         * modules/fts (Makefile.am): Likewise.
77253         * modules/gc-arcfour (Makefile.am): Likewise.
77254         * modules/gc-des (Makefile.am): Likewise.
77255         * modules/gc-hmac-md5 (Makefile.am): Likewise.
77256         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
77257         * modules/gc-md4 (Makefile.am): Likewise.
77258         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
77259         * modules/gc-sha1 (Makefile.am): Likewise.
77260         * modules/gc (Makefile.am): Likewise.
77261         * modules/getaddrinfo (Makefile.am): Likewise.
77262         * modules/getcwd (Makefile.am): Likewise.
77263         * modules/getdelim (Makefile.am): Likewise.
77264         * modules/getdomainname (Makefile.am): Likewise.
77265         * modules/getgroups (Makefile.am): Likewise.
77266         * modules/gethostname (Makefile.am): Likewise.
77267         * modules/gethrxtime (Makefile.am): Likewise.
77268         * modules/getline (Makefile.am): Likewise.
77269         * modules/getloadavg (Makefile.am): Likewise.
77270         * modules/getlogin_r (Makefile.am): Likewise.
77271         * modules/getndelim2 (Makefile.am): Likewise.
77272         * modules/getopt (Makefile.am): Likewise.
77273         * modules/getpagesize (Makefile.am): Likewise.
77274         * modules/getpass-gnu (Makefile.am): Likewise.
77275         * modules/getpass (Makefile.am): Likewise.
77276         * modules/getsubopt (Makefile.am): Likewise.
77277         * modules/gettime (Makefile.am): Likewise.
77278         * modules/gettimeofday (Makefile.am): Likewise.
77279         * modules/getugroups (Makefile.am): Likewise.
77280         * modules/getusershell (Makefile.am): Likewise.
77281         * modules/glob (Makefile.am): Likewise.
77282         * modules/group-member (Makefile.am): Likewise.
77283         * modules/hard-locale (Makefile.am): Likewise.
77284         * modules/hash (Makefile.am): Likewise.
77285         * modules/hmac-md5 (Makefile.am): Likewise.
77286         * modules/hmac-sha1 (Makefile.am): Likewise.
77287         * modules/human (Makefile.am): Likewise.
77288         * modules/idcache (Makefile.am): Likewise.
77289         * modules/imaxabs (Makefile.am): Likewise.
77290         * modules/imaxdiv (Makefile.am): Likewise.
77291         * modules/inet_ntop (Makefile.am): Likewise.
77292         * modules/inet_pton (Makefile.am): Likewise.
77293         * modules/intprops (Makefile.am): Likewise.
77294         * modules/inttostr (Makefile.am): Likewise.
77295         * modules/inttypes (Makefile.am): Likewise.
77296         * modules/isapipe (Makefile.am): Likewise.
77297         * modules/javaversion (Makefile.am): Likewise.
77298         * modules/lchmod (Makefile.am): Likewise.
77299         * modules/lchown (Makefile.am): Likewise.
77300         * modules/localcharset (Makefile.am): Likewise.
77301         * modules/long-options (Makefile.am): Likewise.
77302         * modules/lstat (Makefile.am): Likewise.
77303         * modules/malloc (Makefile.am): Likewise.
77304         * modules/mathl (Makefile.am): Likewise.
77305         * modules/mbchar (Makefile.am): Likewise.
77306         * modules/md2 (Makefile.am): Likewise.
77307         * modules/md4 (Makefile.am): Likewise.
77308         * modules/md5 (Makefile.am): Likewise.
77309         * modules/memcasecmp (Makefile.am): Likewise.
77310         * modules/memchr (Makefile.am): Likewise.
77311         * modules/memcmp (Makefile.am): Likewise.
77312         * modules/memcoll (Makefile.am): Likewise.
77313         * modules/memcpy (Makefile.am): Likewise.
77314         * modules/memmem (Makefile.am): Likewise.
77315         * modules/memmove (Makefile.am): Likewise.
77316         * modules/mempcpy (Makefile.am): Likewise.
77317         * modules/memrchr (Makefile.am): Likewise.
77318         * modules/memset (Makefile.am): Likewise.
77319         * modules/memxor (Makefile.am): Likewise.
77320         * modules/mkancesdirs (Makefile.am): Likewise.
77321         * modules/mkdir-p (Makefile.am): Likewise.
77322         * modules/mkdir (Makefile.am): Likewise.
77323         * modules/mkdtemp (Makefile.am): Likewise.
77324         * modules/mkstemp (Makefile.am): Likewise.
77325         * modules/mktime (Makefile.am): Likewise.
77326         * modules/modechange (Makefile.am): Likewise.
77327         * modules/mountlist (Makefile.am): Likewise.
77328         * modules/nanosleep (Makefile.am): Likewise.
77329         * modules/obstack (Makefile.am): Likewise.
77330         * modules/openat (Makefile.am): Likewise.
77331         * modules/pagealign_alloc (Makefile.am): Likewise.
77332         * modules/pathmax (Makefile.am): Likewise.
77333         * modules/physmem (Makefile.am): Likewise.
77334         * modules/poll (Makefile.am): Likewise.
77335         * modules/posixtm (Makefile.am): Likewise.
77336         * modules/posixver (Makefile.am): Likewise.
77337         * modules/putenv (Makefile.am): Likewise.
77338         * modules/quote (Makefile.am): Likewise.
77339         * modules/quotearg (Makefile.am): Likewise.
77340         * modules/raise (Makefile.am): Likewise.
77341         * modules/read-file (Makefile.am): Likewise.
77342         * modules/readline (Makefile.am): Likewise.
77343         * modules/readlink (Makefile.am): Likewise.
77344         * modules/readtokens (Makefile.am): Likewise.
77345         * modules/readutmp (Makefile.am): Likewise.
77346         * modules/realloc (Makefile.am): Likewise.
77347         * modules/regex (Makefile.am): Likewise.
77348         * modules/rename-dest-slash (Makefile.am): Likewise.
77349         * modules/rename (Makefile.am): Likewise.
77350         * modules/rijndael (Makefile.am): Likewise.
77351         * modules/rmdir (Makefile.am): Likewise.
77352         * modules/rpmatch (Makefile.am): Likewise.
77353         * modules/safe-read (Makefile.am): Likewise.
77354         * modules/safe-write (Makefile.am): Likewise.
77355         * modules/same-inode (Makefile.am): Likewise.
77356         * modules/same (Makefile.am): Likewise.
77357         * modules/save-cwd (Makefile.am): Likewise.
77358         * modules/savedir (Makefile.am): Likewise.
77359         * modules/setenv (Makefile.am): Likewise.
77360         * modules/settime (Makefile.am): Likewise.
77361         * modules/sha1 (Makefile.am): Likewise.
77362         * modules/sig2str (Makefile.am): Likewise.
77363         * modules/snprintf (Makefile.am): Likewise.
77364         * modules/stat-macros (Makefile.am): Likewise.
77365         * modules/stat-time (Makefile.am): Likewise.
77366         * modules/stdbool (Makefile.am): Likewise.
77367         * modules/stdint (Makefile.am): Likewise.
77368         * modules/stdlib-safer (Makefile.am): Likewise.
77369         * modules/stpcpy (Makefile.am): Likewise.
77370         * modules/stpncpy (Makefile.am): Likewise.
77371         * modules/strcase (Makefile.am): Likewise.
77372         * modules/strcasestr (Makefile.am): Likewise.
77373         * modules/strchrnul (Makefile.am): Likewise.
77374         * modules/strcspn (Makefile.am): Likewise.
77375         * modules/strdup (Makefile.am): Likewise.
77376         * modules/strerror (Makefile.am): Likewise.
77377         * modules/strftime (Makefile.am): Likewise.
77378         * modules/strndup (Makefile.am): Likewise.
77379         * modules/strnlen (Makefile.am): Likewise.
77380         * modules/strpbrk (Makefile.am): Likewise.
77381         * modules/strsep (Makefile.am): Likewise.
77382         * modules/strstr (Makefile.am): Likewise.
77383         * modules/strtod (Makefile.am): Likewise.
77384         * modules/strtoimax (Makefile.am): Likewise.
77385         * modules/strtok_r (Makefile.am): Likewise.
77386         * modules/strtol (Makefile.am): Likewise.
77387         * modules/strtoll (Makefile.am): Likewise.
77388         * modules/strtoul (Makefile.am): Likewise.
77389         * modules/strtoull (Makefile.am): Likewise.
77390         * modules/strtoumax (Makefile.am): Likewise.
77391         * modules/strverscmp (Makefile.am): Likewise.
77392         * modules/sys_socket (Makefile.am): Likewise.
77393         * modules/sys_stat (Makefile.am): Likewise.
77394         * modules/sysexits (Makefile.am): Likewise.
77395         * modules/time_r (Makefile.am): Likewise.
77396         * modules/timegm (Makefile.am): Likewise.
77397         * modules/timespec (Makefile.am): Likewise.
77398         * modules/tmpfile-safer (Makefile.am): Likewise.
77399         * modules/trim (Makefile.am): Likewise.
77400         * modules/unistd-safer (Makefile.am): Likewise.
77401         * modules/unlinkdir (Makefile.am): Likewise.
77402         * modules/unlocked-io (Makefile.am): Likewise.
77403         * modules/userspec (Makefile.am): Likewise.
77404         * modules/utime (Makefile.am): Likewise.
77405         * modules/utimecmp (Makefile.am): Likewise.
77406         * modules/utimens (Makefile.am): Likewise.
77407         * modules/vasnprintf (Makefile.am): Likewise.
77408         * modules/vasprintf (Makefile.am): Likewise.
77409         * modules/vsnprintf (Makefile.am): Likewise.
77410         * modules/xalloc (Makefile.am): Likewise.
77411         * modules/xgetcwd (Makefile.am): Likewise.
77412         * modules/xnanosleep (Makefile.am): Likewise.
77413         * modules/xreadlink (Makefile.am): Likewise.
77414         * modules/xstrtod (Makefile.am): Likewise.
77415         * modules/xstrtol (Makefile.am): Likewise.
77416         * modules/xstrtold (Makefile.am): Likewise.
77417         * modules/yesno (Makefile.am): Likewise.
77418         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
77419
77420 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77421
77422         * modules/error (Makefile.am): Distribute files through
77423         EXTRA_DIST, not lib_SOURCES.
77424
77425 2006-10-12  Eric Blake  <ebb9@byu.net>
77426
77427         * modules/error (Makefile.am): Distribute files in /lib.
77428         * modules/obstack (Makefile.am): Likewise.
77429
77430 2006-10-12  Bruno Haible  <bruno@clisp.org>
77431
77432         * modules/acl (Makefile.am): Distribute all files in lib/ through
77433         EXTRA_DIST.
77434         * modules/arcfour (Makefile.am): Likewise.
77435         * modules/arctwo (Makefile.am): Likewise.
77436         * modules/argmatch (Makefile.am): Likewise.
77437         * modules/argz (Makefile.am): Likewise.
77438         * modules/atexit (Makefile.am): Likewise.
77439         * modules/backupfile (Makefile.am): Likewise.
77440         * modules/c-strtod (Makefile.am): Likewise.
77441         * modules/c-strtold (Makefile.am): Likewise.
77442         * modules/calloc (Makefile.am): Likewise.
77443         * modules/canon-host (Makefile.am): Likewise.
77444         * modules/canonicalize (Makefile.am): Likewise.
77445         * modules/chdir-long (Makefile.am): Likewise.
77446         * modules/chdir-safer (Makefile.am): Likewise.
77447         * modules/check-version (Makefile.am): Likewise.
77448         * modules/chown (Makefile.am): Likewise.
77449         * modules/cloexec (Makefile.am): Likewise.
77450         * modules/close-stream (Makefile.am): Likewise.
77451         * modules/closeout (Makefile.am): Likewise.
77452         * modules/crc (Makefile.am): Likewise.
77453         * modules/cycle-check (Makefile.am): Likewise.
77454         * modules/des (Makefile.am): Likewise.
77455         * modules/dirfd (Makefile.am): Likewise.
77456         * modules/dirname (Makefile.am): Likewise.
77457         * modules/dup2 (Makefile.am): Likewise.
77458         * modules/euidaccess (Makefile.am): Likewise.
77459         * modules/exclude (Makefile.am): Likewise.
77460         * modules/exitfail (Makefile.am): Likewise.
77461         * modules/fcntl-safer (Makefile.am): Likewise.
77462         * modules/file-type (Makefile.am): Likewise.
77463         * modules/fileblocks (Makefile.am): Likewise.
77464         * modules/filemode (Makefile.am): Likewise.
77465         * modules/filenamecat (Makefile.am): Likewise.
77466         * modules/fnmatch (Makefile.am): Likewise.
77467         * modules/fopen-safer (Makefile.am): Likewise.
77468         * modules/fpending (Makefile.am): Likewise.
77469         * modules/fprintftime (Makefile.am): Likewise.
77470         * modules/free (Makefile.am): Likewise.
77471         * modules/fsusage (Makefile.am): Likewise.
77472         * modules/ftruncate (Makefile.am): Likewise.
77473         * modules/fts (Makefile.am): Likewise.
77474         * modules/gc (Makefile.am): Likewise.
77475         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
77476         * modules/getaddrinfo (Makefile.am): Likewise.
77477         * modules/getcwd (Makefile.am): Likewise.
77478         * modules/getdelim (Makefile.am): Likewise.
77479         * modules/getdomainname (Makefile.am): Likewise.
77480         * modules/getgroups (Makefile.am): Likewise.
77481         * modules/gethostname (Makefile.am): Likewise.
77482         * modules/gethrxtime (Makefile.am): Likewise.
77483         * modules/getline (Makefile.am): Likewise.
77484         * modules/getloadavg (Makefile.am): Likewise.
77485         * modules/getlogin_r (Makefile.am): Likewise.
77486         * modules/getopt (Makefile.am): Likewise.
77487         * modules/getpass (Makefile.am): Likewise.
77488         * modules/getpass-gnu (Makefile.am): Likewise.
77489         * modules/getsubopt (Makefile.am): Likewise.
77490         * modules/gettime (Makefile.am): Likewise.
77491         * modules/gettimeofday (Makefile.am): Likewise.
77492         * modules/getugroups (Makefile.am): Likewise.
77493         * modules/getusershell (Makefile.am): Likewise.
77494         * modules/glob (Makefile.am): Likewise.
77495         * modules/group-member (Makefile.am): Likewise.
77496         * modules/hard-locale (Makefile.am): Likewise.
77497         * modules/hash (Makefile.am): Likewise.
77498         * modules/hmac-md5 (Makefile.am): Likewise.
77499         * modules/hmac-sha1 (Makefile.am): Likewise.
77500         * modules/human (Makefile.am): Likewise.
77501         * modules/idcache (Makefile.am): Likewise.
77502         * modules/imaxabs (Makefile.am): Likewise.
77503         * modules/imaxdiv (Makefile.am): Likewise.
77504         * modules/inet_ntop (Makefile.am): Likewise.
77505         * modules/inet_pton (Makefile.am): Likewise.
77506         * modules/inttostr (Makefile.am): Likewise.
77507         * modules/isapipe (Makefile.am): Likewise.
77508         * modules/lchown (Makefile.am): Likewise.
77509         * modules/long-options (Makefile.am): Likewise.
77510         * modules/lstat (Makefile.am): Likewise.
77511         * modules/malloc (Makefile.am): Likewise.
77512         * modules/mathl (Makefile.am): Likewise.
77513         * modules/mbchar (Makefile.am): Likewise.
77514         * modules/md2 (Makefile.am): Likewise.
77515         * modules/md4 (Makefile.am): Likewise.
77516         * modules/md5 (Makefile.am): Likewise.
77517         * modules/memcasecmp (Makefile.am): Likewise.
77518         * modules/memchr (Makefile.am): Likewise.
77519         * modules/memcmp (Makefile.am): Likewise.
77520         * modules/memcoll (Makefile.am): Likewise.
77521         * modules/memcpy (Makefile.am): Likewise.
77522         * modules/memmem (Makefile.am): Likewise.
77523         * modules/memmove (Makefile.am): Likewise.
77524         * modules/mempcpy (Makefile.am): Likewise.
77525         * modules/memrchr (Makefile.am): Likewise.
77526         * modules/memset (Makefile.am): Likewise.
77527         * modules/memxor (Makefile.am): Likewise.
77528         * modules/mkancesdirs (Makefile.am): Likewise.
77529         * modules/mkdir (Makefile.am): Likewise.
77530         * modules/mkdir-p (Makefile.am): Likewise.
77531         * modules/mkdtemp (Makefile.am): Likewise.
77532         * modules/mkstemp (Makefile.am): Likewise.
77533         * modules/mktime (Makefile.am): Likewise.
77534         * modules/modechange (Makefile.am): Likewise.
77535         * modules/mountlist (Makefile.am): Likewise.
77536         * modules/nanosleep (Makefile.am): Likewise.
77537         * modules/openat (Makefile.am): Likewise.
77538         * modules/pagealign_alloc (Makefile.am): Likewise.
77539         * modules/physmem (Makefile.am): Likewise.
77540         * modules/poll (Makefile.am): Likewise.
77541         * modules/posixtm (Makefile.am): Likewise.
77542         * modules/posixver (Makefile.am): Likewise.
77543         * modules/putenv (Makefile.am): Likewise.
77544         * modules/quote (Makefile.am): Likewise.
77545         * modules/quotearg (Makefile.am): Likewise.
77546         * modules/raise (Makefile.am): Likewise.
77547         * modules/read-file (Makefile.am): Likewise.
77548         * modules/readline (Makefile.am): Likewise.
77549         * modules/readlink (Makefile.am): Likewise.
77550         * modules/readtokens (Makefile.am): Likewise.
77551         * modules/readutmp (Makefile.am): Likewise.
77552         * modules/realloc (Makefile.am): Likewise.
77553         * modules/regex (Makefile.am): Likewise.
77554         * modules/rename (Makefile.am): Likewise.
77555         * modules/rename-dest-slash (Makefile.am): Likewise.
77556         * modules/rijndael (Makefile.am): Likewise.
77557         * modules/rmdir (Makefile.am): Likewise.
77558         * modules/rpmatch (Makefile.am): Likewise.
77559         * modules/safe-read (Makefile.am): Likewise.
77560         * modules/safe-write (Makefile.am): Likewise.
77561         * modules/same (Makefile.am): Likewise.
77562         * modules/save-cwd (Makefile.am): Likewise.
77563         * modules/savedir (Makefile.am): Likewise.
77564         * modules/setenv (Makefile.am): Likewise.
77565         * modules/settime (Makefile.am): Likewise.
77566         * modules/sha1 (Makefile.am): Likewise.
77567         * modules/sig2str (Makefile.am): Likewise.
77568         * modules/snprintf (Makefile.am): Likewise.
77569         * modules/stdlib-safer (Makefile.am): Likewise.
77570         * modules/stpcpy (Makefile.am): Likewise.
77571         * modules/stpncpy (Makefile.am): Likewise.
77572         * modules/strcase (Makefile.am): Likewise.
77573         * modules/strcasestr (Makefile.am): Likewise.
77574         * modules/strchrnul (Makefile.am): Likewise.
77575         * modules/strcspn (Makefile.am): Likewise.
77576         * modules/strdup (Makefile.am): Likewise.
77577         * modules/strerror (Makefile.am): Likewise.
77578         * modules/strftime (Makefile.am): Likewise.
77579         * modules/strndup (Makefile.am): Likewise.
77580         * modules/strnlen (Makefile.am): Likewise.
77581         * modules/strpbrk (Makefile.am): Likewise.
77582         * modules/strsep (Makefile.am): Likewise.
77583         * modules/strstr (Makefile.am): Likewise.
77584         * modules/strtod (Makefile.am): Likewise.
77585         * modules/strtoimax (Makefile.am): Likewise.
77586         * modules/strtok_r (Makefile.am): Likewise.
77587         * modules/strtol (Makefile.am): Likewise.
77588         * modules/strtoll (Makefile.am): Likewise.
77589         * modules/strtoul (Makefile.am): Likewise.
77590         * modules/strtoull (Makefile.am): Likewise.
77591         * modules/strtoumax (Makefile.am): Likewise.
77592         * modules/strverscmp (Makefile.am): Likewise.
77593         * modules/time_r (Makefile.am): Likewise.
77594         * modules/timegm (Makefile.am): Likewise.
77595         * modules/tmpfile-safer (Makefile.am): Likewise.
77596         * modules/unistd-safer (Makefile.am): Likewise.
77597         * modules/unlinkdir (Makefile.am): Likewise.
77598         * modules/userspec (Makefile.am): Likewise.
77599         * modules/utime (Makefile.am): Likewise.
77600         * modules/utimecmp (Makefile.am): Likewise.
77601         * modules/utimens (Makefile.am): Likewise.
77602         * modules/vasnprintf (Makefile.am): Likewise.
77603         * modules/vasprintf (Makefile.am): Likewise.
77604         * modules/vsnprintf (Makefile.am): Likewise.
77605         * modules/xalloc (Makefile.am): Likewise.
77606         * modules/xgetcwd (Makefile.am): Likewise.
77607         * modules/xnanosleep (Makefile.am): Likewise.
77608         * modules/xreadlink (Makefile.am): Likewise.
77609         * modules/xstrtod (Makefile.am): Likewise.
77610         * modules/xstrtol (Makefile.am): Likewise.
77611         * modules/xstrtold (Makefile.am): Likewise.
77612         * modules/yesno (Makefile.am): Likewise.
77613
77614 2006-10-12  Jim Meyering  <jim@meyering.net>
77615
77616         * m4/getloadavg.m4: Revert the change below.
77617
77618         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
77619         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
77620         fail with a symlink, which is what coreutils' ./bootstrap now
77621         creates by default.
77622
77623 2006-10-12  Bruno Haible  <bruno@clisp.org>
77624
77625         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
77626         mingw.
77627         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
77628         MSVC and mingw explicitly.
77629
77630 2006-10-11  Simon Josefsson  <jas@extundo.com>
77631             Bruno Haible  <bruno@clisp.org>
77632
77633         Add support for multiple gnulib-tool invocations in the scope of a
77634         single configure.ac file.
77635         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
77636         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
77637         with the same contents as the _LIBADD variable.
77638         (func_emit_initmacro_start, func_emit_initmacro_end,
77639         func_emit_initmacro_done): New functions.
77640         (func_import, func_create_testdir): Invoke them. Allow the identifiers
77641         gl_LIBOBJS and gl_LTLIBOBJS.
77642
77643 2006-10-11  Bruno Haible  <bruno@clisp.org>
77644
77645         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
77646         (func_create_testdir): Don't create po/Makefile.am, don't invoke
77647         autoreconf. Instead, invoke autopoint explicitly but move back the
77648         *.m4 files from gnulib.
77649
77650 2006-10-11  Bruno Haible  <bruno@clisp.org>
77651
77652         * gnulib-tool (func_usage): Make module names after --create-testdir
77653         optional.
77654         (func_create_testdir): If no module was specified, use nearly all
77655         modules.
77656
77657 2006-10-12  Jim Meyering  <jim@meyering.net>
77658
77659         Big performance improvement for fts-based tools that use FTS_NOSTAT.
77660         Avoid spurious inode-mismatch problems on non-POSIX file systems.
77661         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
77662         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
77663         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
77664         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
77665         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
77666         (fts_set_stat_required): New function.
77667         (fts_open): Defer the calls to fts_stat, if possible or requested.
77668         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
77669         into fts_stat itself.
77670         (fts_read): Perform any required (deferred) fts_stat call.
77671         (fts_build): Likewise, for the directory we're about to open and read.
77672         In the readdir loop, carefully decide whether each entry will require
77673         an eventual call to fts_stat, using dirent.d_type info if available.
77674         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
77675         a command line argument into this function.  Update all callers.
77676         Map a return value of FTS_DOT to FTS_D for a command line argument.
77677         * modules/fts (Depends-on): Add d-type.  Alphabetize.
77678         Thanks to Miklos Szeredi for his tenacity and for the initial
77679         bug report about "find" failing on a FUSE-based file system.
77680
77681         * lib/fts.c (fts_open): Use consistent indentation.
77682
77683 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77684
77685         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
77686         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
77687         reported by Jim Meyering.  All uses of cache variables renamed
77688         to match Autoconf's.
77689         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
77690         the other one.
77691
77692         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
77693         Fix misspelling in diagnostic.
77694
77695 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77696
77697         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
77698         defined.  Problem reported by Matthew Woehlke.
77699
77700         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
77701         Add support for Tandem NonStop R series.
77702         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
77703         Use new macro.
77704
77705         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
77706         (has_trailing_slash): Omit size arg; all callers changed.
77707         Omit 'inline', since it doesn't help performance and we'd
77708         need to configure it.
77709         Don't count //, ///, etc. as having a trailing slash.
77710         As a side effect, this removes a C99ism reported by Matthew Woehlke.
77711         (rpl_rename_dest_slash): On failure, use rename's errno rather
77712         than (in some cases) an incorrect or junk errno.
77713         Simplify code by removing need to compute length; this does
77714         cause it to make two passes instead of one over the file name,
77715         but it's worth it.
77716
77717         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
77718         change, since Autoconf's version may no longer be appropriate now
77719         that we are using CVS Autoconf's version.  Add support for Tandem.
77720
77721 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77722             Bruno Haible  <bruno@clisp.org>
77723
77724         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
77725         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
77726         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
77727         gl_AC_TYPE_LONG_LONG.
77728
77729         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
77730         instead of HAVE_LONG_LONG.
77731         * lib/printf-args.c (printf_fetchargs): Likewise.
77732         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
77733         * lib/vasnprintf.c (VASNPRINTF): Likewise.
77734         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
77735         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
77736         gl_AC_TYPE_LONG_LONG.
77737
77738 2006-10-11  Bruno Haible  <bruno@clisp.org>
77739
77740         * m4/longlong.m4: Add comments.
77741         * m4/ulonglong.m4: Likewise.
77742
77743 2006-10-10  Bruno Haible  <bruno@clisp.org>
77744
77745         Make it possible to #define stpcpy, strdup to aliases.
77746         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
77747         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
77748
77749 2006-10-10  Bruno Haible  <bruno@clisp.org>
77750
77751         Make it possible to #define gcd to an alias.
77752         * lib/gcd.c: Include config.h.
77753
77754 2006-10-10  Bruno Haible  <bruno@clisp.org>
77755
77756         Make it possible to #define c_isascii to an alias.
77757         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
77758         defined. Undefine the macros before defining them, to avoid gcc
77759         warnings.
77760         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
77761         define NO_C_CTYPE_MACROS early.
77762
77763 2006-10-10  Bruno Haible  <bruno@clisp.org>
77764
77765         Make it possible to #define set_program_name to an alias.
77766         * lib/progname.c: Don't undefine set_program_name; instead, undefine
77767         ENABLE_RELOCATABLE early.
77768
77769 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
77770
77771         Port to Tandem NSK OSS, which has 64-bit signed int but at most
77772         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
77773         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
77774         More generally, don't assume that 64-bit signed int is available
77775         if unsigned int is, and vice versa.
77776         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
77777         unsigned symbols, not on their signed counterparts.
77778         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
77779         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
77780         (UINT64_C, UINTMAX_C):
77781         Likewise.
77782         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
77783         unsigned counterparts.
77784         (Have_long_long, Unsigned): New macros.
77785         (Int): Renamed from INT.
77786         (strtoimax): Use the new macros.
77787         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
77788         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
77789         * modules/inttypes (inttypes.h): Substitute
77790         HAVE_UNSIGNED_LONG_LONG_INT.
77791         * modules/stdint (stdint.h): Likewise.
77792         (Files): Add m4/ulonglong.m4.
77793
77794 2006-10-10  Bruno Haible  <bruno@clisp.org>
77795
77796         Fix a gcc -Wshadow warning.
77797         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
77798         to 'bucket'.
77799         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
77800         gl_linked_indexof_from_to): Likewise.
77801         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
77802         Likewise.
77803         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
77804         Likewise.
77805         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
77806         Reported by Eric Blake.
77807
77808 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
77809
77810         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
77811         for NetBSD.  Problem reported by Bruno Haible.
77812
77813 2006-10-09  Jim Meyering  <jim@meyering.net>
77814
77815         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
77816         Patch from Bruno Haible.
77817
77818 2006-10-09  Jim Meyering  <jim@meyering.net>
77819
77820         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
77821         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
77822         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
77823
77824 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
77825
77826         Don't include <config.h> twice; this doesn't work in some cases,
77827         e.g., when config.h has "#define intmax_t long long int" and
77828         we include <config.h>, <inttypes.h>, <config.h> in that order.
77829         Problem reported by Matthew Woehlke in:
77830         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
77831         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
77832         * lib/fts-cycle.c: Don't include config.h.
77833         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
77834         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
77835         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
77836         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
77837         inttypes.h.
77838         * lib/xstrtoumax.c: Likewise.
77839         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
77840         __strtol and the like, so that this module is more like its siblings.
77841         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
77842         Remove; no longer needed now that we assume gnulib inttypes.h.
77843
77844 2006-10-08  Bruno Haible  <bruno@clisp.org>
77845
77846         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
77847         option.
77848
77849 2006-10-07  Jim Meyering  <jim@meyering.net>
77850
77851         * modules/inttypes (inttypes.h): Revert what seems to have been
77852         an inadvertent part of today's change: use "|", not "/" in the
77853         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
77854
77855 2006-10-07  Bruno Haible  <bruno@clisp.org>
77856
77857         * modules/sublist: New file.
77858
77859 2006-10-07  Bruno Haible  <bruno@clisp.org>
77860
77861         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
77862         * modules/argz (argz.h): Likewise.
77863         * modules/arpa_inet (arpa/inet.h): Likewise.
77864         * modules/byteswap (byteswap.h): Likewise.
77865         * modules/configmake (configmake.h): Likewise.
77866         * modules/fcntl (fcntl.h): Likewise.
77867         * modules/fnmatch (fnmatch.h): Likewise.
77868         * modules/getopt (getopt.h): Likewise.
77869         * modules/glob (glob.h): Likewise.
77870         * modules/inttypes (inttypes.h): Likewise.
77871         * modules/netinet_in (netinet/in.h): Likewise.
77872         * modules/poll (poll.h): Likewise.
77873         * modules/stdbool (stdbool.h): Likewise.
77874         * modules/stdint (stdint.h): Likewise.
77875         * modules/sys_select (sys/select.h): Likewise.
77876         * modules/sys_socket (sys/socket.h): Likewise.
77877         * modules/sys_stat (sys/stat.h): Likewise.
77878         * modules/sysexits (sysexits.h): Likewise.
77879         * modules/unistd (unistd.h): Likewise.
77880         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77881         Add a "DO NOT EDIT" comment to the generated file.
77882         (func_import): Likewise for gnulib-comp.m4.
77883
77884 2006-10-07  Bruno Haible  <bruno@clisp.org>
77885
77886         * lib/gl_sublist.h: New file.
77887         * lib/gl_sublist.c: New file.
77888
77889 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77890
77891         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
77892         name (relative to the original working directory) and the file
77893         name component (relative to the temporary working directory).  All
77894         callers changed.
77895         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
77896         * lib/mkdir-p.c (make_dir_parents): Likewise.
77897         * lib/mkdir-p.h (make_dir_parents): Likewise.
77898
77899 2006-10-06  Eric Blake  <ebb9@byu.net>
77900
77901         Define several macros for use by the clean-temp module.
77902         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
77903         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
77904         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
77905
77906         * lib/clean-temp.h (close_stream_temp): New declaration.
77907         * lib/clean-temp.c (includes): Pull in headers according to what
77908         other modules are in use.
77909         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
77910
77911 2006-10-06  Bruno Haible  <bruno@clisp.org>
77912
77913         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
77914         instead of fopen, fwriteerror.
77915
77916 2006-10-06  Bruno Haible  <bruno@clisp.org>
77917
77918         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
77919         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
77920         int.
77921         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
77922         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
77923         Return an error indicator.
77924         Suggested by Eric Blake.
77925
77926 2006-10-06  Bruno Haible  <bruno@clisp.org>
77927
77928         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
77929         Reported by Eric Blake.
77930
77931 2006-10-06  Bruno Haible  <bruno@clisp.org>
77932
77933         * modules/closeout (Description): Mention stderr too.
77934
77935 2006-10-06  Bruno Haible  <bruno@clisp.org>
77936         and Paul Eggert  <eggert@cs.ucla.edu>
77937
77938         * lib/closeout.c (close_stdout): Also close stderr.
77939         * lib/closeout.h: Update comment.
77940
77941 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
77942
77943         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
77944         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
77945         * lib/dirchownmod.c: Include lchown.h.
77946         * lib/lchown.c: Don't include files that lchown.h now includes.
77947         Don't declare chown, since lchown.h now does that.
77948         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
77949         (lchown): Define to rpl_chown if lchown is declared but
77950         does not exist.  Declare using a prototype if lchown is not
77951         declared.  Add a copyright notice.
77952         * lib/mkstemp.h: Include <unistd.h>.
77953         * lib/openat.c: Include lchown.h.
77954
77955         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
77956         we now test for that separately.
77957         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
77958         rather than O_NOFOLLOW, when testing whether it's possible to
77959         avoid a race condition reliably.
77960         * lib/savewd.c (savewd_chdir): Likewise.
77961
77962         Remove macros that are no longer needed now that stdint.h is
77963         reliable.
77964         * lib/fsusage.c (UINTMAX_MAX): Remove.
77965         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
77966         * lib/utimecmp.c (SIZE_MAX): Remove.
77967
77968         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
77969
77970         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
77971         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
77972         O_NOATIME works.
77973
77974 2006-10-05  Bruno Haible  <bruno@clisp.org>
77975
77976         * lib/gl_list.h (gl_sortedlist_search_from_to,
77977         gl_sortedlist_indexof_from_to): New declarations.
77978         (gl_list_implementation): New fields sortedlist_search_from_to,
77979         sortedlist_indexof_from_to.
77980         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
77981         inline functions.
77982         * lib/gl_list.c (gl_sortedlist_search_from_to,
77983         gl_sortedlist_indexof_from_to): New functions.
77984         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
77985         function.
77986         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
77987         (gl_array_sortedlist_search_from_to): New function.
77988         (gl_array_list_implementation): Update.
77989         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
77990         function.
77991         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
77992         (gl_carray_sortedlist_search_from_to): New function.
77993         (gl_carray_list_implementation): Update.
77994         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
77995         gl_linked_sortedlist_indexof_from_to): New functions.
77996         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77997         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77998         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
77999         gl_tree_sortedlist_indexof_from_to): New functions.
78000         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
78001         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
78002         Update.
78003         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
78004         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
78005         Update.
78006
78007 2006-10-05  Bruno Haible  <bruno@clisp.org>
78008
78009         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
78010         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
78011         (struct gl_list_implementation): Add fields search_from_to,
78012         indexof_from_to. Remove fields search, indexof.
78013         (gl_list_search): Use the search_from_to method.
78014         (gl_list_search_from, gl_list_search_from_to): New functions.
78015         (gl_list_indexof): Use the indexof_from_to method.
78016         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
78017         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
78018         (gl_list_search_from, gl_list_search_from_to): New functions.
78019         (gl_list_indexof): Use the indexof_from_to method.
78020         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
78021         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
78022         gl_array_indexof. Add start_index, end_index arguments.
78023         (gl_array_search_from_to): Renamed from gl_array_search. Add
78024         start_index, end_index arguments.
78025         (gl_array_remove, gl_array_list_implementation): Update.
78026         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
78027         gl_carray_indexof. Add start_index, end_index arguments.
78028         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
78029         start_index, end_index arguments.
78030         (gl_carray_remove, gl_carray_list_implementation): Update.
78031         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
78032         gl_linked_search. Add start_index, end_index arguments.
78033         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
78034         start_index, end_index arguments.
78035         (gl_linked_remove): Update.
78036         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
78037         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
78038         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
78039         field to 'size_t'.
78040         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
78041         gl_tree_search. Add start_index, end_index arguments.
78042         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
78043         start_index, end_index arguments.
78044         (gl_tree_remove): Update.
78045         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
78046         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
78047         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
78048         function.
78049         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
78050         gl_tree_search. Add start_index, end_index arguments.
78051         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
78052         start_index, end_index arguments.
78053         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
78054         Update.
78055         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
78056
78057 2006-10-05  Bruno Haible  <bruno@clisp.org>
78058
78059         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
78060
78061         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
78062         fwriteerror_temp): New declarations.
78063         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
78064         (descriptors): New variable.
78065         (cleanup): First, close the descriptors.
78066         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
78067         fclose_temp, fwriteerror_temp): New functions.
78068
78069 2006-10-04  Jim Meyering  <jim@meyering.net>
78070
78071         * lib/fts.c (fts_open): Tiny comment change.
78072
78073 2006-10-04  Bruno Haible  <bruno@clisp.org>
78074
78075         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
78076         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
78077         gl_LOCK_BODY.
78078         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
78079         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
78080         gl_LOCK_EARLY_BODY.
78081         (gl_LOCK): Require gl_LOCK_BODY.
78082
78083 2006-10-04  Bruno Haible  <bruno@clisp.org>
78084
78085         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
78086         (gl_oset_search_atleast): New declaration.
78087         (struct gl_oset_implementation): Add field 'search_atleast'.
78088         (gl_oset_search_atleast): New inline function.
78089         * lib/gl_oset.c (gl_oset_search_atleast): New function.
78090         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
78091         (gl_array_oset_implementation): Update.
78092         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
78093         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
78094         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
78095
78096 2006-10-04  Bruno Haible  <bruno@clisp.org>
78097
78098         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
78099
78100 2006-10-03  Bruno Haible  <bruno@clisp.org>
78101
78102         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
78103         from gl_avltreehash_list_implementation.
78104
78105 2006-10-03  Bruno Haible  <bruno@clisp.org>
78106
78107         * lib/gl_oset.c (gl_oset_add): Fix return type.
78108
78109 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
78110
78111         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
78112
78113 2006-10-02  Eric Blake  <ebb9@byu.net>
78114
78115         * modules/strnlen (Depends-on): Add extensions.
78116
78117 2006-10-02  Eric Blake  <ebb9@byu.net>
78118
78119         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
78120         definition in 2.60+.
78121
78122 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
78123
78124         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
78125         checks.
78126
78127 2006-10-02  Bruno Haible  <bruno@clisp.org>
78128
78129         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
78130         to the AUTOMAKE_OPTIONS.
78131         Reported by Jim Meyering.
78132
78133 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
78134
78135         Work around bug in Solaris 10 /proc file system:
78136         /proc/self/fd/NNN/.. isn't the parent directory of
78137         the directory whose file descriptor is NNN.  This needs to
78138         be worked around at run time, not compile time, since a
78139         program might be built on Solaris 8, where things work, and
78140         run on Solaris 10.
78141         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
78142         to use the following interface instead:
78143         (OPENAT_BUFFER_SIZE): New macro.
78144         (openat_proc_name): New function.
78145         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
78146         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
78147         Likewise.
78148         * lib/openat-proc.c: New file.
78149         * modules/openat (Files): Add lib/openat-proc.c.
78150         (Depends-on): Add same-inode, stdbool.
78151         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
78152
78153 2006-09-29  Bruno Haible  <bruno@clisp.org>
78154
78155         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
78156         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
78157         argument. Set stdout_closed before testing for ferror, not after.
78158         (fwriteerror, fwriteerror_no_ebadf): New functions.
78159
78160 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78161
78162         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
78163
78164 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
78165
78166         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
78167         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
78168
78169 2006-09-28  Jim Meyering  <jim@meyering.net>
78170
78171         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
78172         Include <unistd.h>.
78173
78174 2006-09-28  Bruno Haible  <bruno@clisp.org>
78175
78176         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
78177         * modules/linkedhash-list (Depends-on): Likewise.
78178         * modules/rbtreehash-list (Depends-on): Likewise.
78179
78180 2006-09-28  Bruno Haible  <bruno@clisp.org>
78181
78182         * lib/strndup.h: Simplify the redefinition of strndup.
78183         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
78184         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
78185
78186 2006-09-28  Bruno Haible  <bruno@clisp.org>
78187
78188         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
78189         * lib/gl_linkedhash_list.c: Likewise.
78190         * lib/gl_rbtreehash_list.c: Likewise.
78191
78192 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
78193
78194         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
78195         getaddrinfo.
78196
78197         * lib/__fpending.h: Don't include <stdio_ext.h> unless
78198         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
78199         it causes <stdio_ext.h> to cause a compile-time error.
78200         Problem reported by Nelson H. F. Beebe.
78201         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
78202         of HAVE_DECL___PENDING.
78203
78204         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
78205         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
78206         declaration.
78207
78208 2006-09-27  Jim Meyering  <jim@meyering.net>
78209
78210         This file could end up with a definition for a function
78211         named __strndup, rather than rpl_strndup on a system with
78212         incomplete weak_alias support.
78213         * lib/strndup.c (strndup): Rename from __strndup.
78214         Remove #defines that used to map __strndup to strndup.
78215         Don't use K&R prototypes.
78216         Remove LIBC-related code, since this file is not sync'd with glibc.
78217         * lib/strndup.h: Revamp, accordingly.
78218         * m4/strndup.m4: Modernize.
78219
78220 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
78221
78222         * modules/savewd (Depends-on): Add 'raise'.
78223         * lib/savewd.c: Include <signal.h>, for 'raise'.
78224
78225 2006-09-26  Jim Meyering  <jim@meyering.net>
78226
78227         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
78228         when we detect Darwin 8.7.0's acl_get_file bug.
78229         Rearrange to perform the new (below) run-test while $LIBS
78230         contains any acl-related library.  Set USE_ACL at the end.
78231         (gl_ACL_GET_FILE): New function.
78232
78233 2006-09-26  Eric Blake  <ebb9@byu.net>
78234
78235         * lib/verror.c: Include <config.h> unconditionally.
78236
78237 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
78238
78239         * modules/clock-time (Maintainer): Add self.
78240         * modules/getlogin_r (Depends-on): Add extensions.
78241
78242 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78243
78244         * modules/clock-time: New module.
78245         * modules/nanosleep (Depends-on): Add clock-time.
78246         * modules/gethrxtime (Depends-on): Likewise.
78247         * modules/gettime (Depends-on): Likewise.
78248         * modules/settime (Depends-on): Likewise.
78249
78250         * modules/fts-lgpl: Depend on openat.
78251         * modules/mkancesdirs: Depend on savewd.
78252         * modules/mkdir-p: Likewise.
78253
78254 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78255
78256         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
78257
78258         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
78259         `gl_have_arbitrary_file_name_length_limit' to
78260         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
78261         actually works between configure runs.
78262
78263 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78264             Bruno Haible  <bruno@clisp.org>
78265
78266         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
78267
78268 2006-09-25  Jim Meyering  <jim@meyering.net>
78269
78270         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
78271         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
78272
78273 2006-09-25  Eric Blake  <ebb9@byu.net>
78274
78275         * gnulib-tool (func_import, func_create_testdir): Fix typos in
78276         exec's in 2006-09-18 patch when shuffling fds.
78277
78278 2006-09-25  Bruno Haible  <bruno@clisp.org>
78279
78280         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
78281         Reported by Jim Meyering.
78282
78283 2006-09-24  Jim Meyering  <jim@meyering.net>
78284
78285         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
78286         compare a pointer against a literal "0".  That caused failures with
78287         at least HP-UX's hpcc.
78288
78289 2006-09-22  Simon Josefsson  <jas@extundo.com>
78290
78291         * modules/gc-sha1:
78292         * modules/gc-md4:
78293         * modules/gc-hmac-sha1:
78294         * modules/gc-hmac-md5:
78295         * modules/gc-des:
78296         * modules/gc-arcfour: Distribute more files.
78297
78298 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78299
78300         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
78301         (gl_linked_iterator_from_to): Initialize struct completely.
78302         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
78303         (gl_tree_iterator_from_to): Likewise
78304         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
78305         * lib/gl_array_list.c [lint] (gl_array_iterator)
78306         (gl_array_iterator_from_to): Likewise.
78307         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
78308         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
78309         (gl_carray_iterator_from_to): Likewise.
78310
78311         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
78312         * lib/md4.c (md4_process_block): Remove unused variable.
78313         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
78314         parentheses for clarity.
78315
78316 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78317
78318         * modules/bison-i18n (Depends-on): Add gettext.
78319
78320 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78321
78322         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
78323         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
78324         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
78325         also add missing comma that caused broken test.
78326         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
78327         stdlib.h, for `abort'.
78328         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
78329         variables.
78330         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
78331         include unistd.h if present, for `rmdir'.
78332         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
78333         variables.
78334         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
78335         in the process include standard headers for prototypes.
78336         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
78337         gets declared on GNU/Linux.
78338         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
78339         unistd.h, for `rmdir'.
78340         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
78341
78342         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
78343         always true.
78344         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
78345
78346         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
78347
78348 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78349
78350         * gnulib-tool (func_version): Create output all at once.  This
78351         may help avoid triggering unnecessary SIGPIPEs, and at any
78352         rate it doesn't hurt.
78353
78354 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78355             Bruno Haible  <bruno@clisp.org>
78356
78357         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
78358         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
78359         * m4/signed.m4 (bh_C_SIGNED): Likewise.
78360
78361         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
78362         (gl_FUNC_VASPRINTF): Invoke it.
78363
78364 2006-09-22  Bruno Haible  <bruno@clisp.org>
78365
78366         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
78367         getloadavg.c as first argument.
78368
78369 2006-09-22  Bruno Haible  <bruno@clisp.org>
78370
78371         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
78372         at the beginning of the gl_INIT macro.
78373         * modules/getloadavg (configure.ac): Pass $gl_source_base to
78374         gl_GETLOADAVG.
78375
78376 2006-09-22  Bruno Haible  <bruno@clisp.org>
78377
78378         * gnulib-tool (func_create_megatestdir): Don't include the config-h
78379         module.
78380         Suggested by Ralf Wildenhues.
78381
78382 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
78383
78384         Import this patch from libc:
78385
78386         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
78387
78388         * lib/regex_internal.c (re_string_reconstruct): Handle
78389         offset < pstr->valid_raw_len && pstr->offsets_needed case.
78390         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
78391         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
78392         re_string_context_at.
78393
78394         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
78395         now requires it.
78396         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
78397         gl_REGEX now does it for us.
78398         (gl_REGEX): Add test taken from
78399         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
78400
78401         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
78402         Check that large offsets work.  Modernize Autoconf usages.
78403         Prefer "yes" to mean a good thing rather than a bad.
78404         Don't put "#define mkstemp" in config.h, as this might interfere
78405         with standard system headers that "#define mkstemp mkstemp64".
78406
78407         * modules/mkstemp (Depends-on): Add extensions, so that
78408         mkstemp is visible on some platforms.
78409         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
78410         (Include): Change to "mkstemp.h" from <stdlib.h>.
78411         (Files): Add mkstemp.h.
78412
78413         * lib/mkstemp.h: New file, since some standard headers
78414         #define mkstemp.
78415         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
78416         Include "mkstemp.h".
78417         Make the _LIBC code resemble glibc original more,
78418         e.g., use K&R style.
78419         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
78420         (mkstemp): Remove, since mkstemp.h does this for us.
78421         * lib/stdlib--.h: Include mkstemp.h.
78422
78423         Import this patch from libc:
78424
78425         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
78426
78427         * lib/tempname.c (__gen_tempname): Change attempts_min
78428         into a macro.  Use preprocessor to decide how to initialize
78429         attempts [Coverity CID 67].
78430
78431 2006-09-20  Bruno Haible  <bruno@clisp.org>
78432
78433         * lib/mkdtemp.c: Import from libc.
78434         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
78435                 * sysdeps/posix/tempname.c (__gen_tempname): Change
78436                 attempts_min into a macro.  Use preprocessor to decide how to
78437                 initialize attempts [Coverity CID 67].
78438         2001-11-27  Paul Eggert  <eggert@twinsun.com>
78439                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
78440                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
78441
78442 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78443
78444         * gnulib-tool (func_exit): New function, to allow to pass the
78445         exit status portably through the trap.  Use everywhere.
78446         (--help, --version): Signal a write error.
78447         (trap): catch SIGPIPE, for write errors.
78448         Exit at the end of the trap, with the correct exit status.
78449
78450 2006-09-19  Karl Berry  <karl@gnu.org>
78451
78452         * doc/gnulib.texi: note about the license texinfo files.
78453
78454 2006-09-19  Eric Blake  <ebb9@byu.net>
78455
78456         * gnulib-tool: Avoid space-tab.
78457
78458 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
78459
78460         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
78461         that prevented coreutils 6.1 from building.  Problem reported
78462         by Petter Reinholdtsen.
78463
78464 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
78465
78466         * gnulib-tool (avoidlist): Fix typo that broke options like
78467         --avoid=lock that are used by coreutils bootstrap.
78468
78469 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
78470
78471         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
78472         more systematically.
78473
78474 2006-09-18  Jim Meyering  <jim@meyering.net>
78475
78476         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
78477
78478 2006-09-18  Bruno Haible  <bruno@clisp.org>
78479
78480         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
78481
78482 2006-09-18  Bruno Haible  <bruno@clisp.org>
78483
78484         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
78485         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
78486         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
78487         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
78488         * m4/gettext.m4: Require autoconf >= 2.52.
78489         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
78490         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
78491         of gl_cv_header_inttypes_h.
78492
78493 2006-09-18  Bruno Haible  <bruno@clisp.org>
78494
78495         * lib/javaversion.c: Include configmake.h.
78496
78497 2006-09-18  Bruno Haible  <bruno@clisp.org>
78498
78499         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
78500         avoid that the while loops be executed in a subshell.
78501
78502 2006-09-18  Bruno Haible  <bruno@clisp.org>
78503
78504         * MODULES.html.sh (func_module): Break long lines.
78505         Suggested by Bruce Korb <bkorb@gnu.org>.
78506
78507 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78508
78509         Speed up by a factor of 1.12.
78510         * gnulib-tool (nl): New variable.
78511         (func_import): Rewrite include directive extraction to only read each
78512         directive once.
78513
78514 2006-09-17  Bruno Haible  <bruno@clisp.org>
78515
78516         * modules/javaversion (Makefile.am): Remove DEFS setting.
78517         (Depends-on): Add configmake, for PKGDATADIR definition.
78518
78519 2006-09-17  Bruno Haible  <bruno@clisp.org>
78520
78521         * gnulib-tool (func_create_testdir): Rewrite all files at once.
78522
78523 2006-09-17  Bruno Haible  <bruno@clisp.org>
78524
78525         * gnulib-tool (func_append): New function, stolen from libtool.m4.
78526         (func_modules_transitive_closure, func_modules_add_dummy,
78527         func_modules_to_filelist, func_import, func_create_testdir,
78528         func_create_megatestdir, ...): Use it wherever possible.
78529         Suggested by Ralf Wildenhues.
78530
78531 2006-09-16  Karl Berry  <karl@gnu.org>
78532
78533         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
78534         to avoid sectioning errors.
78535         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
78536         [ifinfo]: blank line after @center-ed titles.
78537         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
78538         Spell FSF address consistently with others.
78539         (These changes approved by rms.)
78540
78541 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78542
78543         Speed up by a factor of 1.61.
78544         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
78545         already checked module names again.
78546
78547 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78548
78549         Speed up by a factor of 1.13.
78550         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
78551         for new_files, and the input to func_add_or_update.
78552
78553 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78554
78555         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
78556         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
78557
78558 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78559
78560         * modules/mkancesdirs (Depends-on): Add fcntl.
78561         * modules/savewd: New file.
78562         * MODULES.html.sh (File system functions): Add savewd.
78563
78564         * modules/configmake (Makefile.am): Add support for the
78565         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
78566
78567 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78568
78569         * m4/savewd.m4: New file.
78570
78571 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78572
78573         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
78574         (dirchownmod): New arg FD.  All callers changed.
78575         Use FD rather than opening the directory ourself, as opening is
78576         now the caller's responsibility.
78577         * lib/dirchownmod.h: Likewise.
78578         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
78579         hosts that require <sys/types.h> before <sys/stat.h>.  Include
78580         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
78581         (test_dir): Remove.
78582         (mkancesdirs): Return length of prefix of FILE that has already
78583         been made, or -2 if there is a child doing the work.  Redo
78584         algorithm so that it is O(N) rather than O(N**2).  Optimize away
78585         ".", and treat ".." specially since it might stray back into
78586         already-created areas.  Use a subprocess if necessary.  New arg
78587         WD; all users changed.  MAKE_DIR function should now return 1
78588         if it creates a directory that is not readable.  Return -2 if
78589         a child process is spun off.
78590         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
78591         Adjust signature to match code.
78592         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
78593         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
78594         all users changed.
78595         * lib/savewd.c, lib/savewd.h: New files.
78596
78597 2006-09-15  Jim Meyering  <jim@meyering.net>
78598
78599         * modules/rename-dest-slash: New module.
78600         * MODULES.html.sh (posix_compat): Add it here.
78601
78602         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
78603
78604 2006-09-15  Jim Meyering  <jim@meyering.net>
78605
78606         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
78607         file.
78608
78609         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
78610
78611 2006-09-15  Jim Meyering  <jim@meyering.net>
78612
78613         * lib/rename-dest-slash.c (has_trailing_slash): Use
78614         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
78615         (rpl_rename_dest_slash): Perform the cheaper trailing slash
78616         test before testing whether SRC is a directory.
78617         Suggestions from Bruno Haible.
78618
78619         Avoid a warning about an unused variable.
78620         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
78621         into the #ifdef block where it's used.
78622
78623         * lib/rename-dest-slash.c: New file.
78624
78625 2006-09-14  Bruno Haible  <bruno@clisp.org>
78626
78627         * lib/allocsa.c: Include <config.h> unconditionally.
78628         * lib/asnprintf.c: Likewise.
78629         * lib/asprintf.c: Likewise.
78630         * lib/c-strcasecmp.c: Likewise.
78631         * lib/c-strcasestr.c: Likewise.
78632         * lib/c-strncasecmp.c: Likewise.
78633         * lib/c-strstr.c: Likewise.
78634         * lib/classpath.c: Likewise.
78635         * lib/clean-temp.c: Likewise.
78636         * lib/concatpath.c: Likewise.
78637         * lib/copy-file.c: Likewise.
78638         * lib/csharpcomp.c: Likewise.
78639         * lib/csharpexec.c: Likewise.
78640         * lib/execute.c: Likewise.
78641         * lib/fatal-signal.c: Likewise.
78642         * lib/findprog.c: Likewise.
78643         * lib/fwriteerror.c: Likewise.
78644         * lib/gl_array_list.c: Likewise.
78645         * lib/gl_array_oset.c: Likewise.
78646         * lib/gl_avltree_list.c: Likewise.
78647         * lib/gl_avltree_oset.c: Likewise.
78648         * lib/gl_avltreehash_list.c: Likewise.
78649         * lib/gl_carray_list.c: Likewise.
78650         * lib/gl_linked_list.c: Likewise.
78651         * lib/gl_linkedhash_list.c: Likewise.
78652         * lib/gl_list.c: Likewise.
78653         * lib/gl_oset.c: Likewise.
78654         * lib/gl_rbtree_list.c: Likewise.
78655         * lib/gl_rbtree_oset.c: Likewise.
78656         * lib/gl_rbtreehash_list.c: Likewise.
78657         * lib/imaxabs.c: Likewise.
78658         * lib/imaxdiv.c: Likewise.
78659         * lib/javacomp.c: Likewise.
78660         * lib/javaexec.c: Likewise.
78661         * lib/javaversion.c: Likewise.
78662         * lib/linebreak.c: Likewise.
78663         * lib/localcharset.c: Likewise.
78664         * lib/lock.c: Likewise.
78665         * lib/mbchar.c: Likewise.
78666         * lib/mbswidth.c: Likewise.
78667         * lib/mkdtemp.c: Likewise.
78668         * lib/pipe.c: Likewise.
78669         * lib/printf-args.c: Likewise.
78670         * lib/printf-parse.c: Likewise.
78671         * lib/progname.c: Likewise.
78672         * lib/progreloc.c: Likewise.
78673         * lib/readlink.c: Likewise.
78674         * lib/sh-quote.c: Likewise.
78675         * lib/stpcpy.c: Likewise.
78676         * lib/stpncpy.c: Likewise.
78677         * lib/strcasecmp.c: Likewise.
78678         * lib/strcasestr.c: Likewise.
78679         * lib/strcspn.c: Likewise.
78680         * lib/striconv.c: Likewise.
78681         * lib/strncasecmp.c: Likewise.
78682         * lib/strnlen1.c: Likewise.
78683         * lib/strstr.c: Likewise.
78684         * lib/strtok_r.c: Likewise.
78685         * lib/tls.c: Likewise.
78686         * lib/tmpdir.c: Likewise.
78687         * lib/unicodeio.c: Likewise.
78688         * lib/unsetenv.c: Likewise.
78689         * lib/vasnprintf.c: Likewise.
78690         * lib/vasprintf.c: Likewise.
78691         * lib/wait-process.c: Likewise.
78692         * lib/xallocsa.c: Likewise.
78693         * lib/xsetenv.c: Likewise.
78694         * lib/xstriconv.c: Likewise.
78695
78696 2006-09-13  Simon Josefsson  <jas@extundo.com>
78697
78698         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
78699         that internally, suggested by Ralf Wildenhues
78700         <Ralf.Wildenhues@gmx.de>.
78701
78702 2006-09-13  Simon Josefsson  <jas@extundo.com>
78703
78704         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
78705         @LIBOBJS@.
78706         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78707
78708 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78709
78710         * lib/_fpending.c: Include <config.h> unconditionally, since we no
78711         longer worry about uses that don't define HAVE_CONFIG_H.
78712         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
78713         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
78714         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
78715         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
78716         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
78717         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
78718         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
78719         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
78720         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
78721         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
78722         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
78723         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
78724         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
78725         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
78726         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
78727         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
78728         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
78729         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
78730         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
78731         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
78732         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
78733         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
78734         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
78735         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
78736         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
78737         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
78738         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
78739         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
78740         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
78741         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
78742         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
78743         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
78744         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
78745         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
78746         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
78747         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
78748         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
78749         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
78750         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
78751         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
78752         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
78753         Likewise.
78754
78755 2006-09-13  Eric Blake  <ebb9@byu.net>
78756
78757         * lib/getopt.c: Fix typo in last commit.
78758
78759 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
78760
78761         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
78762         dgettext.
78763
78764 2006-09-12  Jim Meyering  <jim@meyering.net>
78765
78766         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
78767         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
78768         Reported by Nelson H. F. Beebe.
78769
78770 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
78771
78772         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
78773         program_invocation_name and program_invocation_short_name are
78774         initialized.
78775         * lib/argp-namefrob.h: Move declarations of program_invocation_name
78776         and program_invocation_short_name to argp.h, so they are visible
78777         to user programs.
78778         * lib/argp.h: Likewise
78779
78780 2006-09-10  Bruno Haible  <bruno@clisp.org>
78781
78782         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
78783         m4/inttypes_h.m4, m4/uintmax_t.m4.
78784
78785 2006-09-10  Bruno Haible  <bruno@clisp.org>
78786
78787         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
78788         gl_AC_TYPE_UINTMAX_T.
78789
78790 2006-09-10  Bruno Haible  <bruno@clisp.org>
78791
78792         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
78793
78794 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78795
78796         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
78797         convention.  Text proposed by Bruno Haible.
78798         (struct argp_option): Document the use of N_() wrappers.
78799
78800         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
78801         '\v', and translate the two parts separately, instead of feeding
78802         the whole string to gettext.  This allows to exclude
78803         '\v' from the strings visible to the translator by writing doc
78804         strings as N_("..") "\v" N_("..").
78805
78806 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
78807
78808         * config/srclist.txt: Undo latest change; the bug was fixed.
78809
78810 2006-09-09  Bruno Haible  <bruno@clisp.org>
78811
78812         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
78813         assignments if building a library without libtool.
78814         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
78815         in func_emit_lib_Makefile_am.
78816         (func_import): When building a static library libfoo.a, arrange to
78817         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
78818         (func_create_testdir): Likewise.
78819         * modules/gc (configure.ac, Makefile.am): If building statically,
78820         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
78821         * modules/iconvme (configure.ac, Makefile.am): Likewise.
78822         * modules/striconv (configure.ac, Makefile.am): Likewise.
78823         Based on a suggestion by Ralf Wildenhues.
78824
78825 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78826
78827         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
78828         Check for unistd.h too, since Autoconf doesn't assume POSIX.
78829         Also:
78830
78831         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78832         Add year_2050_test to catch glibc bug 2821
78833         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78834
78835         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78836         Prefer #ifdef to #if.
78837
78838         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
78839         Return from 'main' instead of calling 'exit'.
78840
78841 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78842
78843         * lib/mktime.c (guess_time_tm): Fix bug where mktime
78844         returned the maximum time_t value rather than (time_t) -1.
78845         Problem originally reported by William Bardwell
78846         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78847
78848         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78849         Moved to here ...
78850         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78851         ... from here.
78852
78853 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78854
78855         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
78856         2821 is fixed.
78857
78858 2006-09-08  Jim Meyering  <jim@meyering.net>
78859
78860         Don't make generated files read-only.  That would bother too many
78861         people.  However, do retain the ability to work when targets are
78862         read-only: remove the destination and temporary files before writing
78863         them (when generated via sed or echo), or by using the -f option for
78864         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
78865         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78866         * modules/byteswap, modules/configmake, modules/fcntl:
78867         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78868         * modules/localcharset, modules/netinet_in, modules/poll:
78869         * modules/stdbool, modules/stdint, modules/sys_select:
78870         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78871
78872 2006-09-08  Jim Meyering  <jim@meyering.net>
78873
78874         Avoid new build failure on FreeBSD 6.0.
78875         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
78876         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
78877         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
78878
78879 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78880
78881         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
78882
78883 2006-09-07  Jim Meyering  <jim@meyering.net>
78884
78885         Fix global typo in last change: use chmod u-w, not chmod u-x.
78886         Spotted by Paul Eggert and Bruce Korb.
78887         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78888         * modules/byteswap, modules/configmake, modules/fcntl:
78889         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78890         * modules/localcharset, modules/netinet_in, modules/poll:
78891         * modules/stdbool, modules/stdint, modules/sys_select:
78892         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78893
78894 2006-09-06  Jim Meyering  <jim@meyering.net>
78895
78896         Make generated files be read-only.
78897         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
78898         Ensure that each generated file is now read-only.
78899         * modules/argz: Likewise.
78900         * modules/arpa_inet: Likewise.
78901         * modules/byteswap: Likewise.
78902         * modules/configmake: Likewise.
78903         * modules/fcntl: Likewise.
78904         * modules/fnmatch: Likewise.
78905         * modules/getopt: Likewise.
78906         * modules/glob: Likewise.
78907         * modules/inttypes: Likewise.
78908         * modules/netinet_in: Likewise.
78909         * modules/poll: Likewise.
78910         * modules/stdbool: Likewise.
78911         * modules/stdint: Likewise.
78912         * modules/sys_select: Likewise.
78913         * modules/sys_socket: Likewise.
78914         * modules/sys_stat: Likewise.
78915         * modules/sysexits: Likewise.
78916         * modules/localcharset: Same as above, but continue using temporary
78917         file named "t-$@" (why different?) rather than the "$@-t" used
78918         everywhere else.
78919
78920         * modules/sysexits (Makefile.am): Replace literal occurrences
78921         of "sysexit.h" more readable, and more consistent, "$@".
78922
78923 2006-09-06  Bruno Haible  <bruno@clisp.org>
78924
78925         * modules/striconv: New file.
78926         * modules/xstriconv: New file.
78927         * MODULES.html.sh (Internationalization functions): Add striconv,
78928         xstriconv.
78929
78930 2006-09-06  Bruno Haible  <bruno@clisp.org>
78931
78932         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
78933         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
78934         not using libtool correctly.
78935
78936 2006-09-06  Bruno Haible  <bruno@clisp.org>
78937
78938         * lib/striconv.h: New file.
78939         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
78940         iconvstring.c.
78941         * lib/xstriconv.h: New file.
78942         * lib/xstriconv.c: New file.
78943
78944 2006-09-06  Bruno Haible  <bruno@clisp.org>
78945
78946         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
78947         lib_..._LDFLAGS.
78948
78949 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78950
78951         * lib/argz_.h: Sync from Libtool.
78952
78953         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
78954                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
78955
78956         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
78957
78958 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78959
78960         * modules/trim: New file.
78961
78962 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78963
78964         * lib/trim.h: New file.
78965         * lib/trim.c: New file.
78966
78967 2006-09-05  Bruno Haible  <bruno@clisp.org>
78968
78969         * MODULES.html.sh (String handling): Add trim.
78970
78971 2006-09-04  Karl Berry  <karl@gnu.org>
78972
78973         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
78974         until next release.
78975
78976 2006-09-03  Bruno Haible  <bruno@clisp.org>
78977
78978         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
78979         correctly.
78980
78981 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78982
78983         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
78984         not gl_GETLOADAVG.  Omit unneeded semicolons.
78985         Problems reported by Ralf Wildenhues in
78986         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78987         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
78988         at the end, which is the usual gnulib style.
78989
78990         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
78991         of doing all the work ourselves.
78992         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
78993         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
78994
78995 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78996
78997         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
78998         Problem reported by Ralf Wildenhues in
78999         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
79000
79001         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
79002         HAVE_STRUCT_STATFS_F_FSTYPENAME.
79003
79004 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79005
79006         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
79007         yesterday's patch by changing test -n to test -z.
79008
79009 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79010
79011         * modules/getloadavg (Files): Add m4/getloadavg.m4.
79012         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
79013         the former is now obsolescent.
79014
79015         * modules/chdir-long (Depends-on): Add fcntl.
79016
79017 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79018
79019         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
79020         obsolescent, and programs should use gnulib instead.
79021         * m4/getloadavg.m4: New file, with contents taken from Autoconf
79022         but with prefixes changed.
79023
79024 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79025
79026         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
79027         or stdbool.h, because they might not exist while configuring.
79028
79029         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
79030         Don't include unistd.h or limits.h; not needed, since chdir-long.h
79031         does that for us.
79032         (O_DIRECTORY): Remove.
79033
79034 2006-08-31  Eric Blake  <ebb9@byu.net>
79035
79036         * gnulib-tool: Don't let emacs change spaces to TAB.
79037
79038 2006-08-31  Bruno Haible  <bruno@clisp.org>
79039
79040         * gnulib-tool: When calling func_import more than once, do it in a
79041         subshell.
79042         Reported by Eric Blake <ebb9@byu.net>.
79043
79044 2006-08-31  Bruno Haible  <bruno@clisp.org>
79045
79046         * gnulib-tool (nl): Remove variable.
79047         (sed_transform_lib_file): Use more robust test for config-h module.
79048         (func_import): Fix typo in 2006-08-25 patch.
79049
79050 2006-08-31  Bruno Haible  <bruno@clisp.org>
79051
79052         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
79053         specified, augment Makefile.am variables instead of assigning them.
79054
79055 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
79056
79057         Work around a bug in both the Linux and SunOS 64-bit kernels:
79058         nanosleep mishandles sleeps for longer than 2**31 seconds.
79059         Problem reported by Frank v Waveren in
79060         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
79061         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
79062         Check for nanosleep bug.
79063         (LIB_NANOSLEEP): Append clock_gettime library if needed.
79064
79065 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
79066
79067         Work around a bug in both the Linux and SunOS 64-bit kernels:
79068         nanosleep mishandles sleeps for longer than 2**31 seconds.
79069         Problem reported by Frank v Waveren in
79070         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
79071         * lib/nanosleep.c (BILLION): New constant.
79072         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
79073         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
79074         implementation.
79075
79076 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
79077
79078         * modules/nanosleep (Depends-on): Add gettime.
79079
79080 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
79081         and Simon Josefsson  <jas@extundo.com>
79082         and Oskar Liljeblad  <oskar@osk.mine.nu>
79083
79084         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
79085         * gnulib-tool (func_import): New license type 'unmodifiable license
79086         text'.
79087         * modules/fdl: Use it.  Longer description.
79088         * module/gpl, module/lgpl: New files.
79089
79090 2006-08-30  Jim Meyering  <jim@meyering.net>
79091
79092         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
79093         shadowing the parameter.
79094
79095 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79096
79097         Sync from Libtool:
79098
79099         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79100
79101         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
79102         sharing with gnulib.  Report by Eric Blake.
79103
79104 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
79105
79106         * modules/isapipe: New file.
79107         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
79108
79109 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
79110
79111         * modules/configmake (Makefile.am): Add a comment, and omit
79112         the CONFIGMAKE_ prefix from generated macro names.  Suggested
79113         by Bruno Haible.
79114
79115 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
79116
79117         * m4/isapipe.m4: New file.
79118
79119 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
79120
79121         * lib/isapipe.c, lib/isapipe.h: New files.
79122
79123 2006-08-29  Jim Meyering  <jim@meyering.net>
79124
79125         * modules/configmake (Makefile.am): Make configmake.h depend on
79126         Makefile.  Otherwise, a stale configmake.h could hang around.
79127
79128 2006-08-29  Eric Blake  <ebb9@byu.net>
79129
79130         * lib/error.c (error_at_line, print_errno_message): Match libc, after
79131         resolution of upstream bug 3044.
79132
79133 2006-08-29  Bruno Haible  <bruno@clisp.org>
79134
79135         * modules/localcharset (Depends-on): Add configmake.
79136         (Makefile.am): Remove setting of LIBDIR through DEFS.
79137
79138 2006-08-29  Bruno Haible  <bruno@clisp.org>
79139
79140         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
79141         defined.
79142
79143 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
79144
79145         * modules/fcntl: New file.
79146         * modules/chdir-safer (Depends-on): Add fcntl.
79147         * modules/fts: Likewise.
79148         * modules/mkdir-p: Likewise.
79149
79150         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
79151         This undoes the most recent change, since we're now addressing the
79152         problem in a different way.
79153
79154         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
79155         into output, since the output might be called Makefile.am even
79156         if $makefile_name is something different.
79157         (func_import): Use $makefile_am rather than
79158         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
79159         empty.
79160
79161         * modules/inttypes (Files): Add m4/inttypes-h.m4.
79162
79163 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
79164
79165         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
79166         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
79167         recent change to stdint.m4, since we're now addressing the problem in a
79168         different way.
79169
79170 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
79171
79172         * m4/fcntl_h.m4: New file.
79173
79174 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
79175
79176         * lib/fcntl_.h: New file.
79177         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
79178         the fcntl module.
79179         * lib/dirchownmod.c: Likewise.
79180         * lib/fts.c: Likewise.
79181
79182         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
79183         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
79184         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
79185         just before including <inttypes.h>, to avoid circular inclusion.
79186
79187 2006-08-28  Jim Meyering  <jim@meyering.net>
79188
79189         * doc/visibility.texi: Actually read and correct the grammar of the
79190         sentence affected by yesterday's change.
79191
79192 2006-08-28  Eric Blake  <ebb9@byu.net>
79193
79194         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
79195         needs wrapper.
79196
79197 2006-08-28  Eric Blake  <ebb9@byu.net>
79198
79199         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
79200
79201 2006-08-28  Eric Blake  <ebb9@byu.net>
79202
79203         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
79204
79205 2006-08-28  Bruno Haible  <bruno@clisp.org>
79206
79207         * modules/c-strstr: New file, from GNU gettext.
79208         * MODULES.html.sh (String handling): Add c-strstr.
79209
79210 2006-08-28  Bruno Haible  <bruno@clisp.org>
79211
79212         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
79213         macros.
79214         Reported by Eric Blake.
79215
79216 2006-08-28  Bruno Haible  <bruno@clisp.org>
79217
79218         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
79219         (VASNPRINTF): Return a string of length > INT_MAX without failing.
79220         * lib/vasprintf.c: Include errno.h, limits.h.
79221         (EOVERFLOW): New fallback definition.
79222         (vasprintf): Test here whether the string length is > INT_MAX.
79223         * lib/vsnprintf.c: Include errno.h, limits.h.
79224         (EOVERFLOW): New fallback definition.
79225         (vsnprintf): Fix bug when generated string was too long for the buffer.
79226         Test here whether the string length is > INT_MAX.
79227
79228 2006-08-28  Bruno Haible  <bruno@clisp.org>
79229
79230         * lib/inttypes_.h (SCNX*): Remove definitions.
79231         Reported by Eric Blake.
79232
79233 2006-08-28  Bruno Haible  <bruno@clisp.org>
79234
79235         * lib/c-strstr.h: New file, from GNU gettext.
79236         * lib/c-strstr.c: New file, from GNU gettext.
79237
79238 2006-08-28  Bruno Haible  <bruno@clisp.org>
79239
79240         * gnulib-tool: Reorder some statements.
79241
79242 2006-08-28  Bruno Haible  <bruno@clisp.org>
79243
79244         * gnulib-tool: New option --makefile-name.
79245         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
79246         $makefile_name.
79247         (func_import): Write $makefile_name to the cache file, and read it from
79248         there unless explicitly specified. Use $makefile_name as file name
79249         instead of Makefile.am. Adjust the recommendations accordingly.
79250
79251 2006-08-28  Bruno Haible  <bruno@clisp.org>
79252
79253         * gnulib-tool (func_verify_module): Check against misapplying patch.
79254
79255 2006-08-28  Bruno Haible  <bruno@clisp.org>
79256
79257         * gnulib-tool (func_relativize, func_relconcat): New functions.
79258         Give an error if --local-dir is given with --update.
79259         Remove trailing slashes from $local_gnulib_dir.
79260         (func_import): Store the relativized $local_gnulib_dir in
79261         gnulib-cache.m4, and read it from there if not specified explicitly.
79262
79263 2006-08-28  Bruno Haible  <bruno@clisp.org>
79264
79265         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
79266         is the current directory. Respect also $local_gnulib_dir.
79267
79268 2006-08-28  Bruno Haible  <bruno@clisp.org>
79269             Simon Josefsson  <jas@extundo.com>
79270
79271         BeOS portability.
79272         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
79273
79274 2006-08-27  Jim Meyering  <jim@meyering.net>
79275
79276         * doc/visibility.texi: Remove duplicate word: "pointer".
79277
79278 2006-08-26  Bruno Haible  <bruno@clisp.org>
79279
79280         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
79281         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
79282         (Makefile.am): Create inttypes.h from inttypes_.h.
79283         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
79284
79285         * modules/imaxabs: New file.
79286
79287         * modules/imaxdiv: New file.
79288
79289 2006-08-26  Bruno Haible  <bruno@clisp.org>
79290
79291         * m4/inttypes.m4: New file.
79292         * m4/_inttypes_h.m4: Remove file.
79293         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
79294         PRI_MACROS_BROKEN.
79295         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
79296
79297         * m4/imaxabs.m4: New file.
79298
79299         * m4/imaxdiv.m4: New file.
79300
79301 2006-08-26  Bruno Haible  <bruno@clisp.org>
79302
79303         * lib/inttypes_.h: New file.
79304         * lib/inttypes.h: Remove file.
79305         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
79306
79307         * lib/imaxabs.c: New file.
79308
79309         * lib/imaxdiv.c: New file.
79310
79311 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79312
79313         New config-h module, so that "make" output needn't be cluttered
79314         by -DHAVE_CONFIG_H.
79315         * MODULES.html.sh (Support for building libraries and executables):
79316         Add config-h.
79317         * modules/config-h: New file.
79318         * gnulib-tool (nl, sed_transform_lib_file): New vars.
79319         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
79320         the config-h module is used.
79321
79322         New configmake module, so that "make" output needn't be cluttered
79323         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
79324         * MODULES.html.sh (Support for building libraries and executables):
79325         Add configmake.
79326         * modules/configmake: New file.
79327
79328 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79329
79330         * m4/config-h.m4: New file.
79331
79332 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79333
79334         * config/srclist.txt: Add elisp-comp.
79335
79336 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79337
79338         * MODULES.html.sh (Support for building libraries and executables):
79339         Add elisp-comp.
79340         * build-aux/elisp-comp: New file.
79341         * modules/elisp-comp: New file.
79342
79343 2006-08-24  Bruno Haible  <bruno@clisp.org>
79344
79345         * gnulib-tool (func_create_testdir): Use non-default values of
79346         sourcebase and m4base.
79347
79348 2006-08-24  Bruno Haible  <bruno@clisp.org>
79349
79350         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
79351         HTML structure.
79352
79353 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79354
79355         * modules/openat (Depends-on): Add lchown.
79356
79357 2006-08-23  Bruno Haible  <bruno@clisp.org>
79358
79359         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
79360         of gl_LOCK_EARLY instead of gl_LOCK.
79361
79362 2006-08-23  Bruno Haible  <bruno@clisp.org>
79363
79364         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
79365         on OSF/1 to no.
79366         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
79367
79368 2006-08-23  Bruno Haible  <bruno@clisp.org>
79369
79370         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
79371         as unusable.
79372
79373         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
79374         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
79375         (gl_LOCK): New macro.
79376
79377 2006-08-22  Simon Josefsson  <jas@extundo.com>
79378
79379         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
79380         to md5 module.
79381
79382 2006-08-22  Simon Josefsson  <jas@extundo.com>
79383
79384         * MODULES.html.sh: Add "Support for maintaining and release
79385         projects".
79386
79387         * build-aux/gnupload: New file, from coreutils.
79388
79389 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79390
79391         Avoid the need for AC_LIBSOURCES in m4 macros.
79392         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
79393         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
79394         * modules/check-version (EXTRA_DIST): Add check-version.h.
79395         * modules/crc (EXTRA_DIST): Add crc.h.
79396         * modules/des (EXTRA_DIST): Add des.h.
79397         * modules/gc (EXTRA_DIST): Add gc.h.
79398         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
79399         * modules/getline (EXTRA_DIST): Add getline.h.
79400         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
79401         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
79402         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
79403         * modules/md2 (EXTRA_DIST): Add md2.h.
79404         * modules/md4 (EXTRA_DIST): Add md4.h.
79405         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
79406         * modules/read-file (EXTRA_DIST): Add read-file.h.
79407         * modules/readline (EXTRA_DIST): Add readline.h.
79408         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
79409         rijndael-api-fst.h.
79410
79411 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79412
79413         * m4/rijndael.m4 (gl_ARCFOUR):
79414         * m4/arctwo.m4 (gl_ARCTWO):
79415         * m4/check-version.m4 (gl_CHECK_VERSION):
79416         * m4/crc.m4 (gl_CRC):
79417         * m4/des.m4 (gl_DES):
79418         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
79419         * m4/gc.m4 (gl_GC):
79420         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
79421         * m4/getline.m4 (gl_FUNC_GETLINE):
79422         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
79423         * m4/hmac-md5.m4 (gl_HMAC_MD5):
79424         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
79425         * m4/md2.m4 (gl_MD2):
79426         * m4/md4.m4 (gl_MD4):
79427         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
79428         * m4/read-file.m4 (gl_FUNC_READ_FILE):
79429         * m4/readline.m4 (gl_FUNC_READLINE):
79430         * m4/rijndael.m4 (gl_RIJNDAEL):
79431         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
79432         to get the necessary .h files and whatnot.
79433
79434 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79435
79436         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
79437         gnulib rather than the other way around.
79438         * config/srclistvars.sh (COREUTILS): Remove.
79439
79440 2006-08-22  Jim Meyering  <jim@meyering.net>
79441
79442         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
79443
79444         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
79445
79446 2006-08-22  Eric Blake  <ebb9@byu.net>
79447
79448         * modules/regexprops-generic: New file.
79449         * MODULES.html.sh (Support for building documentation): List it.
79450
79451 2006-08-22  Eric Blake  <ebb9@byu.net>
79452
79453         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
79454         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
79455         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
79456         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
79457
79458 2006-08-22  Bruno Haible  <bruno@clisp.org>
79459
79460         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
79461         and lib_LTLIBRARIES like the other lib_* variables.
79462
79463 2006-08-22  Bruno Haible  <bruno@clisp.org>
79464
79465         * build-aux/x-to-1.in: New file, from GNU gettext.
79466
79467 2006-08-22  Bruno Haible  <bruno@clisp.org>
79468
79469         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
79470         <utmpx.h> exists.
79471
79472 2006-08-22  Bruno Haible  <bruno@clisp.org>
79473
79474         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
79475         <utmpx.h> exists.
79476
79477 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79478
79479         BeOS portability.
79480         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
79481         exist.
79482         Problem reported by Bruno Haible.
79483
79484 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79485
79486         Avoid the need for AC_LIBSOURCES in m4 macros.
79487         * modules/acl (EXTRA_DIST): Add acl.h.
79488         * modules/argmatch (Files): Add m4/argmatch.m4.
79489         (configure.ac): Add gl_ARGMATCH.
79490         (EXTRA_DIST): Renamed from lib_SOURCES, for
79491         consistency with the other modules.  Remove argmatch.c.
79492         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
79493         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
79494         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
79495         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
79496         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
79497         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
79498         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
79499         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
79500         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
79501         * modules/closeout (EXTRA_DIST): Add closeout.h.
79502         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
79503         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
79504         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
79505         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
79506         dirname.h; remove basename.c and stripslash.c.
79507         * modules/exclude (EXTRA_DIST): Add exclude.h.
79508         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
79509         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
79510         * modules/file-type (EXTRA_DIST): Add file-type.h.
79511         * modules/filemode (EXTRA_DIST): Add filemode.h.
79512         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
79513         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
79514         * modules/fpending (EXTRA_DIST): Add __fpending.h.
79515         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
79516         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
79517         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
79518         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
79519         * modules/getdate (EXTRA_DIST): Add getdate.c.
79520         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
79521         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
79522         * modules/getpass (EXTRA_DIST): Add getpass.h.
79523         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
79524         * modules/group-member (EXTRA_DIST): Add group-member.h.
79525         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
79526         * modules/hash (EXTRA_DIST): Add hash.h.
79527         * modules/human (EXTRA_DIST): Add human.h.
79528         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
79529         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
79530         * modules/lchown (EXTRA_DIST): Add lchown.h.
79531         * modules/long-options (EXTRA_DIST): Add long-options.h.
79532         * modules/lstat (EXTRA_DIST): Add lstat.h.
79533         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
79534         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
79535         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
79536         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
79537         * modules/memxor (EXTRA_DIST): Add memxor.h.
79538         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
79539         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
79540         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
79541         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
79542         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
79543         * modules/physmem (EXTRA_DIST): Add physmem.h.
79544         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
79545         * modules/posixver (EXTRA_DIST): Add posixver.h.
79546         * modules/quote (EXTRA_DIST): Add quote.h.
79547         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
79548         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
79549         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
79550         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
79551         regex_internal.h regexec.c.
79552         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
79553         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
79554         * modules/same (EXTRA_DIST): Add same.h.
79555         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
79556         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
79557         * modules/savedir (EXTRA_DIST): Add savedir.h.
79558         * modules/sha1 (EXTRA_DIST): Add sha1.h.
79559         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
79560         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
79561         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
79562         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
79563         * modules/strdup (EXTRA_DIST): Add strdup.h.
79564         * modules/strftime (EXTRA_DIST): Add strftime.h.
79565         * modules/strndup (EXTRA_DIST): Add strndup.h.
79566         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
79567         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
79568         * modules/time_r (EXTRA_DIST): Add time_r.h.
79569         * modules/timespec (EXTRA_DIST): Add timespec.h.
79570         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
79571         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
79572         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
79573         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
79574         * modules/userspec (EXTRA_DIST): Add userspec.h.
79575         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
79576         * modules/utimens (EXTRA_DIST): Add utimens.h.
79577         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
79578         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
79579         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
79580         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
79581         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
79582         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
79583         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
79584         * modules/yesno (EXTRA_DIST): Add yesno.h.
79585
79586 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79587
79588         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
79589
79590         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
79591         * m4/dev-ino.m4, same-inode.m4: Remove.
79592
79593         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
79594         * m4/acl.m4 (AC_FUNC_ACL):
79595         * m4/backupfile.m4 (gl_BACKUPFILE):
79596         * m4/c-strtod.m4 (gl_C99_STRTOLD):
79597         * m4/canon-host.m4 (gl_CANON_HOST):
79598         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
79599         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
79600         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
79601         * m4/cloexec.m4 (gl_CLOEXEC):
79602         * m4/close-stream.m4 (gl_CLOSE_STREAM):
79603         * m4/closeout.m4 (gl_CLOSEOUT):
79604         * m4/dirfd.m4 (gl_FUNC_DIRFD):
79605         * m4/dirname.m4 (gl_DIRNAME):
79606         * m4/exclude.m4 (gl_EXCLUDE):
79607         * m4/exitfail.m4 (gl_EXITFAIL):
79608         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
79609         * m4/file-type.m4 (gl_FILE_TYPE):
79610         * m4/filemode.m4 (gl_FILEMODE):
79611         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
79612         * m4/fpending.m4 (gl_FUNC_FPENDING):
79613         * m4/fprintftime.m4 (gl_FPRINTFTIME):
79614         * m4/fts.m4 (gl_FUNC_FTS):
79615         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
79616         * m4/getdate.m4 (gl_GETDATE):
79617         * m4/gethrxtime.m4 (gl_GETHRXTIME):
79618         * m4/getpagesize.m4 (gl_GETPAGESIZE):
79619         * m4/getpass.m4 (gl_FUNC_GETPASS):
79620         * m4/gettime.m4 (gl_GETTIME):
79621         * m4/getugroups.m4 (gl_GETUGROUPS):
79622         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
79623         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
79624         * m4/hard-locale.m4 (gl_HARD_LOCALE):
79625         * m4/hash.m4 (gl_HASH):
79626         * m4/idcache.m4 (gl_IDCACHE):
79627         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
79628         * m4/lchown.m4 (gl_FUNC_LCHOWN):
79629         * m4/long-options.m4 (gl_LONG_OPTIONS):
79630         * m4/lstat.m4 (gl_FUNC_LSTAT):
79631         * m4/md5.m4 (gl_MD5):
79632         * m4/memcasecmp.m4 (gl_MEMCASECMP):
79633         * m4/memcoll.m4 (gl_MEMCOLL):
79634         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
79635         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
79636         * m4/memxor.m4 (gl_MEMXOR):
79637         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
79638         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
79639         * m4/modechange.m4 (gl_MODECHANGE):
79640         * m4/mountlist.m4 (gl_MOUNTLIST):
79641         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
79642         * m4/openat.m4 (gl_FUNC_OPENAT):
79643         * m4/pathmax.m4 (gl_PATHMAX):
79644         * m4/physmem.m4 (gl_PHYSMEM):
79645         * m4/posixtm.m4 (gl_POSIXTM):
79646         * m4/posixver.m4 (gl_POSIXVER):
79647         * m4/quote.m4 (gl_QUOTE):
79648         * m4/quotearg.m4 (gl_QUOTEARG):
79649         * m4/readtokens.m4 (gl_READTOKENS):
79650         * m4/readutmp.m4 (gl_READUTMP):
79651         * m4/regex.m4 (gl_REGEX):
79652         * m4/safe-read.m4 (gl_SAFE_READ):
79653         * m4/safe-write.m4 (gl_SAFE_WRITE):
79654         * m4/same.m4 (gl_SAME):
79655         * m4/save-cwd.m4 (gl_SAVE_CWD):
79656         * m4/savedir.m4 (gl_SAVEDIR):
79657         * m4/settime.m4 (gl_SETTIME):
79658         * m4/sha1.m4 (gl_SHA1):
79659         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
79660         * m4/stat-macros.m4 (gl_STAT_MACROS):
79661         * m4/stat-time.m4 (gl_STAT_TIME):
79662         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
79663         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
79664         * m4/strdup.m4 (gl_FUNC_STRDUP):
79665         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
79666         * m4/strndup.m4 (gl_FUNC_STRNDUP):
79667         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
79668         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
79669         * m4/time_r.m4 (gl_TIME_R):
79670         * m4/timespec.m4 (gl_TIMESPEC):
79671         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
79672         * m4/unlinkdir.m4 (gl_UNLINKDIR):
79673         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
79674         * m4/userspec.m4 (gl_USERSPEC):
79675         * m4/utimecmp.m4 (gl_UTIMECMP):
79676         * m4/utimens.m4 (gl_UTIMENS):
79677         * m4/xalloc.m4 (gl_XALLOC):
79678         * m4/xgetcwd.m4 (gl_XGETCWD):
79679         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
79680         * m4/xreadlink.m4 (gl_XREADLINK):
79681         * m4/xstrtod.m4 (gl_XSTRTOD):
79682         * m4/yesno.m4 (gl_YESNO):
79683         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
79684         to get the necessary .h files and whatnot.
79685
79686 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
79687             Bruno Haible  <bruno@clisp.org>
79688
79689         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
79690         /bin/sh understanding of '!' conditional negation.
79691
79692 2006-08-21  Jim Meyering  <jim@meyering.net>
79693
79694         * modules/openat (Depends-on): Really alphabetize.
79695
79696         * modules/acl (Depends-on): Add error and quote.
79697
79698         * check-module (find_included_lib_files): Add at-func.c to the
79699         ok-to-include-more-than-once white list.
79700
79701         * modules/openat (Depends-on): Add lstat.  Alphabetize.
79702
79703 2006-08-21  Bruno Haible  <bruno@clisp.org>
79704
79705         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79706         Emit a pkgdata_DATA variable only if some snippets add contents to it.
79707         Reported by Martin Lambers <marlam@marlam.de>.
79708
79709 2006-08-21  Bruno Haible  <bruno@clisp.org>
79710
79711         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
79712         specify an installation location, don't emit a noinst_LIBRARIES or
79713         noinst_LTLIBRARIES assignment.
79714
79715 2006-08-21  Bruno Haible  <bruno@clisp.org>
79716
79717         BeOS portability.
79718         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
79719         BeOS has mbrtowc() but no <wctype.h>.
79720
79721 2006-08-21  Bruno Haible  <bruno@clisp.org>
79722
79723         BeOS portability.
79724         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
79725         exist.
79726
79727 2006-08-21  Bruno Haible  <bruno@clisp.org>
79728
79729         BeOS portability.
79730         * lib/mbchar.h: Include <wctype.h> only if it exists.
79731
79732 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79733
79734         Remove files that are no longer needed by their respective modules.
79735         * m4/obstack.m4: Remove.
79736         * m4/strerror_r.m4: Remove.
79737         * m4/uint32_t.m4: Remove.
79738         * m4/uintptr_t.m4: Remove.
79739         * m4/ullong_max.m4: Remove.
79740         * m4/xstrtoimax.m4: Remove.
79741         * m4/xstrtoumax.m4: Remove.
79742
79743         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
79744         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
79745         dependencies now capture this.
79746
79747         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
79748         Do not use AC_LIBSOURCES, since gnulib modules now do this.
79749         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
79750         * m4/human.m4 (gl_HUMAN): Likewise.
79751         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
79752         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
79753
79754         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
79755
79756         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
79757         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
79758         stdint.
79759         * m4/human.m4 (gl_HUMAN): Likewise.
79760         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
79761         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
79762         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79763         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79764         * m4/xstrtol (gl_XSTRTOL): Likewise.
79765
79766         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
79767         AC_TYPE_LONG_LONG_INT.
79768         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79769         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
79770         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
79771         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79772
79773         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
79774         on stdbool.
79775
79776         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
79777         (gl_PREREQ_XSTRTOUL): Remove.
79778
79779         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
79780
79781         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
79782         mode.
79783
79784 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79785
79786         Add and change modules to make it easier for coreutils to use
79787         gnulib-tool.
79788         * modules/backupfile (Files): Remove m4/d-ino.m4.
79789         (Depends-on): Add d-ino.
79790         * modules/cycle-check (Depends-on): Add stdint.
79791         (lib_SOURCES): Add cycle-check.h.
79792         * modules/d-ino: New module.
79793         * modules/d-type: New module.
79794         * modules/error (Files): Remove m4/strerror_r.m4.
79795         * modules/filemode (Files): Add m4/st_dm_mode.m4.
79796         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
79797         m4/inttypes_h.m4, m4/uintmax_t.m4.
79798         (Depends-on): Add stdint.
79799         (lib_SOURCES): Add fsusage.h.
79800         * modules/getcwd (Files): Remove d-ino.m4.
79801         (Depends-on): Add d-ino.
79802         * modules/getndelim2 (Depends-on): Add stdint.
79803         * modules/glob (Files): Remove m4/d-type.m4.
79804         (Depends-on): Add d-type.
79805         * modules/host-os: New module.
79806         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
79807         m4/inttypes_h.m4, m4/uintmax_t.m4.
79808         * Depends-on: Add stdint.
79809         (lib_SOURCES): Add human.h.
79810         * modules/inttostr (Files): Remove m4/intmax_t.m4,
79811         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
79812         m4/uintmax_t.m4, m4/ulonglong.m4.
79813         (Depends-on): Add stdint.
79814         (EXTRA_DIST): Add inttostr.h.
79815         * modules/lchmod: New module.
79816         * modules/link-follow: New module.
79817         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
79818         (Depends-on): Add lchmod.
79819         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
79820         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
79821         (Depends-on): Add stdint.
79822         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
79823         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
79824         (Depends-on): Add stdint.
79825         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
79826         * modules/perl: New module.
79827         * modules/regex (Depends-on): Add stdint.
79828         * modules/rmdir-errno: New module.
79829         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79830         m4/intmax_t.m4.
79831         (Depends-on): Add stdint.
79832         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79833         m4/uintmax_t.m4.
79834         (Depends-on): Add stdint.
79835         * modules/unlink-busy: New module.
79836         * modules/utimecmp (Depends-on): Add stdint.
79837         * modules/uptime: New module.
79838         * modules/winsz-ioctl: New module.
79839         * modules/winsz-termios: New module.
79840         * modules/xnanosleep (Depends-on): Add nanosleep.
79841         * modules/ullong_max: Remove.
79842         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
79843         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
79844         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
79845         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
79846         (Depends-on): Add inttypes.
79847         (lib_SOURCES): Add xstrtol.h.
79848         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
79849         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
79850         * MODULES.html.sh: Move 'assert' into the assert section.
79851         Move 'dummy' into the linking section.
79852         Remove ullong_max.
79853         Add section for compatibility checks for POSIX:2001 functions,
79854         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
79855         winsz-ioctl, and winsz-termios into it.
79856         Add lchmod.
79857         Add top-level Misc section and put host-os, perl, and uptime
79858         into it.
79859
79860 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79861
79862         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
79863         now assume the stdint module.  Do not include inttypes.h.
79864         * lib/fsusage.h: Likewise.
79865         * lib/getndelim2.c: Likewise.
79866         * lib/human.h: Likewise.
79867         * lib/inttostr.h: Likewise.
79868         * lib/obstack.c: Likewise.
79869         * lib/regex_internal.h: Likewise.
79870         * lib/tempname.c: Likewise.
79871         * lib/utimecmp.c: Likewise.
79872         * lib/xstrtol.h: Likewise.
79873
79874         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
79875
79876         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
79877         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
79878         * lib/xtime.h: Likewise.
79879
79880 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79881
79882         * modules/openat (Files): Add lib/fchmodat.c.
79883         Fixes problem reported by Jay Youngman.
79884
79885 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79886
79887         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
79888         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
79889
79890 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
79891             Bruno Haible  <bruno@clisp.org>
79892
79893         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
79894         and is a script that invokes bison. Tighten the code. Add comments.
79895
79896 2006-08-18  Jim Meyering  <jim@meyering.net>
79897
79898         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
79899         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
79900         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
79901         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
79902
79903 2006-08-18  Bruno Haible  <bruno@clisp.org>
79904
79905         * modules/bison-i18n: New file.
79906         * MODULES.html.sh (Internationalization functions): Add it.
79907
79908 2006-08-18  Bruno Haible  <bruno@clisp.org>
79909
79910         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
79911         sys/statvfs.h. When getmntinfo was found, check its declaration and
79912         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
79913
79914 2006-08-18  Bruno Haible  <bruno@clisp.org>
79915
79916         * m4/bison-i18n.m4: New file, from bison.
79917
79918 2006-08-18  Bruno Haible  <bruno@clisp.org>
79919
79920         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
79921         (ME_DUMMY): Treat "kernfs" as a dummy.
79922         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
79923
79924 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79925
79926         Update from coreutils.
79927
79928         2006-08-15  Jim Meyering  <jim@meyering.net>
79929
79930         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
79931
79932         2006-01-17  Jim Meyering  <jim@meyering.net>
79933
79934         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
79935
79936         2006-01-11  Jim Meyering  <jim@meyering.net>
79937
79938         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
79939         Check for the lchmod function.
79940
79941 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79942
79943         Update from coreutils.
79944
79945         * lib/__fpending.h: Add copyright notice.
79946         * lib/fprintftime.h: Likewise.
79947         * lib/savedir.c: Use (C) in copyright notice.
79948         * lib/savedir.h: Likewise.
79949
79950         2006-08-15  Jim Meyering  <jim@meyering.net>
79951
79952         * lib/at-func.c: New file, with the logic of all emulated at-functions.
79953         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
79954         in support of the EXPECTED_ERRNO macro.
79955         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
79956         definitions.  Instead, define the appropriate symbols and include
79957         "at-func.c".
79958         * lib/mkdirat.c (mkdirat): Likewise.
79959         * lib/fchmodat.c (fchmodat): Likewise.
79960         (ENOSYS): Remove definition.
79961         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
79962         it.  Don't include "unistd--.h" -- it wasn't ever used.
79963
79964         2006-01-17  Jim Meyering  <jim@meyering.net>
79965
79966         Rewrite fts.c not to change the current working directory,
79967         by using openat, fstatat, fdopendir, etc..
79968
79969         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
79970         (HAVE_OPENAT_SUPPORT): Define.
79971         [_LIBC] (fchdir): Don't undef or define; no longer used.
79972         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
79973         Now, this `function' always succeeds, and consumes its file descriptor
79974         parameter -- so callers must not close such FDs.  Update callers.
79975         (diropen_fd, opendirat, cwd_advance_fd): New functions.
79976         (diropen): Add parameter, SP.  Adjust all callers.
79977         Implement using diropen_fd, rather than open.
79978         (fts_open): Initialize new member, fts_cwd_fd.
79979         Remove fts_rft-setting code.
79980         (fts_close): Close fts_cwd_fd, if necessary.
79981         (__opendir2): Define in terms of opendir or opendirat,
79982         depending on whether the FST_NOCHDIR flag is set.
79983         (fts_build): Since fts_safe_changedir consumes its FD, and since
79984         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
79985         and close the dup'd file descriptor upon failure.
79986         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
79987         (fts_safe_changedir): Tweak semantics to reflect that this function
79988         now calls cwd_advance_fd and hence consumes its FD argument.
79989         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
79990         [struct FTS] (fts_rft): Remove now-unused member.
79991         [struct FTS] (fts_cycle.state): Improve comment.
79992
79993         * lib/openat.c (openat_needs_fchdir): New function.
79994         * lib/openat.h (openat_needs_fchdir): Declare it.
79995
79996 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
79997
79998         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
79999         Problem and fix reported by Pádraig Brady in
80000         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
80001
80002 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
80003
80004         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
80005
80006 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
80007
80008         * lib/memcoll.c (memcoll): Optimize for the common case where the
80009         arguments are bytewise equal.
80010
80011 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
80012
80013         * doc/regexprops-generic.texi: Add a copyright notice.
80014
80015 2006-08-15  Bruno Haible  <bruno@clisp.org>
80016
80017         * modules/tmpdir (License): Change to LGPL.
80018
80019 2006-08-15  Bruno Haible  <bruno@clisp.org>
80020
80021         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
80022         module.
80023
80024 2006-08-14  Simon Josefsson  <jas@extundo.com>
80025
80026         * config/srclist.txt: Add gnupload.
80027
80028 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
80029
80030         Change copyright notice from LGPL 2 to GPL 2, since that's the
80031         standard form used in the gnulib repository.
80032         * tests/test-lock.c: Likewise.
80033         * tests/test-stdint.c: Likewise.
80034         * tests/test-tls.c: Likewise.
80035
80036         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
80037         prelude-manager.  User shorter URLs for GNU projects, without '?'.
80038         Add copyright notice.
80039
80040         * check-module: Add copyright notice.  Output a copyright
80041         notice if "--version" is specified.
80042         * modules/COPYING: New file.
80043         * tests/test-getaddrinfo.c: Add copyright notice.
80044         * tests/test-verify.c: Likewise.
80045
80046 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
80047
80048         Change copyright notice from LGPL 2 to GPL 2, since that's the
80049         standard form used in the gnulib repository.
80050         * lib/lock.c: LGPL -> GPL.
80051         * lib/lock.h: Likewise.
80052         * lib/strnlen1.c: Likewise.
80053         * lib/strnlen1.h: Likewise.
80054         * lib/tls.c: Likewise.
80055         * lib/tls.h: Likewise.
80056         * lib/tmpdir.c: Likewise.
80057
80058         * lib/TODO: Remove; this belongs only in coreutils.
80059
80060 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
80061
80062         Add copyright notices to long-enough files that lack them, since
80063         otherwise the files aren't clearly free.  Use the same notice that
80064         getdate.texi already uses.
80065         * doc/alloca-opt.texi: Add copyright notice.
80066         * doc/alloca.texi: Likewise.
80067         * doc/ctime.texi: Likewise.
80068         * doc/functions.texi: Likewise.
80069         * doc/gcd.texi: Likewise.
80070         * doc/gnulib-tool.texi: Likewise.
80071         * doc/inet_ntoa.texi: Likewise.
80072         * doc/visibility.texi: Likewise.
80073
80074         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
80075         * doc/quote.texi: Add copyright notice.
80076
80077         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
80078         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
80079         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
80080         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
80081         is now obsolete, and give a pointer to the Sun list.
80082         Add copyright notice.
80083
80084 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
80085
80086         * config/srclistvars.sh: Add copyright notice.
80087
80088 2006-08-14  Eric Blake  <ebb9@byu.net>
80089
80090         Import the following change from libc:
80091
80092         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
80093
80094         Upstream bug 2997.
80095         * lib/misc/error.c: Add space between program name and message if file
80096         name is missing.
80097
80098 2006-08-12  Karl Berry  <karl@gnu.org>
80099
80100         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
80101         remove, these originate in gnulib now.
80102
80103 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80104
80105         * doc/Makefile (standards.info standards.html standards.dvi):
80106         Also depend on make-stds.texi.
80107
80108 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
80109
80110         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
80111         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
80112
80113         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
80114         in wchar_t.  Problem reported by Eric Blake.
80115
80116         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
80117         LEN is smaller than SIZE.  Suggested by Bruno Haible.
80118         Also, help the compiler to keep LEN in a register.
80119
80120 2006-08-11  Eric Blake  <ebb9@byu.net>
80121
80122         * users.txt: Sort.  Add tar.
80123
80124 2006-08-11  Bruno Haible  <bruno@clisp.org>
80125
80126         * users.txt: New file.
80127
80128 2006-08-11  Bruno Haible  <bruno@clisp.org>
80129
80130         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
80131         before <wchar.h>. Needed for OSF/1 and BSD/OS.
80132
80133 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
80134
80135         * modules/snprintf (Depends-on): Remove minmax.
80136         (Maintainer): Add self and Bruno.
80137
80138 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
80139
80140         * lib/.cppi-disable: Add snprintf.h, socket_.h.
80141         * lib/snprintf.c: Include <errno.h> and <limits.h>.
80142         (EOVERFLOW): Define if the system does not.
80143         Do not include "minmax.h"; it wasn't used.
80144         (snprintf): Don't assume size_t promotes to an unsigned type.
80145         Fix bug when generated string was too long for the buffer: the
80146         buffer's contents are supposed to be the initial prefix of the
80147         output.  Don't assume vasnprintf returns EOVERFLOW if the size
80148         exceeds INT_MAX; do the check ourselves.
80149
80150         Import the following changes from libc:
80151
80152         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
80153
80154         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
80155         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
80156         set wc to the byte which couldn't be converted.
80157         (re_string_reconstruct): Don't clear valid_raw_len before calling
80158         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
80159         tip_context using re_string_context_at.
80160
80161         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
80162
80163         * lib/posix/regex.h: g++ still cannot handled [restrict].
80164
80165         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
80166
80167         * lib/posix/regex.h: Remove special handling for VMS.
80168
80169 2006-08-10  Jim Meyering  <jim@meyering.net>
80170
80171         * modules/same-inode: New module.
80172         * modules/dev-ino: New module.
80173         * modules/cycle-check: Depend on these modules, rather than simply
80174         including their .h files.
80175         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
80176         required via m4/cycle-check.m4.
80177         * modules/same: Depend on new same-inode module, rather than
80178         including same-inode.h.
80179         * modules/chdir-safer: New file.
80180
80181         * modules/chown (Depends-on): Add stat-macros.
80182
80183 2006-08-10  Jim Meyering  <jim@meyering.net>
80184
80185         * m4/cycle-check.m4: New file.
80186         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
80187         * m4/dev-ino.m4, m4/same-inode.m4: New files.
80188
80189 2006-08-10  Eric Blake  <ebb9@byu.net>
80190
80191         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
80192         in from original proposal.
80193
80194 2006-08-10  Eric Blake  <ebb9@byu.net>
80195         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
80196
80197         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
80198         namespace.
80199
80200 2006-08-10  Bruno Haible  <bruno@clisp.org>
80201
80202         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
80203         as well.
80204
80205 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80206
80207         Sync from coreutils.
80208
80209         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
80210
80211         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
80212         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
80213
80214 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80215
80216         * modules/restrict: Remove; no longer needed now that we assume
80217         Autoconf 2.59 or later.
80218         * MODULES.html.sh: Remove 'restrict'.
80219         * modules/argp (Depends-on): Remove 'restrict'.
80220         * modules/base64 (Depends-on): Likewise.
80221         * modules/gc (Depends-on): Likewise.
80222         * modules/getaddrinfo (Depends-on): Likewise.
80223         * modules/glob (Depends-on): Likewise.
80224         * modules/inet_ntop (Depends-on): Likewise.
80225         * modules/inet_pton (Depends-on): Likewise.
80226         * modules/memxor (Depends-on): Likewise.
80227         * modules/regex (Depends-on): Likewise.
80228         * modules/strtok_r (Depends-on): Likewise.
80229         * modules/time_r (Depends-on): Likewise.
80230
80231 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80232
80233         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
80234         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
80235         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
80236         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
80237         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
80238         * m4/memxor.m4 (gl_MEMXOR): Likewise.
80239         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
80240         gl_C_RESTRICT replaced by AC_C_RESTRICT.
80241
80242         Merge from coreutils.
80243         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
80244         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
80245         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
80246         * m4/time_r.m4 (gl_TIME_R): Likewise.
80247
80248 2006-08-09  Karl Berry  <karl@gnu.org>
80249
80250         * config/srclist.txt: no more gettext-tools, per Bruno.
80251
80252 2006-08-08  Eric Blake  <ebb9@byu.net>
80253
80254         * modules/verror: New module.
80255         * MODULES.html.sh: Document it.
80256
80257 2006-08-08  Eric Blake  <ebb9@byu.net>
80258
80259         * lib/verror.h, lib/verror.c: New files.
80260
80261 2006-08-08  Eric Blake  <ebb9@byu.net>
80262
80263         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
80264         verror_at_line output complies with GNU Coding Standards even when
80265         file is NULL.
80266
80267 2006-08-07  Bruno Haible  <bruno@clisp.org>
80268
80269         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
80270         versions of AIX.
80271         Reported by Ralf Wildenhues.
80272
80273 2006-08-07  Bruno Haible  <bruno@clisp.org>
80274
80275         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
80276         in an AC_DEFUN. Needed so that the autoconf snippets can use
80277         AC_REQUIRE.
80278
80279 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80280
80281         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80282         Initialize pkgdata_DATA.
80283         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
80284         overriding it.
80285
80286 2006-08-06  Eric Blake  <ebb9@byu.net>
80287
80288         * lib/error.h: Fold in some upstream changes from glibc.
80289         * lib/error.c: Likewise.
80290
80291 2006-08-04  Bruno Haible  <bruno@clisp.org>
80292
80293         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80294         Make the mostlyclean-local rule depend on mostlyclean-generic.
80295         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
80296
80297 2006-07-31  Bruno Haible  <bruno@clisp.org>
80298
80299         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
80300         <stdlib.h>, <string.h>.
80301
80302 2006-07-30  Bruno Haible  <bruno@clisp.org>
80303
80304         * modules/readlink (License): Change to LGPL.
80305
80306 2006-07-30  Bruno Haible  <bruno@clisp.org>
80307
80308         * modules/javaversion (Makefile.am): Distribute javaversion.java and
80309         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
80310         set PKGDATADIR to point to it.
80311
80312 2006-07-30  Bruno Haible  <bruno@clisp.org>
80313
80314         * modules/csharpexec (configure.ac): Comment out macro invocation.
80315         * modules/javaexec (configure.ac): Likewise.
80316         * modules/javacomp-script (configure.ac): Likewise.
80317
80318         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
80319
80320 2006-07-30  Bruno Haible  <bruno@clisp.org>
80321
80322         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
80323         linked-list.
80324
80325 2006-07-30  Bruno Haible  <bruno@clisp.org>
80326
80327         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
80328
80329 2006-07-30  Bruno Haible  <bruno@clisp.org>
80330
80331         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80332         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
80333         get removed.
80334
80335 2006-07-29  Bruno Haible  <bruno@clisp.org>
80336
80337         Make it possible for gnulib-tool to work with locally modified or
80338         augmented gnulib repositories.
80339         * gnulib-tool (func_usage): Document --local-dir option.
80340         (local_gnulib_dir): New variable.
80341         Handle --local-dir option.
80342         (func_lookup_file): New function.
80343         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
80344         (func_get_description, func_get_filelist, func_get_description,
80345         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
80346         func_get_automake_snippet, func_get_include_directive,
80347         func_get_license, func_get_maintainer): Use func_lookup_file.
80348         (func_import, func_create_testdir): Use func_lookup_file.
80349
80350 2006-07-29  Bruno Haible  <bruno@clisp.org>
80351
80352         * modules/setenv (Depends-on): Add unistd.
80353
80354 2006-07-29  Bruno Haible  <bruno@clisp.org>
80355
80356         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
80357
80358 2006-07-29  Bruno Haible  <bruno@clisp.org>
80359
80360         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
80361
80362 2006-07-29  Bruno Haible  <bruno@clisp.org>
80363
80364         * gnulib-tool (import, update): If there is no Makefile.am, look at
80365         aclocal.m4, instead of bailing out.
80366
80367 2006-07-29  Bruno Haible  <bruno@clisp.org>
80368
80369         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
80370         Categorize the options by when they are useful.
80371
80372 2006-07-29  Bruno Haible  <bruno@clisp.org>
80373
80374         * gnulib-tool (func_usage): Document option --no-libtool.
80375         Handle option --no-libtool.
80376         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
80377         for changed semantics of $libtool variable.
80378         (func_import): Likewise. If libtool is not used, show this through
80379         an option --no-libtool.
80380         (func_create_testdir): Update.
80381
80382 2006-07-29  Bruno Haible  <bruno@clisp.org>
80383
80384         * gnulib-tool (func_import): Extend error message about missing
80385         --doc-base.
80386
80387 2006-07-29  Bruno Haible  <bruno@clisp.org>
80388
80389         * gnulib-tool (func_import): Don't create the $docbase directory if
80390         there is no file to store there.
80391
80392 2006-07-29  Bruno Haible  <bruno@clisp.org>
80393
80394         * gnulib-tool (autoconf_minversion): If a --dir option is given and
80395         relevant, look for configure.ac there, not in the current directory.
80396         Also use a simple search for AC_PREREQ, not "autoconf --trace".
80397
80398 2006-07-29  Bruno Haible  <bruno@clisp.org>
80399
80400         * gnulib-tool (SORT): New variable.
80401         (func_usage): Undocument --assume-autoconf option.
80402         Remove --assume-autoconf option handling.
80403         (autoconf_minversion): Determine from the contents of configure.ac.
80404         (func_import): Remove autoconf_minversion handling.
80405         Suggested by Eric Blake.
80406
80407 2006-07-29  Bruno Haible  <bruno@clisp.org>
80408
80409         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
80410
80411 2006-07-29  Bruno Haible  <bruno@clisp.org>
80412
80413         * config/srclist.txt (*setenv.[ch]): Remove rules.
80414
80415 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80416
80417         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
80418
80419 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80420
80421         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
80422         arpa/inet.h.
80423
80424 2006-07-28  Simon Josefsson  <jas@extundo.com>
80425
80426         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
80427         * modules/inet_pton (Depends-on): Likewise.
80428
80429 2006-07-28  Simon Josefsson  <jas@extundo.com>
80430
80431         * m4/netinet_in_h.m4: New file.
80432
80433 2006-07-28  Simon Josefsson  <jas@extundo.com>
80434
80435         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
80436         #include's.
80437
80438 2006-07-28  Simon Josefsson  <jas@extundo.com>
80439
80440         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
80441         #include's.
80442
80443 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
80444
80445         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
80446         setgid on directories only if they set these bits.
80447         * lib/modechange.h: Remove obsolete comment about masks.
80448
80449 2006-07-28  Eric Blake  <ebb9@byu.net>
80450
80451         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
80452         macro expansion.
80453
80454 2006-07-28  Bruno Haible  <bruno@clisp.org>
80455
80456         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
80457
80458 2006-07-28  Bruno Haible  <bruno@clisp.org>
80459
80460         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
80461
80462 2006-07-28  Bruno Haible  <bruno@clisp.org>
80463
80464         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
80465         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
80466         Define fallbacks.
80467         Avoids link error on FreeBSD 4.x.
80468         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
80469
80470         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
80471         encoding.
80472         * lib/mbswidth.c (iswcntrl): Likewise.
80473
80474 2006-07-27  Bruno Haible  <bruno@clisp.org>
80475
80476         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
80477         test.
80478
80479 2006-07-27  Bruno Haible  <bruno@clisp.org>
80480
80481         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
80482         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
80483         defined.
80484
80485 2006-07-26  Eric Blake  <ebb9@byu.net>
80486
80487         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
80488
80489 2006-07-26  Eric Blake  <ebb9@byu.net>
80490
80491         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
80492         like mingw that lack mkstemp.
80493         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
80494         avoid compilation warning on mingw.
80495
80496 2006-07-26  Bruno Haible  <bruno@clisp.org>
80497
80498         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
80499         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
80500         INT_FAST*_MIN, INTPTR_MIN.
80501
80502 2006-07-25  Bruno Haible  <bruno@clisp.org>
80503
80504         * modules/version-etc (Depends-on): Add stdarg.
80505
80506 2006-07-25  Bruno Haible  <bruno@clisp.org>
80507
80508         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
80509         complex commands.
80510
80511 2006-07-25  Bruno Haible  <bruno@clisp.org>
80512
80513         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
80514         defined in <stdarg.h> or config.h.
80515
80516 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
80517
80518         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
80519         (gl_STDIO_SAFER): Remove.
80520
80521 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
80522
80523         * MODULES.html.sh (File stream based Input/Output):
80524         Add fopen-safer, tmpfile-safer; remove stdio-safer.
80525         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
80526         * modules/fopen-safer, modules/tmpfile-safer: New files.
80527         * modules/stdio-safer: Remove.
80528
80529 2006-07-24  Bruno Haible  <bruno@clisp.org>
80530
80531         * modules/tmpdir: New file.
80532         * MODULES.html.sh (File system functions): Add it.
80533
80534 2006-07-24  Bruno Haible  <bruno@clisp.org>
80535
80536         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
80537         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
80538
80539 2006-07-24  Bruno Haible  <bruno@clisp.org>
80540
80541         * modules/clean-temp: New file.
80542
80543 2006-07-24  Bruno Haible  <bruno@clisp.org>
80544
80545         * m4/tmpdir.m4: New file, from GNU gettext.
80546
80547 2006-07-24  Bruno Haible  <bruno@clisp.org>
80548
80549         * lib/tmpdir.h: New file, from GNU gettext.
80550         * lib/tmpdir.c: New file, from GNU gettext.
80551
80552 2006-07-24  Bruno Haible  <bruno@clisp.org>
80553
80554         * lib/clean-temp.h: New file, from GNU gettext.
80555         * lib/clean-temp.c: New file, from GNU gettext.
80556
80557 2006-07-23  Eric Blake  <ebb9@byu.net>
80558
80559         * modules/stdio-safer (Files): Add tmpfile-safer.c.
80560         (Depends-on): Add binary-io.
80561
80562 2006-07-23  Eric Blake  <ebb9@byu.net>
80563
80564         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
80565
80566 2006-07-23  Eric Blake  <ebb9@byu.net>
80567
80568         * lib/tmpfile-safer.c: New file.
80569         * lib/stdio-safer.h (fopen_safer): Add prototype.
80570         * lib/stdio--.h (tmpfile): Make safer.
80571
80572 2006-07-23  Bruno Haible  <bruno@clisp.org>
80573
80574         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
80575         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
80576         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
80577         gl_linked_remove_at): Use it.
80578
80579 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80580         and Simon Josefsson <jas@extundo.com>
80581
80582         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
80583
80584         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
80585
80586 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80587
80588         * modules/close-stream: New file.
80589         * modules/closeout (Description): Make it clear that it exits
80590         with a diagnostic on error.
80591         (Depends-on): Add close-stream.  Remove fpending, stdbool.
80592         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
80593
80594 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80595
80596         * m4/close-stream.m4: New file.
80597
80598 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80599
80600         * lib/close-stream.c, lib/close-stream.h: New files.
80601
80602 2006-07-22  Bruno Haible  <bruno@clisp.org>
80603
80604         Merge from GNU gettext 0.15.
80605
80606         2006-05-01  Bruno Haible  <bruno@clisp.org>
80607
80608                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
80609
80610         2006-07-22  Bruno Haible  <bruno@clisp.org>
80611
80612                 * modules/javaversion: New file.
80613                 * MODULES.html.sh (Java): Add javaversion.
80614
80615         2006-03-12  Bruno Haible  <bruno@clisp.org>
80616
80617                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
80618
80619         2005-12-04  Bruno Haible  <bruno@clisp.org>
80620
80621                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
80622                 (untested).
80623
80624         2006-06-21  Bruno Haible  <bruno@clisp.org>
80625
80626                 Avoid warnings from recent versions of mcs.
80627                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
80628                 -o, -L, -r any more. Use options documented since mcs-1.0
80629                 instead. Similarly for -g.
80630
80631         2005-12-04  Bruno Haible  <bruno@clisp.org>
80632
80633                 * build-aux/csharpcomp.sh.in: Suffix for resources is
80634                 .resources, not .resource.
80635
80636         2005-07-09  Bruno Haible  <bruno@clisp.org>
80637
80638                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
80639                 add a .dll suffix.
80640                 Reported by Mark Junker <mjscod@gmx.de>.
80641
80642         2006-07-22  Bruno Haible  <bruno@clisp.org>
80643
80644                 * modules/gettext: Upgrade to gettext-0.15.
80645                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
80646                 m4/visibility.m4.
80647                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
80648
80649 2006-07-22  Bruno Haible  <bruno@clisp.org>
80650
80651         Merge from GNU gettext 0.15.
80652
80653         2006-03-25  Bruno Haible  <bruno@clisp.org>
80654
80655                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
80656
80657         2006-07-21  Bruno Haible  <bruno@clisp.org>
80658
80659                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
80660                 "1.1".
80661
80662         2006-05-09  Bruno Haible  <bruno@clisp.org>
80663
80664                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
80665                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
80666                 for the conftestver execution.
80667
80668         2006-05-01  Bruno Haible  <bruno@clisp.org>
80669
80670                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
80671                 optional target-version argument. Verify that the compiler
80672                 groks source of the specified source-version, or add -source
80673                 option as necessary. Verify that the compiler produces
80674                 bytecode in the specified target-version, or add -target and
80675                 -source options as necessary. Make the result of the test
80676                 available as variable CONF_JAVAC. Also log error output in
80677                 config.log.
80678
80679         2006-03-11  Bruno Haible  <bruno@clisp.org>
80680
80681                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
80682
80683         2006-05-09  Bruno Haible  <bruno@clisp.org>
80684
80685                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
80686                 CLASSPATH_SEPARATOR to a semicolon.
80687
80688         2006-03-12  Bruno Haible  <bruno@clisp.org>
80689
80690                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
80691                 available as variable CONF_JAVA, for subsequent autoconf
80692                 tests. Also log error output in config.log.
80693
80694         2006-07-19  Bruno Haible  <bruno@clisp.org>
80695
80696                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
80697                 that getline works on glibc2 systems. Needed to avoid trouble
80698                 in relocatable.c.
80699                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
80700
80701         2005-12-04  Bruno Haible  <bruno@clisp.org>
80702
80703                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
80704                 launcher (untested).
80705
80706         2005-12-04  Bruno Haible  <bruno@clisp.org>
80707
80708                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
80709
80710         2006-07-22  Bruno Haible  <bruno@clisp.org>
80711
80712                 * gettext.m4: Update from GNU gettext-0.15.
80713                 * nls.m4: Likewise.
80714                 * po.m4: Likewise.
80715                 * inttypes-pri.m4: Likewise.
80716                 * inttypes-h.m4: Renamed from inttypes.m4.
80717                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
80718
80719 2006-07-22  Bruno Haible  <bruno@clisp.org>
80720
80721         Merge from GNU gettext 0.15.
80722
80723         2005-07-05  Bruno Haible  <bruno@clisp.org>
80724
80725                 * printf-args.c (printf_fetchargs): Work around broken
80726                 definition of wint_t on mingw.
80727
80728         2005-02-12  Bruno Haible  <bruno@clisp.org>
80729
80730                 * xallocsa.h: Add extern "C" for C++.
80731
80732         2006-05-17  Bruno Haible  <bruno@clisp.org>
80733
80734                 Cygwin portability.
80735                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
80736
80737         2006-04-30  Bruno Haible  <bruno@clisp.org>
80738
80739                 * progreloc.c: Include <mach-o/dyld.h> if available.
80740                 (find_executable): Use _NSGetExecutablePath when possible.
80741
80742         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
80743
80744                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
80745                 function.
80746
80747         2005-12-29  Bruno Haible  <bruno@clisp.org>
80748
80749                 * progreloc.c (set_program_name_and_installdir): Fix
80750                 compilation error.
80751
80752         2005-12-04  Bruno Haible  <bruno@clisp.org>
80753
80754                 Cygwin portability.
80755                 * progreloc.c: Include <windows.h> also on Cygwin.
80756                 (find_executable): Add support for Cygwin.
80757                 (set_program_name_and_installdir): Handle also platforms with
80758                 nonempty EXEEXT.
80759
80760         2006-07-11  Bruno Haible  <bruno@clisp.org>
80761
80762                 * javacomp.c: Fix a comment.
80763                 Reported by Jim Meyering.
80764
80765         2006-04-30  Bruno Haible  <bruno@clisp.org>
80766
80767                 * javacomp.h (compile_java_class): Add source_version,
80768                 target_version arguments.
80769                 * javacomp.c: Rewritten to choose only a compiler that
80770                 respects the specified source_version and target_version.
80771
80772         2006-06-27  Bruno Haible  <bruno@clisp.org>
80773
80774                 Assume correct S_ISDIR macro.
80775                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
80776
80777         2006-07-22  Bruno Haible  <bruno@clisp.org>
80778
80779                 * javaversion.h: New file, from GNU gettext.
80780                 * javaversion.c: New file, from GNU gettext.
80781                 * javaversion.java: New file, from GNU gettext.
80782                 * javaversion.class: New file, from GNU gettext.
80783
80784         2006-05-17  Bruno Haible  <bruno@clisp.org>
80785
80786                 Cygwin portability.
80787                 * javaexec.c (execute_java_class): Test for jview program
80788                 also on Cygwin.
80789
80790         2006-04-09  Bruno Haible  <bruno@clisp.org>
80791
80792                 * fatal-signal.c: Don't include string.h.
80793                 (at_fatal_signal): Use a copying loop instead of memcpy.
80794
80795         2005-12-04  Bruno Haible  <bruno@clisp.org>
80796
80797                 * csharpexec.c: Add support for 'clix' launcher (untested).
80798                 (execute_csharp_using_sscli): New function.
80799                 (execute_csharp_program): Call it.
80800
80801         2006-06-21  Bruno Haible  <bruno@clisp.org>
80802
80803                 Avoid warnings from recent versions of mcs.
80804                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
80805                 -o, -L, -r any more. Use options documented since mcs-1.0
80806                 instead. Similarly for -g.
80807
80808         2005-07-09  Bruno Haible  <bruno@clisp.org>
80809
80810                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
80811                 add a .dll suffix.
80812                 Reported by Mark Junker <mjscod@gmx.de>.
80813
80814         2006-06-17  Bruno Haible  <bruno@clisp.org>
80815
80816                 * config.charset: Update for NetBSD 3.0.
80817
80818         2006-05-17  Bruno Haible  <bruno@clisp.org>
80819
80820                 Cygwin portability.
80821                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
80822
80823         2006-05-16  Bruno Haible  <bruno@clisp.org>
80824
80825                 * localcharset.c [CYGWIN]: Include <windows.h>.
80826                 (get_charset_aliases): For Cygwin, return the same CPxxx
80827                 aliases list as under WIN32.
80828                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
80829                 the environment variables. Fall back to GetACP().
80830
80831         2006-04-05  Bruno Haible  <bruno@clisp.org>
80832
80833                 * config.charset: Update Juan Manuel Guerrero's address.
80834
80835         2005-02-12  Bruno Haible  <bruno@clisp.org>
80836
80837                 * allocsa.h: Add extern "C" for C++.
80838
80839         2005-02-10  Bruno Haible  <bruno@clisp.org>
80840
80841                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
80842                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
80843
80844         2006-07-22  Bruno Haible  <bruno@clisp.org>
80845
80846                 * gettext.h: Update to GNU gettext-0.15.
80847
80848 2006-07-22  Bruno Haible  <bruno@clisp.org>
80849
80850         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
80851         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
80852         lib-prefix.m4, longdouble.m4, ssize_t.m4.
80853
80854 2006-07-21  Eric Blake  <ebb9@byu.net>
80855
80856         * modules/stdlib-safer: New file.
80857         * MODULES.html.sh (File stream based Input/Output): Add
80858         stdlib-safer.
80859
80860 2006-07-21  Eric Blake  <ebb9@byu.net>
80861
80862         * lib/stdlib-safer.h: New file from coreutils, required by
80863         stdlib--.h.
80864
80865 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
80866
80867         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
80868
80869 2006-07-20  Bruno Haible  <bruno@clisp.org>
80870
80871         * gnulib-tool: Recognize new option --assume-autoconf.
80872         (autoconf_minversion): New variable.
80873         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
80874
80875 2006-07-20  Bruno Haible  <bruno@clisp.org>
80876
80877         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
80878
80879 2006-07-19  Derek R. Price  <derek@ximbiot.com>
80880
80881         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
80882         Reindent and repaginate.
80883
80884 2006-07-19  Derek Price  <derek@ximbiot.com>
80885
80886         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
80887         Correct grammar.
80888
80889 2006-07-17  Bruno Haible  <bruno@clisp.org>
80890
80891         * modules/list: New file.
80892         * modules/array-list: New file.
80893         * modules/carray-list, modules/carray-list-tests: New files.
80894         * modules/linked-list, modules/linked-list-tests: New files.
80895         * modules/avltree-list, modules/avltree-list-tests: New files.
80896         * modules/rbtree-list, modules/rbtree-list-tests: New files.
80897         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
80898         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
80899         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
80900         * modules/oset: New file.
80901         * modules/array-oset: New file.
80902         * modules/avltree-oset, modules/avltree-oset-tests: New files.
80903         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
80904         * tests/test-carray_list.c: New file.
80905         * tests/test-linked_list.c: New file.
80906         * tests/test-avltree_list.c: New file.
80907         * tests/test-rbtree_list.c: New file.
80908         * tests/test-linkedhash_list.c: New file.
80909         * tests/test-avltreehash_list.c: New file.
80910         * tests/test-rbtreehash_list.c: New file.
80911         * tests/test-avltree_oset.c: New file.
80912         * tests/test-rbtree_oset.c: New file.
80913         * MODULES.html.sh (Container data structures): New section.
80914
80915 2006-07-17  Bruno Haible  <bruno@clisp.org>
80916
80917         * m4/gl_list.m4: New file.
80918
80919 2006-07-17  Bruno Haible  <bruno@clisp.org>
80920
80921         * lib/gl_list.h: New file.
80922         * lib/gl_list.c: New file.
80923         * lib/gl_array_list.h: New file.
80924         * lib/gl_array_list.c: New file.
80925         * lib/gl_carray_list.h: New file.
80926         * lib/gl_carray_list.c: New file.
80927         * lib/gl_linked_list.h: New file.
80928         * lib/gl_linked_list.c: New file.
80929         * lib/gl_anylinked_list1.h: New file.
80930         * lib/gl_anylinked_list2.h: New file.
80931         * lib/gl_avltree_list.h: New file.
80932         * lib/gl_avltree_list.c: New file.
80933         * lib/gl_anyavltree_list1.h: New file.
80934         * lib/gl_anyavltree_list2.h: New file.
80935         * lib/gl_rbtree_list.h: New file.
80936         * lib/gl_rbtree_list.c: New file.
80937         * lib/gl_anyrbtree_list1.h: New file.
80938         * lib/gl_anyrbtree_list2.h: New file.
80939         * lib/gl_anytree_list1.h: New file.
80940         * lib/gl_anytree_list2.h: New file.
80941         * lib/gl_linkedhash_list.h: New file.
80942         * lib/gl_linkedhash_list.c: New file.
80943         * lib/gl_anyhash_list1.h: New file.
80944         * lib/gl_anyhash_list2.h: New file.
80945         * lib/gl_avltreehash_list.h: New file.
80946         * lib/gl_avltreehash_list.c: New file.
80947         * lib/gl_rbtreehash_list.h: New file.
80948         * lib/gl_rbtreehash_list.c: New file.
80949         * lib/gl_anytreehash_list1.h: New file.
80950         * lib/gl_anytreehash_list2.h: New file.
80951
80952         * lib/gl_oset.h: New file.
80953         * lib/gl_oset.c: New file.
80954         * lib/gl_array_oset.h: New file.
80955         * lib/gl_array_oset.c: New file.
80956         * lib/gl_avltree_oset.h: New file.
80957         * lib/gl_avltree_oset.c: New file.
80958         * lib/gl_rbtree_oset.h: New file.
80959         * lib/gl_rbtree_oset.c: New file.
80960         * lib/gl_anytree_oset.h: New file.
80961
80962 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80963
80964         * m4/mkancesdirs.m4: New file.
80965         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
80966         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
80967         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
80968         it.
80969
80970 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80971
80972         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
80973         * lib/mkancesdirs.h: New files.
80974         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
80975         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
80976         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
80977         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
80978         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
80979         callers changed.  Revamp internals significantly, by not
80980         attempting to create directories that are temporarily more
80981         permissive than the final results.  Do not attempt to use
80982         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
80983         This removes some race conditions, fixes some bugs, and simplifies
80984         things.  Use new dirchownmod function to do owner and mode changes.
80985         * lib/mkdir-p.h: Likewise.
80986         * lib/modechange.c (octal_to_mode): New function.
80987         (struct mode_change): New member mentioned.
80988         (make_node_op_equals): New arg mentioned.  All callers changed.
80989         (mode_compile): Keep track of which mode bits the user has explicitly
80990         mentioned.
80991         (mode_adjust): New arg DIR, so that we implement the X op correctly.
80992         New arg PMODE_BITS, to keep track of which mode bits the user
80993         mentioned; it treats S_ISUID and S_ISGID speciall.
80994         All callers changed.
80995         * lib/modechange.h: Likewise.
80996
80997 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80998
80999         * MODULES.html.sh: Add mkancestors.
81000         * modules/mkancesdirs: New module.
81001         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
81002         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
81003         The chdir-safer and afs files are now orphans; I'll remove them
81004         unless someone speaks up.
81005         Add lib/dirchownmod.c, lib/dirchownmod.h.
81006         (Depends-on): Remove alloca, chown, save-cwd, dirname.
81007         Add lchown, mkancesdirs.
81008         (Maintainer): Add self.
81009
81010 2006-07-15  Karl Berry  <karl@gnu.org>
81011
81012         * gnulib-tool: help message wording/arrangement.
81013
81014 2006-07-14  Simon Josefsson  <jas@extundo.com>
81015
81016         * doc/gnulib.texi (Libtool and Windows): New section.
81017
81018 2006-07-12  Simon Josefsson  <jas@extundo.com>
81019
81020         * modules/gendocs (License): Fix license, approved by Karl.
81021
81022 2006-07-12  Eric Blake  <ebb9@byu.net>
81023
81024         * MODULES.html.sh: Add gendocs.
81025
81026 2006-07-11  Eric Blake  <ebb9@byu.net>
81027
81028         * modules/fdl: New module, to install doc/fdl.texi.
81029         * MODULES.html.sh: Add new section for documentation modules.
81030         * gnulib-tool: Avoid space-tab.
81031         (--doc-base): New option, to manage files from doc.
81032
81033 2006-07-11  Eric Blake  <ebb9@byu.net>
81034
81035         * m4/absolute-header.m4: Fix comments to match recent change.
81036
81037 2006-07-11  Eric Blake  <ebb9@byu.net>
81038
81039         * gnulib-tool: List --doc-base before --tests-base.
81040
81041 2006-07-11  Derek R. Price  <derek@ximbiot.com>
81042
81043         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
81044
81045 2006-07-11  Bruno Haible  <bruno@clisp.org>
81046
81047         * README: Mention where to put documentation.
81048
81049 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81050
81051         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
81052
81053 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
81054
81055         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
81056         to stdint.m4.
81057
81058 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
81059
81060         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
81061         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
81062         "no/such/file/stdint.h" when there is no such file, so that
81063         the resulting C code can be parsed by dodgy compilers.
81064         Problems reported by Bob Proulx.
81065
81066 2006-07-10  Derek R. Price  <derek@ximbiot.com>
81067
81068         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
81069         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
81070         macros into the GNU _D_EXACT_NAMLEN.
81071         * lib/savedir.c:  Likewise.
81072         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
81073
81074 2006-07-10  Derek R. Price  <derek@ximbiot.com>
81075         and Paul Eggert  <eggert@cs.ucla.edu>
81076
81077         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
81078         * m4/savedir.m4:
81079         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
81080         macros into the GNU _D_EXACT_NAMLEN.
81081
81082 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
81083
81084         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
81085         around the absolute name, to work around a problem with the HP-UX
81086         11.23 native C compiler, reported by Bob Proulx.
81087
81088 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
81089
81090         * doc/maintain.texi, make-stds.texi: Sync from
81091         <http://savannah.gnu.org/projects/gnustandards>.
81092
81093 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
81094
81095         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
81096
81097 2006-07-09  Jim Meyering  <jim@meyering.net>
81098
81099         * m4/glob.m4: Remove a doubled word in a comment.
81100
81101 2006-07-09  Jim Meyering  <jim@meyering.net>
81102
81103         * lib/argp-pv.c: Remove a doubled word in a comment.
81104         * lib/check-version.c (check_version): Likewise.
81105         * lib/javacomp.c (compile_java_class): Likewise.
81106
81107 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
81108
81109         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
81110         for the benefit of people using Autoconf 2.60.  If you want to
81111         support older Autoconf versions you can copy m4/onceonly_2_57.m4
81112         (or m4/onceonly.m4, if pre-2.57) manually.
81113
81114 2006-07-08  Jim Meyering  <jim@meyering.net>
81115
81116         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
81117         comment.
81118         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
81119         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
81120         comment.
81121
81122 2006-07-08  Jim Meyering  <jim@meyering.net>
81123
81124         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
81125
81126 2006-07-07  Simon Josefsson  <jas@extundo.com>
81127
81128         * tests/test-crc.c: Change expected crc value, the test vector
81129         were probably computed using the old broken crc.c?
81130
81131 2006-07-06  Simon Josefsson  <jas@extundo.com>
81132
81133         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
81134         now the canonical place for the M4 file).
81135
81136         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
81137         from the sys_socket dependency now.
81138
81139         * modules/inet_pton (Files): Ditto.
81140
81141         * modules/inet_ntop (Files): Ditto.
81142
81143 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
81144
81145         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
81146         not gl_PREREQ_GETUSERSHELL.
81147
81148 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81149
81150         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
81151         with only one argument, for Autoconf 2.60.
81152         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
81153         expand to nothing, so add a shell command to avoid syntax error.
81154         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
81155
81156 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81157
81158         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
81159
81160 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
81161
81162         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
81163         no longer needed.  Check for isblank decl.
81164         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
81165         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
81166         of existence.
81167
81168 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
81169
81170         * lib/getloadavg.c: Use __VMS, not VMS.
81171         * lib/getopt.c: Likewise.
81172         * lib/getpagesize.h: Likewise.
81173         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
81174         and probably does not work.
81175
81176 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
81177
81178         * lib/.cppi-disable: Add wcwidth.
81179         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
81180         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
81181         (ISGRAPH): Remove.  All uses changed to isgraph.
81182         (FOLD) [!defined _LIBC]: Remove special case.
81183         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
81184         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
81185         HAVE_ISBLANK.
81186         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
81187         case.
81188
81189 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
81190
81191         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
81192         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
81193         brackets.  Other minor changes to suppress some compiler
81194         warnings.
81195
81196 2006-07-06  Derek R. Price  <derek@ximbiot.com>
81197         and Paul Eggert  <eggert@cs.ucla.edu>
81198
81199         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
81200         of invoking obsolescent AC_HEADER_DIRENT macro.
81201         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
81202         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
81203         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
81204         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
81205         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
81206         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
81207         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
81208         * m4/readdir.m4: Remove; no longer needed.
81209
81210 2006-07-06  Derek R. Price  <derek@ximbiot.com>
81211         and Paul Eggert  <eggert@cs.ucla.edu>
81212
81213         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
81214         Don't worry about this obsolete case any more.
81215         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
81216         directories.
81217         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
81218         worry about this obsolete case any more.
81219         * lib/fts.c: Likewise.
81220         * lib/getcwd.c: Likewise.
81221         * lib/glob.h: Likewise.
81222         * lib/savedir.c: Likewise.
81223
81224 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
81225
81226         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
81227         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
81228         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
81229         needed.
81230         All uses removed.
81231         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
81232         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
81233         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
81234         needed.
81235         * m4/getdate.m4 (gl_GETDATE): Likewise.
81236         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
81237         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
81238         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
81239         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
81240         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
81241         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81242         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
81243         needed.
81244
81245 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
81246
81247         * lib/memcasecmp.c: Include <limits.h>.
81248         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
81249         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
81250         Don't assume isdigit succeeds only on '0' through '9'.
81251
81252 2006-07-05  Eric Blake  <ebb9@byu.net>
81253
81254         * modules/getaddrinfo (Depends-on): Add snprintf.
81255
81256 2006-07-05  Eric Blake  <ebb9@byu.net>
81257
81258         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
81259         to avoid 'header present but could not be compiled' on cygwin.
81260
81261 2006-07-05  Eric Blake  <ebb9@byu.net>
81262
81263         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
81264         missing from netdb.h.
81265         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
81266
81267 2006-07-05  Derek R. Price  <derek@ximbiot.com>
81268
81269         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
81270         no longer needed.
81271         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
81272         * m4/getdate.m4 (gl_GETDATE): Likewise.
81273         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
81274         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
81275         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
81276         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
81277         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81278
81279 2006-07-05  Derek R. Price  <derek@ximbiot.com>
81280
81281         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
81282         All uses of is_space replaced by isspace.
81283         * lib/exit.h: Don't talk about STDC_HEADERS.
81284         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
81285         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
81286         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
81287         replaced by isprint etc.
81288         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
81289         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
81290         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
81291         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
81292         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
81293         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
81294
81295 2006-07-05  Bruno Haible  <bruno@clisp.org>
81296
81297         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
81298         the function exists, before testing against AIX.
81299         Reported by Martin Lambers <marlam@marlam.de>.
81300
81301 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
81302
81303         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
81304         From Mark D. Baushke.
81305
81306 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
81307
81308         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
81309         to the absolute name, not just one, to bypass Sun C 5.8's
81310         "warning: #include of /usr/include/... may be non-portable".
81311
81312 2006-07-04  Eric Blake  <ebb9@byu.net>
81313
81314         * modules/dirname-tests: New test module.
81315         * tests/test-dirname.c: New file, replacing dirname.c
81316         TEST_DIRNAME section that was recently deleted.
81317
81318 2006-07-04  Bruno Haible  <bruno@clisp.org>
81319
81320         Assume ANSI C header files and <ctype.h> functions.
81321         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
81322         (mbsnwidth): Use isprint, iscntrl instead.
81323
81324 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81325
81326         Merge from coreutils.
81327         * MODULES.html.sh: Add xstrtold.
81328         * modules/xstrtold: New file.
81329         * modules/cycle-check (Files): Add lib/same-inode.h.
81330         * modules/dirname (Files): Add m4/double-slash-root.m4.
81331         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
81332         * modules/mkdir-p (Files): Add lib/same-inode.h.
81333         * modules/same (Files): Add lib/same-inode.h.
81334
81335 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81336
81337         * m4/absolute-header.m4: Renamed from full-header-path.m4.
81338         This is to keep the terminology clean; POSIX talks about
81339         "absolute pathnames", not "full pathnames", but the GNU
81340         Coding Standards say to use "path" for something else;
81341         so use "absolute" to keep both sides happy.
81342         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
81343         Set gl_absolute_header, not gl_full_header_path.
81344         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
81345         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
81346         All uses changed.
81347
81348         Merge from coreutils.
81349
81350         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
81351
81352         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
81353         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
81354         want to require the building of c-strtod.o.
81355         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
81356         needs -lm directly.
81357         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
81358
81359         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81360
81361         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
81362         --as-needed option if available.  Problem reported by Albert Chin in
81363         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
81364         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
81365         cc merely issues a bunch of annoying warnings for --as-needed
81366         (this problem was reported by Bob Proulx).  Also, try linking with
81367         -lm to detect a bug in binutils 2.16 (this problem was reported
81368         by Ralf Wildenhues).
81369
81370         2006-06-18  Jim Meyering  <jim@meyering.net>
81371
81372         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
81373         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
81374         macro.
81375         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
81376         also check for glibc-2.4's abort-inducing bug.
81377
81378         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
81379         Low-probability clean-up should be to use rmdir to get rid of
81380         the just-created directory, not unlink.
81381
81382         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
81383         configure fail, and request a bug report to inform us about it.
81384         Add a comment that, barring reports to the contrary, in 2007 we'll
81385         assume ftruncate is universally available.
81386
81387         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
81388
81389         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
81390
81391         2006-03-12  Jim Meyering  <jim@meyering.net>
81392
81393         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
81394         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
81395         * m4/same.m4 (gl_SAME): Likewise.
81396         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
81397
81398         2006-03-11  Eric Blake  <ebb9@byu.net>
81399
81400         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
81401         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
81402         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
81403         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
81404
81405 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81406
81407         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
81408         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
81409         reported by Mark D. Baushke, one in
81410         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
81411
81412         Merge from coreutils.
81413
81414         * lib/.cppi-disable: Add stdint_.h.
81415         * lib/.cvsignore: Add stdint.h.
81416
81417         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
81418
81419         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
81420         both double and long double versions.
81421         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
81422         * lib/xstrtold.c: New file.
81423         * lib/xstrtod.h (xstrtold): New decl.
81424
81425         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
81426
81427         * lib/filemode.c (setst): Remove.
81428         (strmode): Rewrite to avoid setst.  This makes the code shorter,
81429         (arguably) clearer, and the generated code is a bit smaller on my
81430         Debian GNU/Linux stable x86 host.
81431
81432         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
81433
81434         * lib/filemode.c: Include "filemode.h" first, to test the interface.
81435         Assume that filemode.h includes sys/types.h and sys/stat.h.
81436         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
81437         (ftypelet): Reorder to put common cases first, for efficiency.
81438         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
81439         to do 'M'.
81440         (strmode): Renamed from mode_string, and now stores 12 bytes instead
81441         of 10, for compatibility with FreeBSD.  All callers changed.
81442         (filemodestring): Now stores 12 bytes instead of 10, and sets file
81443         types that can't be deduced solely from st_mode.  First arg is now a
81444         const pointer.
81445         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
81446         (strmode): Renamed from mode_string.
81447         (filemodestring): New decl.
81448         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
81449         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
81450         needed.
81451         (S_ISPORT, S_ISWHT): New macros, if not already defined.
81452
81453         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
81454
81455         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
81456         fsusage.h now does that.  Include fsusage.h first, to test interface.
81457         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
81458         at most one method (the old code could have generated decls that
81459         didn't conform to C89, not that this was ever exercised).
81460         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
81461
81462         2006-03-19  Jim Meyering  <jim@meyering.net>
81463
81464         Work even in a chroot where d_ino values for entries in "/"
81465         don't match the stat.st_ino values for the same names.
81466         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
81467         number, iterate through all entries again, using lstat instead.
81468         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
81469         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
81470
81471         * lib/getcwd.c (__getcwd): Clarify a comment.
81472         Use memcpy in place of a call to strcpy.
81473
81474         2006-03-12  Jim Meyering  <jim@meyering.net>
81475
81476         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
81477         matches that of the current directory (which we're about to chdir ".."
81478         out of), then save the dev-ino of the parent, instead.
81479
81480         * lib/same-inode.h (SAME_INODE): New file/macro.
81481         * lib/chdir-safer.c (SAME_INODE): Remove definition.
81482         Include "same-inode.h", instead.
81483         * lib/same.c: Likewise.
81484         * lib/cycle-check.h: Include "same-inode.h".
81485         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
81486         * lib/cycle-check.c (SAME_INODE): Remove definition.
81487         * lib/root-dev-ino.h: Include "same-inode.h".
81488
81489         2006-03-11  Eric Blake  <ebb9@byu.net>
81490
81491         * lib/same.c (same_name): s/base_name/last_component/
81492         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
81493         * lib/filenamecat.c (file_name_concat): Likewise.
81494
81495         2006-03-11  Eric Blake  <ebb9@byu.net>,
81496                     Paul Eggert  <eggert@cs.ucla.edu>
81497
81498         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
81499         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
81500         drive prefix.
81501         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
81502         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
81503         (last_component): New method.
81504         * lib/dirname.c (dir_len): Determine when drive letters need a
81505         subsequent slash.  Preserve // when it is special.
81506         (dir_name): Don't append dot when drive letter is absolute.
81507         [TEST_DIRNAME]: Move into a full-blown gnulib test.
81508         * lib/basename.c (base_name): New semantics - malloc the result.
81509         Preserve // when it is special.  Preserve relative files that look
81510         like drive letters.
81511         (base_len): Preserve // when it is special.
81512         (last_component): New method, similar to old base_name semantics.
81513         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
81514         base_name.  Strip redundant slashes from ///.
81515
81516 2006-07-03  Jim Meyering  <jim@meyering.net>
81517
81518         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
81519         macro is used before the first cycle_check call.
81520
81521 2006-07-03  Eric Blake  <ebb9@byu.net>
81522
81523         * modules/dirname (Depends-on): Add xstrndup.
81524
81525 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
81526
81527         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
81528         test cases, so that config.log is a bit easier to follow.
81529
81530 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
81531
81532         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
81533         both are 64 bits, since this seems to be the tradition, and this
81534         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
81535         we ever run into a host that prefers long long to long in this
81536         case, we'll need another configure-time test.  Problem reported by
81537         Jim Meyering.
81538
81539 2006-07-02  Eric Blake  <ebb9@byu.net>
81540
81541         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
81542
81543 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81544
81545         * modules/inttypes (Depends-on): No longer depends on stdint.
81546         * modules/stdint (Description): Say more about assumptions.
81547         Say that the fast types might differ.  Say macros are used.
81548         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
81549         (Makefile.am): Revise list of substituted symbols to match
81550         new stdint.m4.
81551         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
81552         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
81553         * tests/test-stdint.c (verify_same_types)
81554         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
81555         the code conforms to C99/C89.
81556         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
81557         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
81558
81559 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81560
81561         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
81562         but fix a bug, by requiring at least 64 bits.
81563         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
81564         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
81565         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
81566         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
81567
81568         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
81569         changes.  Make 2.59 a prerequisite.  Check and substitute for
81570         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
81571         inttypes.h.  Do not use special include files; just use the
81572         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
81573         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
81574         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
81575         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
81576         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
81577         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
81578         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
81579         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
81580         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
81581         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
81582         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
81583         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
81584         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
81585         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
81586         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
81587         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
81588         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
81589         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
81590         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
81591         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
81592         WINT_MAX.  Check for C99 conformance more strictly, by detecting
81593         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
81594         not check for things that C99 does not require, e.g., int8_t.  If
81595         a test isn't needed unless <stdint.h> isn't working, and is
81596         unlikely to be needed for any other reason, then don't do it
81597         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
81598         size_t, since we assume C89 freestanding at least.  Do not check
81599         for sig_atomic_t, wchar_t, or wint_t, since the code now does
81600         the right thing even if the types are not defined.  Instead use:
81601         (gl_STDINT_TYPE_PROPERTIES): New macro.
81602         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
81603         testing whether <sys/types.h> clashes, as Autoconf does this for
81604         us now.  All uses removed.
81605         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
81606         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
81607         (gl_CHECK_TYPE_SAME):
81608         Remove; no longer needed.
81609         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
81610         exists, since we'll return 0 anyway in that case.
81611         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
81612
81613 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81614
81615         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
81616         possible collision with system files.
81617         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
81618         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
81619         WCHAR_MIN and WCHAR_MAX in this case.
81620         (<stddef.h>): Do not include; no longer needed.
81621         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
81622         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
81623         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
81624         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
81625         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
81626         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
81627         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
81628         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
81629         !defined(__c99))]: Include in this case too, since it's harmless
81630         now.
81631         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
81632         dangerous to do so.
81633         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
81634         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
81635         (_STDINT_MIN, _STDINT_MAX): New macros.
81636         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
81637         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
81638         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
81639         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
81640         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
81641         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
81642         macros, not typedefs; this simplifies things quite a bit.
81643         Use long int for all types narrower than int64_t.
81644         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
81645         Define in terms of long long int or int64_t or long int,
81646         not int64_t or int32_t.  This saves some compile-time testing.
81647         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
81648         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
81649         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
81650         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
81651         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
81652         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
81653         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
81654         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
81655         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
81656         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
81657         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81658         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81659         undef any previous version and define our own version, for
81660         simplicity and consistency with the new macros for types.
81661         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81662         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81663         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
81664         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
81665         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
81666         @WINT_T_SUFFIX@ to keep things simple here.
81667         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
81668         Simplify by assuming typical 8/16/32/64 host, since we're
81669         already doing that elsewhere anyway.
81670         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
81671         and assume long long int is 64 bits if available.  This
81672         speeds up 'configure'.
81673
81674 2006-07-01  Eric Blake  <ebb9@byu.net>
81675
81676         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
81677         Reported by Andreas Buening.
81678
81679 2006-07-01  Eric Blake  <ebb9@byu.net>
81680
81681         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
81682
81683 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
81684
81685         * lib/getaddrinfo.c: fixed typo
81686
81687 2006-06-29  Jim Meyering  <jim@meyering.net>
81688
81689         * modules/strftime (Maintainer): Add my name, since with the
81690         FPRINTFTIME changes strftime.c has forked from glibc.
81691
81692 2006-06-29  Eric Blake  <ebb9@byu.net>
81693
81694         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
81695
81696 2006-06-29  Eric Blake  <ebb9@byu.net>
81697
81698         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
81699
81700 2006-06-29  Eric Blake  <ebb9@byu.net>
81701
81702         * lib/stat_.h: New file.
81703
81704 2006-06-29  Eric Blake  <ebb9@byu.net>
81705
81706         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
81707         unused static function.
81708
81709 2006-06-29  Eric Blake  <ebb9@byu.net>
81710
81711         * doc/functions.texi (Function Portability): Document missing lstat
81712         on mingw.
81713
81714 2006-06-29  Eric Blake  <ebb9@byu.net>
81715
81716         * MODULES.html.sh: Add sys_stat.
81717         * modules/sys_stat: New module.
81718         * modules/mkstemp (Depends-on): Add sys_stat.
81719
81720 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81721
81722         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
81723
81724 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81725
81726         * m4/c-bs-a.m4: Removed.
81727
81728 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81729
81730         * lib/strftime.c: Assume strftime() exists.
81731
81732 2006-06-29  Derek Price  <derek@ximbiot.com>
81733
81734         * modules/c-bs-a: Removed - \a is C89.
81735         * MODULES.html.sh: Remove c-bs-a.
81736
81737 2006-06-29  Bruno Haible  <bruno@clisp.org>
81738
81739         * modules/wcwidth (License): Change to LGPL.
81740
81741 2006-06-28  Simon Josefsson  <jas@extundo.com>
81742
81743         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
81744         on _WIN32.
81745
81746         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
81747         getnameinfo.
81748
81749 2006-06-28  Simon Josefsson  <jas@extundo.com>
81750
81751         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
81752
81753 2006-06-28  Simon Josefsson  <jas@extundo.com>
81754
81755         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
81756         functions there.  It will succeed on Windows XP, but on Windows
81757         2000 and (presumably) earlier, it will fail, and use the internal
81758         re-implementation.
81759         (use_win32_p): New function.
81760         (getaddrinfo): Use strtoul on servname, to support numeric ports.
81761         Support AI_NUMERICSERV to disable getservbyname.
81762         (getnameinfo): New function, only supports
81763         NI_NUMERICHOST|NI_NUMERICSERV for now.
81764
81765         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
81766         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
81767         getnameinfo.
81768
81769 2006-06-28  Eric Blake  <ebb9@byu.net>
81770
81771         * modules/wcwidth: New file.
81772         * modules/mbchar (Depends-on): Add wcwidth.
81773         * modules/mbswidth (Depends-on): Add wcwidth.
81774         * MODULES.html.sh: Add wcwidth.
81775
81776 2006-06-28  Eric Blake  <ebb9@byu.net>
81777
81778         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
81779         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
81780
81781 2006-06-28  Eric Blake  <ebb9@byu.net>
81782
81783         * lib/xvasprintf.h: Fix comments.
81784
81785 2006-06-28  Eric Blake  <ebb9@byu.net>
81786
81787         * lib/mbchar.h (wcwidth): Include wcwidth.h.
81788         * lib/mbswidth.c (wcwidth): Move from here...
81789         * lib/wcwidth.h: ...to this new file.
81790
81791 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81792
81793         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
81794
81795         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
81796         it's obsolete.
81797         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
81798
81799 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81800
81801         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
81802         Autoconf 2.60 says this stuff was obsolete.
81803
81804 2006-06-28  Bruno Haible  <bruno@clisp.org>
81805
81806         * modules/wcwidth (Files): Add m4/wchar_t.m4.
81807
81808 2006-06-28  Bruno Haible  <bruno@clisp.org>
81809
81810         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
81811         gt_TYPE_WCHAR_T.
81812
81813 2006-06-28  Bruno Haible  <bruno@clisp.org>
81814
81815         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
81816         declaration for wcwidth.
81817         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
81818
81819 2006-06-28  Bruno Haible  <bruno@clisp.org>
81820
81821         * lib/mkdtemp.c [MINGW]: Include <io.h>.
81822         (mkdir): Define using _mkdir.
81823
81824 2006-06-28  Bruno Haible  <bruno@clisp.org>
81825
81826         * lib/getaddrinfo.h: Fix POSIX URL.
81827         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
81828         _WIN32.
81829         (use_win32_p): Make static.
81830         (getaddrinfo): Reject service name if it is empty or does not consist
81831         solely of decimal digits, or if its value is > 65535.
81832         (getnameinfo): Remove useless casts.
81833
81834 2006-06-27  Simon Josefsson  <jas@extundo.com>
81835
81836         * modules/sys_select: New file, suggested by Bruno Haible, Paul
81837         Eggert and Martin Lambers.
81838
81839 2006-06-27  Simon Josefsson  <jas@extundo.com>
81840
81841         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
81842         Eggert and Martin Lambers.
81843
81844 2006-06-27  Bruno Haible  <bruno@clisp.org>
81845
81846         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
81847         result to 0, not to empty.
81848         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
81849
81850 2006-06-27  Bruno Haible  <bruno@clisp.org>
81851
81852         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
81853
81854 2006-06-26  Simon Josefsson  <jas@extundo.com>
81855
81856         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
81857         present.
81858
81859 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
81860
81861         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
81862         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
81863         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
81864
81865 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
81866
81867         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
81868
81869 2006-06-26  Bruno Haible  <bruno@clisp.org>
81870
81871         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
81872
81873 2006-06-26  Bruno Haible  <bruno@clisp.org>
81874
81875         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
81876
81877 2006-06-26  Bruno Haible  <bruno@clisp.org>
81878
81879         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
81880         SGI C compiler in pre-C99 mode.
81881         Suggested by Mark D. Baushke and Larry Jones.
81882
81883 2006-06-26  Bruno Haible  <bruno@clisp.org>
81884
81885         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
81886         WCHAR_MAX.
81887         Reported by Mark D. Baushke and Larry Jones.
81888
81889 2006-06-26  Bruno Haible  <bruno@clisp.org>
81890
81891         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
81892         in pre-C99 mode.
81893         Suggested by Mark D. Baushke and Larry Jones.
81894
81895 2006-06-23  Simon Josefsson  <jas@extundo.com>
81896             Bruno Haible  <bruno@clisp.org>
81897
81898         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
81899         Emit mostlyclean-local rule.
81900         (func_emit_tests_Makefile_am): Likewise.
81901         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
81902
81903 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
81904
81905         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
81906
81907 2006-06-23  Bruno Haible  <bruno@clisp.org>
81908
81909         * tests/test-stdint.c: Update to match ISO C 99 Technical
81910         Corrigendum 1.
81911
81912 2006-06-23  Bruno Haible  <bruno@clisp.org>
81913
81914         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
81915
81916 2006-06-23  Bruno Haible  <bruno@clisp.org>
81917
81918         * lib/stdint_.h: Treat IRIX like OpenBSD.
81919
81920 2006-06-23  Bruno Haible  <bruno@clisp.org>
81921
81922         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
81923         ISO C 99 Technical Corrigendum 1.
81924
81925 2006-06-22  Simon Josefsson  <jas@extundo.com>
81926
81927         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
81928         MinGW.
81929
81930 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81931
81932         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
81933         needed.  Some compiler complained about some of them.  Problem reported
81934         by Larry Jones in
81935         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
81936
81937 2006-06-21  Simon Josefsson  <jas@extundo.com>
81938
81939         * tests/test-getaddrinfo.c: New file.
81940
81941         * modules/getaddrinfo-tests: New file.
81942
81943         * MODULES.html.sh: Add inet_pton.
81944
81945         * modules/inet_pton: New file.
81946
81947 2006-06-21  Simon Josefsson  <jas@extundo.com>
81948
81949         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
81950         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
81951         of using the (limited) gnulib implementation on Windows XP.
81952
81953         * m4/inet_pton.m4: New file.
81954
81955 2006-06-21  Simon Josefsson  <jas@extundo.com>
81956
81957         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
81958         variable.
81959
81960         * lib/socket_.h: Don't define WINVER.
81961
81962         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
81963         slightly modified to work in gnulib.
81964
81965 2006-06-21  Simon Josefsson  <jas@extundo.com>
81966
81967         * doc/gnulib.texi (Windows sockets): Add.
81968
81969 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
81970
81971         * lib/read-file.c (fread_file): Start with buffer allocation of
81972         0 bytes rather than 1 byte; this simplifies the code.
81973         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
81974         code to free buffer and save/restore errno.
81975         (internal_read_file): Remove unused local.
81976
81977 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
81978
81979         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
81980         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
81981         Problem reported by Denis Excoffier in
81982         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
81983
81984 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81985
81986         * modules/sys_socket, modules/socklen: Include sys/types since
81987         FreeBSD 4.x's sys/socket.h needs it.
81988
81989 2006-06-19  Simon Josefsson  <jas@extundo.com>
81990
81991         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
81992
81993 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81994
81995         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
81996
81997 2006-06-19  Bruno Haible  <bruno@clisp.org>
81998
81999         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
82000         and FULL_PATH_INTTYPES_H in angle brackets.
82001         Reported by Mark D. Baushke <mdb@gnu.org>.
82002
82003 2006-06-17  Eric Blake  <ebb9@byu.net>
82004
82005         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
82006         errno.
82007
82008 2006-06-17  Bruno Haible  <bruno@clisp.org>
82009
82010         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
82011         <sys/inttypes.h>.
82012
82013 2006-06-17  Bruno Haible  <bruno@clisp.org>
82014
82015         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
82016         whether errno is declared. Assume <errno.h> declares errno.
82017
82018 2006-06-17  Bruno Haible  <bruno@clisp.org>
82019
82020         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
82021
82022 2006-06-17  Bruno Haible  <bruno@clisp.org>
82023
82024         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
82025         problem on Solaris 2.5.1.
82026
82027 2006-06-16  Eric Blake  <ebb9@byu.net>
82028
82029         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
82030         * lib/unicodeio.c [!defined errno]: Likewise.
82031         * lib/strtol.c [!defined errno]: Likewise.
82032         * lib/strtod.c [!defined errno]: Likewise.
82033
82034 2006-06-15  Eric Blake  <ebb9@byu.net>
82035
82036         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
82037
82038 2006-06-15  Eric Blake  <ebb9@byu.net>
82039
82040         * config/srclist.txt (ssize_t.m4): Lose sync.
82041
82042 2006-06-15  Bruno Haible  <bruno@clisp.org>
82043
82044         * modules/stdint (Files): Include m4/full-header-path.m4,
82045         m4/size_max.m4, m4/wchar_t.m4.
82046         (Makefile.am): Many more substitutions.
82047         * modules/stdint-tests: New file.
82048         * tests/test-stdint.c: New file.
82049
82050 2006-06-15  Bruno Haible  <bruno@clisp.org>
82051
82052         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
82053         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
82054         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
82055         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
82056         gl_CHECK_TYPE_SAME): New macros.
82057
82058 2006-06-15  Bruno Haible  <bruno@clisp.org>
82059
82060         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
82061
82062 2006-06-15  Bruno Haible  <bruno@clisp.org>
82063
82064         * lib/stdint_.h: Rewritten to be fully auto-configured.
82065         Fixes bug on HP-UX/IA64.
82066
82067 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
82068
82069         * lib/getdate.y (__attribute__): Don't define if already defined.
82070         Problem reported by Larry Jones.
82071         * lib/utimens.c (__attribute__): Likewise.
82072
82073 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
82074
82075         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
82076         reported by Andreas Schwab.
82077
82078 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82079             Bruno Haible  <bruno@clisp.org>
82080
82081         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
82082         check for the declaration of strnlen and a run test that exposes the
82083         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
82084         rpl_strndup.
82085
82086 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82087             Bruno Haible  <bruno@clisp.org>
82088
82089         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
82090
82091 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82092
82093         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
82094         compile test, for Tru64 4.0D.
82095
82096 2006-05-28  Karl Berry  <karl@gnu.org>
82097
82098         * config/srclist.txt (printf-args.c): lose sync.
82099
82100 2006-05-26  Martin Lambers  <marlam@marlam.de>
82101
82102         * lib/getpass.c: Updates the test for the native W32 API, and adds
82103         missing includes, thus fixing compilation warnings.
82104
82105 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82106
82107         * lib/exclude.c (exclude_fnmatch): New function.
82108         (excluded_file_name): Call exclude_fnmatch.
82109         * lib/exclude.h (excluded_file_name): New prototype
82110
82111 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
82112
82113         * lib/tempname.c (small_open, large_open): New macros.
82114         (__open, __open64) [!_LIBC]: Remove.
82115         (__gen_tempname): Use small_open and large_open instead of __open
82116         and __open64.  This fixes a portability bug on HP-UX 11.11i
82117         reported by Simon Wing-Tang in
82118         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
82119
82120 2006-05-24  Bruno Haible  <bruno@clisp.org>
82121
82122         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
82123         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
82124         Reported by Thorsten Maerz <torte@netztorte.de> via
82125         Aaron Stone <aaron@serendipity.cx>.
82126
82127 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
82128
82129         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
82130         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
82131         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
82132         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
82133         not really conditional on the cache.
82134         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
82135
82136 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
82137
82138         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
82139         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
82140         (my_usleep): Don't mishandle maximum value.
82141
82142 2006-05-19  Jim Meyering  <jim@meyering.net>
82143
82144         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
82145
82146 2006-05-17  Bruno Haible  <bruno@clisp.org>
82147
82148         Cygwin portability.
82149         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
82150
82151 2006-05-17  Bruno Haible  <bruno@clisp.org>
82152
82153         * lib/stdint_.h: Fix recognition of Cygwin.
82154
82155 2006-05-15  Bruno Haible  <bruno@clisp.org>
82156
82157         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
82158         on libtool patch by Ralf Wildenhues.
82159
82160 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
82161
82162         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
82163         test for C99 conformance; (bool) 0.5 is an integer constant
82164         expression, but (bool) -0.5 is not.  Problem reported by Fedor
82165         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
82166
82167 2006-05-11  Simon Josefsson  <jas@extundo.com>
82168
82169         * m4/xvasprintf.m4: Fix obvious typo.
82170
82171 2006-05-11  Jim Meyering  <jim@meyering.net>
82172
82173         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
82174         James Lemley.
82175
82176 2006-05-10  Simon Josefsson  <jas@extundo.com>
82177
82178         * lib/md4.c: Typo fix, update copyright years.
82179         (K1, K2): Don't use L because it turn computations into 64-bit on
82180         64-bit platforms.
82181
82182 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
82183
82184         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
82185         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
82186         unwanted sign propagation, e.g., on hosts with 64-bit int.
82187         There still are some problems with reeelly weird theoretical hosts
82188         (e.g., 33-bit int) but it's not worth worrying about now.
82189         * lib/sha1.c (rol): Likewise.
82190         (K1, K2, K3, K4): Remove unnecessary L suffix.
82191
82192 2006-05-10  Bruno Haible  <bruno@clisp.org>
82193
82194         * lib/des.c: Cast to avoid warnings.
82195
82196 2006-05-09  Bruno Haible  <bruno@clisp.org>
82197
82198         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
82199         (Depends-on): Depend also on xsize, stdarg.
82200         (configure.ac): Add gl_XVASPRINTF.
82201
82202 2006-05-09  Bruno Haible  <bruno@clisp.org>
82203
82204         * m4/xvasprintf.m4: New file.
82205
82206 2006-05-09  Bruno Haible  <bruno@clisp.org>
82207
82208         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
82209         (EOVERFLOW): Define fallback value.
82210         (xstrcat): New function.
82211         (xvasprintf): Recognize the special case of a string concatenation.
82212
82213 2006-05-08  Eric Blake  <ebb9@byu.net>
82214
82215         * gnulib-tool (func_version): Base copyright year on CVS date.
82216         (func_emit_copyright_notice): New function.
82217         (func_emit_lib_Makefile_am): Use it.
82218         (func_emit_tests_Makefile_am): Likewise.
82219         (func_import): Likewise.
82220
82221 2006-05-08  Bruno Haible  <bruno@clisp.org>
82222
82223         * modules/stdarg: New file.
82224         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
82225
82226 2006-05-08  Bruno Haible  <bruno@clisp.org>
82227
82228         * m4/stdarg.m4: New file, from GNU gettext.
82229
82230 2006-05-08  Bruno Haible  <bruno@clisp.org>
82231
82232         * config/srclist.txt (build-aux/config.rpath): different from latest
82233         release.
82234
82235 2006-05-08  Bruno Haible  <bruno@clisp.org>
82236
82237         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
82238
82239 2006-05-05  Jim Meyering  <jim@meyering.net>
82240
82241         * m4/warning.m4: New file, derived from bison's file by the same name.
82242
82243 2006-05-03  Bruno Haible  <bruno@clisp.org>
82244
82245         * lib/stdint_.h: Shorter URL.
82246         * lib/inttypes.h: Likewise.
82247
82248 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82249
82250         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
82251
82252 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82253
82254         * lib/verify.h: Document the internals better.  Most of this change
82255         was written by Bruno Haible.
82256
82257 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82258
82259         * doc/verify.texi: New file, partly based on a proposal by
82260         Bruno Haible.
82261
82262 2006-05-02  Bruno Haible  <bruno@clisp.org>
82263
82264         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
82265         test from here...
82266         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
82267
82268 2006-04-29  Bruno Haible  <bruno@clisp.org>
82269
82270         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
82271         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
82272
82273 2006-04-29  Bruno Haible  <bruno@clisp.org>
82274
82275         * gnulib-tool: Make --update option actually work.
82276
82277 2006-04-29  Bruno Haible  <bruno@clisp.org>
82278
82279         * doc/gcd.texi: New file.
82280         * doc/gnulib.texi: Include it.
82281
82282 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
82283
82284         * lib/getdate.y (get_date): When adding relative date, start with the
82285         initial time, not with the result of the first mktime call.
82286
82287 2006-04-25  Bruno Haible  <bruno@clisp.org>
82288
82289         * gnulib-tool (func_import): Output the include directives in three
82290         blocks, sorted separately.
82291         Reported by Ben Pfaff <blp@cs.stanford.edu>.
82292
82293 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
82294
82295         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
82296         to define main with arguments, for C++.  Reported by Eric Blake.
82297         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
82298         Prefer 'int main ()' to 'int main (void)', for C++.
82299         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
82300         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
82301         for 'main', for C99 and C++.
82302
82303 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
82304
82305         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
82306         Don't assume that exit status -1 is valid.
82307         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82308         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
82309         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
82310         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
82311         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
82312         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
82313         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
82314         functions can be used without declaring them, or that you can
82315         exit with status -1.
82316         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
82317
82318 2006-04-24  Karl Berry  <karl@gnu.org>
82319
82320         * config/srclist.txt (longdouble.m4): sync lost.
82321
82322 2006-04-24  Eric Blake  <ebb9@byu.net>
82323
82324         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
82325
82326 2006-04-24  Bruno Haible  <bruno@clisp.org>
82327
82328         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
82329         poll() implementation in AIX.
82330         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82331
82332 2006-04-24  Bruno Haible  <bruno@clisp.org>
82333
82334         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
82335         assigned exactly once.
82336
82337 2006-04-23  Claudio Fontana  <claudio@gnu.org>
82338             Bruno Haible  <bruno@clisp.org>
82339
82340         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
82341         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
82342         for AM_CPPFLAGS.
82343
82344 2006-04-23  Bruno Haible  <bruno@clisp.org>
82345
82346         * modules/copy-file: Depend on unistd.
82347         * modules/execute: Likewise.
82348         * modules/fatal-signal: Likewise.
82349         * modules/findprog: Likewise.
82350         * modules/mkdtemp : Likewise.
82351         * modules/pipe: Likewise.
82352         * modules/wait-process: Likewise.
82353
82354 2006-04-23  Bruno Haible  <bruno@clisp.org>
82355
82356         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
82357         condition was already detected.
82358         Reported by Ben Pfaff <blp@cs.stanford.edu>.
82359
82360 2006-04-23  Bruno Haible  <bruno@clisp.org>
82361
82362         * lib/copy-file.c: Include <unistd.h> unconditionally.
82363         * lib/execute.c: Likewise.
82364         * lib/fatal-signal.c: Likewise.
82365         * lib/findprog.c: Likewise.
82366         * lib/mkdtemp.c: Likewise.
82367         * lib/pipe.h: Likewise.
82368         * lib/pipe.c: Likewise.
82369         * lib/wait-process.h: Likewise.
82370
82371 2006-04-23  Bruno Haible  <bruno@clisp.org>
82372
82373         * gnulib-tool (func_usage): Fix --import description. Document
82374         --update.
82375         (func_import): Create temporary file in a temporary directory, if
82376         --dry-run is specified. Silence errors from 'grep' when there are no
82377         m4 files in $m4dir.
82378         (func_create_testdir): Silence errors from 'grep' when there are no
82379         m4 files in $m4dir.
82380         Reported by Karl Berry <karl@freefriends.org>.
82381
82382 2006-04-20  Bruno Haible  <bruno@clisp.org>
82383
82384         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
82385         one argument, so that the code will be portable to Autoconf 2.60.
82386         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
82387         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
82388         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
82389
82390 2006-04-19  Derek Price  <derek@ximbiot.com>
82391             Eric Blake  <ebb9@byu.net>
82392
82393         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
82394         rather than "/full/path.h".  Update comment to match.  Shorten &
82395         generalize m4_translit call via AS_TR_CPP.
82396
82397 2006-04-19  Derek Price  <derek@ximbiot.com>
82398             Eric Blake  <ebb9@byu.net>
82399
82400         * lib/inttypes.h: Correct grammar in comment.
82401
82402 2006-04-18  Derek Price  <derek@ximbiot.com>
82403             Paul Eggert  <eggert@cs.ucla.edu>
82404
82405         * modules/inttypes: New file.
82406         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
82407
82408 2006-04-18  Derek Price  <derek@ximbiot.com>
82409             Paul Eggert  <eggert@cs.ucla.edu>
82410
82411         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
82412         New files.
82413
82414 2006-04-18  Derek Price  <derek@ximbiot.com>
82415             Paul Eggert  <eggert@cs.ucla.edu>
82416
82417         * lib/inttypes.h: New file.
82418         * lib/strtoimax.c: Assume <inttypes.h>.
82419
82420 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
82421
82422         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
82423         isn't mounted.  Problem reported by Kir Kolyshkin.
82424
82425 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
82426
82427         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
82428         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
82429         Derek R. Price.
82430         * lib/regex.h (RE_DUP_MAX): Update comment to match current
82431         implementation.
82432
82433 2006-04-12  Eric Blake  <ebb9@byu.net>
82434
82435         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
82436         is now done automatically by the corresponding Autoconf macro.
82437
82438 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
82439
82440         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
82441         time_r.h.
82442
82443 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82444
82445         Merge regex changes from libc, removing some of our
82446         POSIX-conformance changes that were rejected and redoing them in a
82447         less-intrusive way.
82448
82449         * lib/regcomp.c (re_compile_internal, init_dfa):
82450         Length arg is now size_t, not Idx.  All uses changed.
82451         (peek_token): Forward decl now says internal_function.
82452         (__re_error_msgid, __re_error_msgid_idx):
82453         Now static rather than extern with attribute_hidden.
82454         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
82455         For some reason libc prefers K&R style defns for external functions.
82456         (regerror) [!defined _LIBC]: Likewise.
82457         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
82458         (seek_collating_symbol_entry, lookup_collation_sequence_value):
82459         (build_range_exp, build_collating_symbol):
82460         Use K&R-style defn.
82461         (re_compile_fastmap): Use '\0' to memset, not 0.
82462         (utf8_sb_map): Make the calculations more obvious.
82463         (init_dfa, parse_bracket_exp, build_charclass_op):
82464         Call calloc and cast result, as glibc does.
82465         (init_word_char, fetch_token, peek_token, peek_token_bracket):
82466         (build_range_exp, build_collating_symbol):
82467         Now internal functions.
82468
82469         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
82470
82471         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
82472         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
82473         Don't depend on VMS; depend on __VMS instead, for POSIX
82474         namespace cleanness.
82475         (regoff_t): Define to ssize_t, not long int.
82476
82477         Remove the REG_ macros named below.  Instead, make the old names
82478         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
82479         __USE_GNU_REGEX.
82480         (REG_BACKSLASH_ESCAPE_IN_LISTS):
82481         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
82482         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
82483         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
82484         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
82485         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
82486         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
82487         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
82488         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
82489         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
82490         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
82491         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
82492         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
82493         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
82494         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
82495         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
82496         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
82497         (REG_NREGS):
82498         Remove.  All uses replaced by the old RE_* names.
82499         (RE_BACKSLASH_ESCAPE_IN_LISTS):
82500         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
82501         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
82502         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
82503         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
82504         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
82505         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
82506         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
82507         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
82508         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
82509         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
82510         Don't bother having these macros be independent of each others'
82511         values, since they no longer exist in the POSIX name space.
82512
82513         Rename the following member names back to their old names,
82514         unless !__USE_GNU_REGEX.  All uses changed back.
82515         (buffer): Renamed from re_buffer.
82516         (allocated): Renamed from re_allocated.
82517         (used): Renamed from re_used.
82518         (syntax): Renamed from re_syntax.
82519         (fastmap): Renamed from re_fastmap.
82520         (translate): Renamed from re_translate.
82521         (can_be_null): Renamed from re_can_be_null.
82522         (regs_allocated): Renamed from re_regs_allocated.
82523         (fastmap_accurate): Renamed from re_fastmap_accurate.
82524         (no_sub): Renamed from re_no_sub.
82525         (not_bol): Renamed from re_not_bol.
82526         (not_eol): Renamed from re_not_eol.
82527         (newline_anchor): Renamed from re_newline_anchor.
82528         (num_regs): Renamed from rm_num_regs.
82529         (start): Renamed from rm_start.
82530         (end): Renamed from rm_end.
82531
82532         (free_state): Move up a bit.
82533
82534         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
82535         #define to be empty.
82536         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
82537         when that is what is intended.
82538         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
82539         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
82540         (MAX): New macro.
82541         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
82542         All uses changed back to re_malloc, etc.  It's now the caller's
82543         responsibility to check for overflow; all callers changed.
82544         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
82545         (re_x2nrealloc): Remove.
82546         (free_state): Remove decl.
82547
82548         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
82549         (re_set_registers, re_exec):
82550         Use K&R-style defn.
82551
82552         2006-01-31  Roland McGrath  <roland@redhat.com>
82553
82554         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
82555         Reported by Mike Frysinger <vapier@gentoo.org>.
82556
82557         2006-01-15  Andreas Jaeger  <aj@suse.de>
82558
82559         [BZ #1950]
82560         * lib/regex_internal.c (re_string_reconstruct): Adjust for
82561         build_wcs_upper_buffer change.
82562         (build_wcs_upper_buffer): Change return type.
82563
82564         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
82565
82566         * lib/regex_internal.h: Include <stdint.h> if available.
82567
82568         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
82569
82570         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
82571
82572         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
82573
82574         * lib/regcomp.c: Adjust for changed secondary hash function.
82575
82576         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
82577
82578         * lib/regex.h: Pretty printing.
82579         Clean up namespace a bit.
82580
82581         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
82582
82583         * lib/regexec.c (update_cur_sifted_state, check_arrival,
82584         check_arrival_add_next_nodes): Avoid using uninitialized variable.
82585
82586         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82587                     Ulrich Drepper  <drepper@redhat.com>
82588
82589         [BZ #1302]
82590         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
82591         changed.
82592         (bitset_word_t): Renamed from bitset_word.  All uses changed.
82593
82594         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
82595
82596         [BZ #281]
82597         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
82598         * lib/regcomp.c: Remove unnecessary uses of
82599         unsigned RE_TRANSLATE_TYPE.
82600         * lib/regex_internal.h: Likewise.
82601         * lib/regex_internal.c: Likewise.
82602         * lib/regexec.c: Likewise.
82603         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
82604
82605         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
82606
82607         * lib/regexec.c (find_recover_state): Remove unnecessary
82608         initialization.
82609         (transit_state_bkref): Make DFA a const pointer.
82610         (get_subexp): Likewise.
82611         (check_arrival): Likewise.
82612         (update_cur_sifted_state): Likewise.
82613         (re_search_internal): Likewise.
82614         (prune_impossible_nodes): Likewise.
82615         (acquire_init_state_context): Likewise.
82616         (proceed_next_node): Likewise.
82617         (set_regs): Likewise.
82618         (free_fail_stack_return): Likewise.
82619         (check_arrival_expand_ecl): Mark DFA parameter as const.
82620         (check_arrival_expand_ecl_sub): Likewise.
82621         (check_subexp_limits): Likewise.
82622         (sub_epsilon_src_nodes):  Likewise.
82623         (add_epsilon_src_nodes):  Likewise.
82624         (merge_state_array): Likewise.
82625         (update_regs): Likewise.
82626         (build_trtable): Likewise.
82627         (sift_states_backward): Mark MCTX parameter as const.
82628         (build_sifted_states): Likewise.
82629         (update_cur_sifted_state): Likewise.
82630         (sift_states_mkref): Likewise.
82631         (check_arrival_expand_ecl): Mark eclosure as const.
82632         (check_dst_limits_calc_pos_1): Likewise.
82633         * lib/regex_internal.h (re_match_context_t): Make dfa a const
82634         pointer.
82635
82636         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
82637
82638         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
82639         (transit_state_sb): Likewise.
82640         (transit_state_mb): Likewise.
82641         (sift_states_iter_mb): Likewise.
82642         (check_arrival_add_next_nodes): Likewise.
82643         (check_node_accept_bytes): Change first parameter to pointer-to-const.
82644         [_LIBC] (re_search_2_stub): Use mempcpy.
82645
82646         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
82647         mbrtowc for very simple UTF-8 case.
82648
82649         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
82650         a pointer-to-const.
82651         (re_acquire_state_context): Likewise.
82652         * lib/regex_internal.h: Adjust prototypes.
82653
82654         * lib/regex.c: Prevent using C++ compilers.
82655
82656         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
82657         (re_acquire_state_context): Likewise.
82658
82659 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82660
82661         * modules/regex (Depends-on): Add ssize_t.
82662
82663 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82664
82665         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
82666         translation table.
82667
82668 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82669
82670         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
82671
82672 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
82673             Bruno Haible  <bruno@clisp.org>
82674
82675         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
82676         <sys/types.h> and <inttypes.h>.
82677
82678 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82679
82680         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
82681         `__error_t_defined', so argp.h will not typedef the former.
82682
82683 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
82684
82685         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
82686         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
82687         glibc names.  Even if glibc is changed to conform to POSIX, the
82688         traditional names will be available anyway, since regex depends on
82689         the extensions module.  Also, fix a longstanding typo in the
82690         implementation of Spencer ERE test #75 from grep 2.3.  Problems
82691         reported by Emanuele Giaquinta.  Also, change sense of cached
82692         variable, so that the message makes sense.
82693
82694 2006-03-24  Simon Josefsson  <jas@extundo.com>
82695
82696         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
82697         including some doc fixes.
82698         (base64_encode_alloc): Fix +1 bug on allocation failures.
82699
82700 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82701
82702         * lib/base64.c (base64_encode): Do not read past end of array with
82703         unsanitized input on systems with CHAR_BIT > 8.
82704
82705 2006-03-24  Eric Blake  <ebb9@byu.net>
82706
82707         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
82708
82709 2006-03-22  Karl Berry  <karl@gnu.org>
82710
82711         * config/srclist.txt (*setenv.[ch]): get from coreutils.
82712         * config/srclistvars.sh (COREUTILS): new var.
82713
82714 2006-03-17  Jim Meyering  <jim@meyering.net>
82715
82716         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
82717         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
82718
82719 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82720
82721         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
82722         no longer needs it.  Instead, check that regoff_t is as least
82723         as wide as ptrdiff_t.
82724
82725         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
82726         so that our regex.h stays compatible with the installed regex.
82727         This is helpful for installers who configure --without-included-regex.
82728         Problem reported by Emanuele Giaquinta.
82729
82730 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82731
82732         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
82733         Typedef to long int, not to off_, as POSIX will likely change
82734         in that direction.
82735
82736 2006-03-15  Eric Blake  <ebb9@byu.net>
82737
82738         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
82739
82740 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82741
82742         * lib/argp-help.c (validate_uparams): Fix typo
82743         * lib/argp-parse.c (argp_default_options): Consistently begin help
82744         messages with a lowercase letter.
82745
82746 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
82747
82748         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
82749         overrun buffers and shouldn't be used (much as gets shouldn't be
82750         used).
82751         * lib/time_r.c (asctime_r, ctime_r): Likewise.
82752
82753 2006-03-08  Simon Josefsson  <jas@extundo.com>
82754
82755         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
82756         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82757
82758 2006-03-08  Simon Josefsson  <jas@extundo.com>
82759
82760         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
82761         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82762
82763 2006-03-08  Simon Josefsson  <jas@extundo.com>
82764
82765         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
82766         signal that configure disabled the device.
82767
82768 2006-03-08  Simon Josefsson  <jas@extundo.com>
82769
82770         * build-aux/maint.mk: Fix refresh-po, to handle no translated
82771         languages.
82772
82773 2006-03-07  Simon Josefsson  <jas@extundo.com>
82774
82775         * modules/getopt (Depends-on): Add unistd.
82776
82777         * modules/unistd: New file.
82778
82779 2006-03-07  Simon Josefsson  <jas@extundo.com>
82780
82781         * modules/gc-random: New file.
82782
82783 2006-03-07  Simon Josefsson  <jas@extundo.com>
82784
82785         * m4/unistd_h.m4: New file.
82786
82787 2006-03-07  Simon Josefsson  <jas@extundo.com>
82788
82789         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
82790         test to be side-effect free by storing the result in the cache
82791         variable gl_cv_lib_readline, and moving the assignment of
82792         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
82793         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82794
82795 2006-03-07  Simon Josefsson  <jas@extundo.com>
82796
82797         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
82798         error on missing devices (the functions will return an error).
82799
82800         * m4/gc.m4: Move random stuff to gc-random.m4
82801
82802 2006-03-07  Simon Josefsson  <jas@extundo.com>
82803
82804         * lib/unistd_.h: New file.
82805
82806 2006-03-07  Simon Josefsson  <jas@extundo.com>
82807
82808         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
82809
82810 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82811
82812         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
82813         Problem reported by Juan Manuel Guerrero.
82814
82815 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82816
82817         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
82818         the unistd module.
82819         * lib/getlogin_r.c: Likewise.
82820         * lib/getlogin_r.h: Likewise.
82821         * lib/glob.c: Likewise.
82822         * lib/pagealign_alloc.c: Likewise.
82823         * lib/unistd_.h: Remove; no longer needed.
82824
82825 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82826
82827         * MODULES.html.sh (Support for systems lacking POSIX:2001):
82828         Add unistd.
82829         * modules/c-stack (Depends-on): Add unistd.
82830         * modules/getlogin_r: Likewise.
82831         * modules/glob: Likewise.
82832         * modules/pagealign_alloc: Likewise.
82833         * modules/unistd (Files): Remove lib/unistd_.h.
82834         (EXTRA_DIST): Remove.
82835         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
82836         need unistd_.h.
82837         (MOSTLYCLEANFILES): Remove unistd.h-t.
82838
82839 2006-03-03  Simon Josefsson  <jas@extundo.com>
82840
82841         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
82842
82843 2006-03-03  Simon Josefsson  <jas@extundo.com>
82844
82845         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
82846         libidn and bison.
82847
82848 2006-03-03  Simon Josefsson  <jas@extundo.com>
82849
82850         * build-aux/maint.mk: Add indent target.
82851
82852 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
82853
82854         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
82855         our replacement poll.h in any case, to avoid a differing
82856         declaration from a system header.  Seen on AIX.
82857
82858 2006-03-01  Simon Josefsson  <jas@extundo.com>
82859
82860         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
82861         <kasal@ucw.cz>.
82862
82863 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82864
82865         * modules/gettime (Depends-on): Add extensions module.
82866         * modules/nanosleep (Depends-on): Likewise.
82867         * modules/settime (Depends-on): Likewise.
82868
82869 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82870
82871         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
82872         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
82873         pedantically.
82874         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82875         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
82876
82877         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
82878         not "==".  Reported by Ralf Wildenhues.
82879
82880 2006-03-01  Karl Berry  <karl@gnu.org>
82881
82882         * doc/Copyright/request-*: new files, synced from gnuorg.
82883
82884 2006-03-01  Karl Berry  <karl@gnu.org>
82885
82886         * config/srclist.txt (Copyright/*): new entries.
82887
82888 2006-02-28  Simon Josefsson  <jas@extundo.com>
82889
82890         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
82891
82892 2006-02-27  Simon Josefsson  <jas@extundo.com>
82893
82894         * lib/base64.h: Indent #define's.  From Jim Meyering
82895         <jim@meyering.net>.
82896
82897 2006-02-27  Jim Meyering  <jim@meyering.net>
82898
82899         Revert the change of 2006-02-24, so these files can continue
82900         to be sync'd from gettext.
82901         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
82902         of `config.h'.
82903
82904 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82905
82906         * modules/intprops: New file.
82907         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
82908         Add intprops.
82909         * modules/getloadavg (Files): Remove lib/intprops.h.
82910         (Depends-on): Add intprops.
82911         * modules/human: Likewise.
82912         * modules/inttostr: Likewise.
82913         * modules/openat: Likewise.
82914         * modules/sig2str: Likewise.
82915         * modules/userspec: Likewise.
82916         * modules/utimecmp: Likewise.
82917         * modules/xnanosleep: Likewise.
82918         * modules/xstrtol: Likewise.
82919
82920 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
82921
82922         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
82923         * modules/lock-tests (TESTS): Use $(EXEEXT).
82924         * modules/tls-tests: Likewise.
82925         * modules/argp-tests: Likewise.
82926         (check_PROGRAMS): New var, replacing...
82927         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
82928
82929 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82930
82931         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
82932         `config.h'.
82933
82934 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
82935
82936         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
82937
82938 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82939
82940         Sync from coreutils.
82941         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
82942         gl_CHDIR_SAFER.
82943
82944 2006-02-22  Jim Meyering  <jim@meyering.net>
82945
82946         Sync from coreutils.
82947         * m4/chdir-safer.m4: New file.
82948
82949 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
82950
82951         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
82952         AT_FDCWD exceeds INT_MAX.
82953         * lib/openat.h (AT_FDCWD): Likewise.
82954
82955 2006-02-17  Eric Blake  <address@hidden>
82956
82957         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
82958
82959 2006-02-16  Simon Josefsson  <jas@extundo.com>
82960
82961         * modules/getaddrinfo (Depends-on): Add sys_socket.
82962
82963 2006-02-15  Simon Josefsson  <jas@extundo.com>
82964
82965         * build-aux/maint.mk: Add dsyntax-check rule.
82966
82967 2006-02-15  Eric Blake  <ebb9@byu.net>
82968
82969         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
82970         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
82971         'present but cannot compile' warnings on cygwin.
82972         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
82973         use ws2tcpip.h if sys/socket.h works.
82974         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
82975         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
82976
82977 2006-02-14  Simon Josefsson  <jas@extundo.com>
82978
82979         * modules/maintainer-makefile (Files): Rename.
82980
82981         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
82982         and (the local) Makefile.cfg to maint-cfg.mk.
82983
82984         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
82985         to the latter.
82986
82987         * modules/maintainer-makefile: New module.
82988
82989         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
82990         severaly stripped to make it possible to build it up from scratch
82991         with reliable tests.
82992
82993         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
82994         fixes to permit overriding the default actions when configure and
82995         makefile are not available.
82996
82997 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
82998
82999         Sync from coreutils.
83000         * modules/lstat (Depends-on): Don't depend on xalloc.
83001         (License): Change from GPL to LGPL, since this is now simply a
83002         replacement for a libc function.
83003
83004 2006-02-14  Jim Meyering  <jim@meyering.net>
83005
83006         Sync from coreutils.
83007
83008         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
83009         failure on deficient systems, and simplify gnulib lgpl dependencies.
83010         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
83011         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
83012
83013         * lib/xalloc-die.c: Remove unused definition of N_.
83014
83015 2006-02-14  Jim Meyering  <jim@meyering.net>
83016
83017         Sync from coreutils.
83018         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
83019         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
83020         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
83021         double-quote uses of that variable, to accommodate the rare case in
83022         which getmntent is available in none of the libraries checked.  This
83023         happens at least on FreeBSD 5.0.
83024
83025 2006-02-13  Simon Josefsson  <jas@extundo.com>
83026
83027         * gnulib-tool (Usage): Fix --import, from
83028         karl@freefriends.org (Karl Berry).
83029
83030 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
83031
83032         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
83033
83034 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
83035
83036         * lib/argp-namefrob.h: Restore changes accidentally lost during the
83037         "autoupdate" on 2005-12-12.
83038
83039 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
83040
83041         * modules/closeout (Depends-on): Remove atexit.
83042
83043 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
83044
83045         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
83046         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
83047
83048 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
83049
83050         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
83051         __EXTENSIONS__ if this causes compilation to fail.  Problem
83052         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
83053         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
83054
83055 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
83056
83057         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
83058         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
83059         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
83060         All uses changed.
83061
83062 2006-01-26  Simon Josefsson  <jas@extundo.com>
83063
83064         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
83065         prototype is visible on mingw32.
83066
83067         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
83068         for mingw32.
83069
83070         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
83071         mingw32).
83072
83073 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
83074
83075         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
83076         attempt to open for write; this always fails, at least on POSIX
83077         hosts.  This reinstates the 2006-01-09 change, which was
83078         inadvertently removed.
83079
83080 2006-01-26  Bruno Haible  <bruno@clisp.org>
83081
83082         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
83083         Reported by Paul Eggert.
83084
83085 2006-01-26  Bruno Haible  <bruno@clisp.org>
83086             Paul Eggert  <eggert@cs.ucla.edu>
83087
83088         * lib/stdbool_.h (_Bool)
83089         [(! (defined __cplusplus || defined __BEOS__)
83090           && !defined __GNUC__
83091           && !(defined __HP_cc || defined __xlc__
83092                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
83093                || defined __sgi))]:
83094         #define to signed char in these cases too; this simplifies
83095         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
83096         etc., separately) and makes it more conservative.
83097
83098 2006-01-25  Simon Josefsson  <jas@extundo.com>
83099
83100         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
83101         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
83102         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
83103
83104 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
83105
83106         * lib/argp-namefrob.h: Bugfix. Remove stray #
83107
83108 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
83109
83110         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
83111         so that we test the test.
83112         Check for yet another HP-UX cc bug involving *bool |= bool.
83113
83114 2006-01-25  Karl Berry  <karl@gnu.org>
83115
83116         * config/srclist.txt (vasnprintf.c): sync lost.
83117
83118 2006-01-25  Jim Meyering  <jim@meyering.net>
83119
83120         Sync from the stable (b5) branch of coreutils:
83121
83122         * lib/fts.c (fts_children): Don't let close() clobber errno from
83123         failed fchdir().
83124
83125         * lib/fts.c (fts_stat): When following a symlink-to-directory,
83126         don't necessarily interpret stat-fails+lstat-succeeds as indicating
83127         a dangling symlink.  That can also happen at least for ELOOP.
83128         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
83129         FYI, this bug predates the inclusion of fts.c in coreutils.
83130
83131         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
83132         in their own block, so pre-c99 compilers don't object.
83133
83134         Avoid the double-free (first in fts_read, second in fts_close) that
83135         would occur when an `active' directory is made inaccessible (e.g.,
83136         via chmod a-x) during a traversal.
83137         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
83138         before returning.  Reproduce this failure by
83139         mkdir -p a/b; cd a; chmod a-x . b
83140         Reported by Stavros Passas.
83141
83142 2006-01-25  Jim Meyering  <jim@meyering.net>
83143
83144         * lib/fileblocks.c: Remove more useless parentheses.
83145         * lib/readutmp.h: Likewise.
83146
83147 2006-01-25  Bruno Haible  <bruno@clisp.org>
83148
83149         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
83150         warnings.
83151         Reported by Paul Eggert.
83152
83153 2006-01-25  Bruno Haible  <bruno@clisp.org>
83154
83155         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
83156         rid of a trap command. For Solaris sh.
83157         Reported by Mark D. Baushke <mdb@gnu.org>.
83158
83159 2006-01-24  Simon Josefsson  <jas@extundo.com>
83160
83161         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
83162         Bruno.
83163
83164 2006-01-24  Karl Berry  <karl@gnu.org>
83165
83166         * config/srclist.txt (argp-namefrob.h): sync lost.
83167
83168 2006-01-24  Jim Meyering  <jim@meyering.net>
83169
83170         * modules/openat (Files): Add lib/intprops.h.
83171         From Mark D. Baushke.
83172
83173 2006-01-24  Jim Meyering  <jim@meyering.net>
83174
83175         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
83176         Reported by Mark D. Baushke.
83177
83178 2006-01-24  Jim Meyering  <jim@meyering.net>
83179
83180         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
83181
83182 2006-01-24  Bruno Haible  <bruno@clisp.org>
83183
83184         * modules/strnlen (Maintainer): Change from glibc to all.
83185
83186 2006-01-24  Bruno Haible  <bruno@clisp.org>
83187
83188         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
83189         Patch by Paul Eggert.
83190
83191 2006-01-24  Bruno Haible  <bruno@clisp.org>
83192
83193         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
83194         already has it.
83195         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
83196         2005-11-26.
83197
83198         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
83199         'signed char' to avoid problems with the built-in _Bool type.
83200         Reported by Paul Eggert on 2005-11-26.
83201
83202 2006-01-24  Bruno Haible  <bruno@clisp.org>
83203
83204         * gnulib-tool (func_import): Avoid constructing complicated sed
83205         expressions inside backquote.
83206         Report and solution by Mark D. Baushke <mdb@gnu.org>.
83207
83208 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
83209
83210         These changes imported from libc.
83211         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
83212         test and two separate function calls.
83213         * lib/strndup.c (__strndup): Add libc_hidden_def.
83214
83215 2006-01-23  Simon Josefsson  <jas@extundo.com>
83216
83217         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
83218         Remove the test_*_SOURCES variable: automake infers it by default.
83219         * modules/tls-tests: Likewise.
83220
83221 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83222
83223         Work around porting bugs reported by Dieter in
83224         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
83225         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
83226         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
83227         Include "getopt.h" first, to check interface.
83228         (getenv): Declare only if defined HAVE_DECL_GETENV &&
83229         !HAVE_DECL_GETENV.
83230         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
83231         (__strndup): Revert to K&R-style function dfns, the glibc style.
83232         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
83233         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
83234         Include strnlen.h first, to get prototype properly.
83235         (strnlen): Renamed from __strnlen.
83236         Remove weak alias.
83237
83238 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83239
83240         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
83241
83242 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83243
83244         * config/srclist.txt: Adjust to reflect glibc reorganization.
83245         This affects only comments.
83246
83247 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
83248
83249          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
83250          Reported by Bruce Korb <bkorb@gnu.org>.
83251
83252 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
83253
83254         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
83255         to pacify gcc -Wswitch-default.
83256
83257 2006-01-22  Bruno Haible  <bruno@clisp.org>
83258
83259         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
83260         temporary buffer for sprintf, take into account the precision also
83261         for 'd', 'i', 'u', 'o', 'x', 'X'.
83262
83263 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
83264
83265         * modules/argp-tests: New module
83266         * tests/test-argp.c: New file
83267         * tests/test-argp-2.sh: New file
83268
83269 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
83270
83271         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
83272         (__argp_base_name): Removed
83273         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
83274         typo.
83275         (__argp_base_name): Provide macro definition or extern declaration
83276         depending on the configuration
83277
83278 2006-01-20  Simon Josefsson  <jas@extundo.com>
83279
83280         * modules/inet_ntop (Depends-on): Depend on sys_socket.
83281
83282 2006-01-20  Simon Josefsson  <jas@extundo.com>
83283
83284         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
83285
83286 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
83287
83288         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
83289         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
83290         Suggested by Bruno Haible.
83291
83292 2006-01-20  Karl Berry  <karl@gnu.org>
83293
83294         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
83295         until changes propagate, I guess.
83296
83297 2006-01-19  Simon Josefsson  <jas@extundo.com>
83298
83299         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
83300
83301 2006-01-19  Simon Josefsson  <jas@extundo.com>
83302
83303         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
83304
83305 2006-01-19  Simon Josefsson  <jas@extundo.com>
83306
83307         * gnulib-tool: Set check_PROGRAMS.
83308
83309         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
83310         modules/des-tests, modules/gc-arcfour-tests,
83311         modules/gc-arctwo-tests, modules/gc-des-tests,
83312         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
83313         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
83314         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
83315         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
83316         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
83317         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
83318         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
83319         test_*_SOURCES.
83320
83321 2006-01-18  Simon Josefsson  <jas@extundo.com>
83322
83323         * modules/socklen (Depends-on): Depend on sys_socket.
83324
83325 2006-01-18  Simon Josefsson  <jas@extundo.com>
83326
83327         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
83328         modules/des-tests, modules/gc-arcfour-tests,
83329         modules/gc-arctwo-tests, modules/gc-des-tests,
83330         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
83331         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
83332         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
83333         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
83334         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
83335         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
83336         $(EXEEXT) to automake TESTS variable, for mingw32.
83337
83338 2006-01-17  Simon Josefsson  <jas@extundo.com>
83339
83340         * modules/socklen (Include): Need sys/socket.h.
83341
83342 2006-01-17  Bruno Haible  <bruno@clisp.org>
83343
83344         * modules/ssize_t (Include): Add <sys/types.h>.
83345
83346 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
83347
83348         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
83349         it's not portable and it doesn't work with cross-compiles.
83350         Problem reported by Bruno Haible.  Fix missing-$ typo in
83351         'test "gl_cv_ignore_unused_libraries" ...' that prevented
83352         -zignore from being used with Sun's C compiler.
83353
83354 2006-01-12  Simon Josefsson  <jas@extundo.com>
83355
83356         * lib/base64.c: Fix warning, reported by Bruno Haible
83357         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
83358
83359 2006-01-12  Bruno Haible  <bruno@clisp.org>
83360
83361         * modules/ldd: New file.
83362         * build-aux/ldd.sh.in: New file.
83363         * MODULES.html.sh (Support for building libraries and executables): Add
83364         ldd.
83365
83366 2006-01-12  Bruno Haible  <bruno@clisp.org>
83367
83368         * m4/ldd.m4: New file.
83369
83370 2006-01-12  Bruno Haible  <bruno@clisp.org>
83371
83372         * gnulib-tool (func_import, func_create_testdir): Don't go into an
83373         endless loop while replacing $auxdir with build-aux.
83374
83375 2006-01-11  Simon Josefsson  <jas@extundo.com>
83376
83377         * lib/stdint_.h (SIZE_MAX): Add missing (.
83378
83379 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
83380
83381         Sync from coreutils.
83382         * lib/md5.c: Fix commentary typos.
83383         (alignof, UNALIGNED_P): No need for a GCC-specific version.
83384         * lib/md5.h (__attribute__): Remove; unused.
83385         * lib/sha1.c: Fix commentary to match md5 better.
83386         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
83387         so that we don't need to worry about alignment.  All uses changed.
83388         This merges the 2005-10-28 md5 change into sha1.
83389
83390 2006-01-11  Jim Meyering  <jim@meyering.net>
83391
83392         Sync from coreutils.
83393         * lib/md5.c (OP): Fix spacing.
83394
83395 2006-01-11  Bruno Haible  <bruno@clisp.org>
83396
83397         Ensure automatic ordering between gl_LOCK and gl_ARGP.
83398         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
83399         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
83400
83401 2006-01-11  Bruno Haible  <bruno@clisp.org>
83402
83403         Ensure automatic ordering between gl_LOCK and gl_ARGP.
83404         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
83405         the "early" section as well.
83406
83407 2006-01-11  Bruno Haible  <bruno@clisp.org>
83408
83409         Avoid "ar: no archive members specified" error on MacOS X.
83410         * gnulib-tool (func_modules_add_dummy): New function.
83411         (func_import, func_create_testdir): Invoke it.
83412
83413 2006-01-11  Bruno Haible  <bruno@clisp.org>
83414
83415         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
83416         with $auxdir in AC_CONFIG_FILES statements.
83417
83418 2006-01-11  Bruno Haible  <bruno@clisp.org>
83419
83420         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
83421         Initialize also noinst_HEADERS to empty.
83422
83423 2006-01-11  Bruno Haible  <bruno@clisp.org>
83424
83425         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
83426         variables.
83427         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
83428         autoreconf.
83429
83430 2006-01-11  Bruno Haible  <bruno@clisp.org>
83431
83432         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
83433         overridable by the user.
83434         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83435
83436 2006-01-10  Simon Josefsson  <jas@extundo.com>
83437
83438         * modules/sys_socket: New file.
83439
83440 2006-01-10  Simon Josefsson  <jas@extundo.com>
83441
83442         * m4/sys_socket_h.m4: New file.
83443
83444 2006-01-10  Simon Josefsson  <jas@extundo.com>
83445
83446         * lib/socket_.h: New file.
83447
83448 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83449
83450         * modules/readutmp (Maintainer): Add myself.
83451
83452 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83453
83454         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
83455         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
83456         People who are still concerned with buggy memcmp implementations
83457         can invoke gl_FUNC_MEMCMP themselves.
83458
83459 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83460
83461         * lib/regex_internal.h (BITSET_WORD_BITS):
83462         Work around a bug in 64-bit PGC (before version 6.1-2), where the
83463         preprocessor mishandles large unsigned values as if they were signed.
83464         Problem reported by Claudio Fontana in
83465         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
83466
83467 2006-01-10  Jim Meyering  <jim@meyering.net>
83468
83469         Avoid the double-free (first in fts_read, second in fts_close) that
83470         would occur when an `active' directory is made inaccessible (e.g.,
83471         via chmod a-x) during a traversal.
83472         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
83473         before returning.  Reproduce this failure by
83474         mkdir -p a/b; cd a; chmod a-x . b
83475         Reported by Stavros Passas.
83476
83477         Sync from coreutils.
83478         * lib/sha1.c: Tweak grammar in a comment.
83479
83480 2006-01-10  Jim Meyering  <jim@meyering.net>
83481
83482         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
83483         Patch by Joerg Sonnenberger.
83484
83485 2006-01-10  Bruno Haible  <bruno@clisp.org>
83486
83487         * modules/readutmp: Depend on module free.
83488         * modules/strtok_r: Depend on module restrict.
83489
83490 2006-01-10  Bruno Haible  <bruno@clisp.org>
83491
83492         * modules/gettext (configure.ac): Add an invocation of
83493         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
83494
83495 2006-01-10  Bruno Haible  <bruno@clisp.org>
83496
83497         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
83498         Reported by Werner Lemberg <wl@gnu.org>.
83499
83500 2006-01-10  Bruno Haible  <bruno@clisp.org>
83501
83502         * lib/localcharset.c: Update from GNU gettext.
83503
83504 2006-01-10  Bruno Haible  <bruno@clisp.org>
83505
83506         * lib/argp.h (__const): Remove macro. Use const instead.
83507         * lib/argp-fmtstream.h (__const): Likewise.
83508         * lib/glob_.h (__const): Remove macro.
83509         * lib/glob-libc.h: Use const instead of __const.
83510
83511 2006-01-10  Bruno Haible  <bruno@clisp.org>
83512
83513         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
83514         variable.
83515         Needed to avoid an automake error regarding the 'gettext' module.
83516
83517 2006-01-09  Simon Josefsson  <jas@extundo.com>
83518
83519         * modules/inet_ntop (Depends-on): Add restrict.
83520
83521 2006-01-09  Simon Josefsson  <jas@extundo.com>
83522
83523         * modules/gc-rijndael-tests (License): Put under LGPL.
83524
83525         * modules/gc-des-tests (License): Likewise.
83526
83527         * modules/gc-arcfour-tests (License): Likewise.
83528
83529         * modules/gc-arctwo-tests (License): Likewise.
83530
83531         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
83532
83533         * modules/gc-hmac-sha1-tests (Files): Likewise.
83534
83535         * modules/gc-hmac-md5-tests (License): Likewise.
83536
83537         * modules/gc-sha1-tests (License): Likewise.
83538
83539         * modules/gc-md5-tests (License): Likewise.
83540
83541         * modules/gc-md4-tests (License): Likewise.
83542
83543         * modules/gc-md2-tests (License): Likewise.
83544
83545         * modules/gc-tests (License): Likewise.
83546
83547         * modules/des-tests (License): Likewise.
83548
83549         * modules/md4-tests (License): Likewise.
83550
83551         * modules/md2-tests (License): Likewise.
83552
83553 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83554
83555         Sync from coreutils:
83556
83557         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
83558         * modules/lib-ignore: New file.
83559         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
83560         chdir-safer.m4, lchmod.m4.
83561         * modules/openat: Add mkdirat.c, openat-priv.h.
83562
83563 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83564
83565         Sync from coreutils.
83566         * m4/lib-ignore.m4: New file.
83567         * m4/lchmod.m4: New file.
83568
83569 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83570
83571         Sync from coreutils.
83572         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
83573         for write access: POSIX says that must fail.
83574         * lib/fts.c (diropen): Likewise.
83575         * lib/save-cwd.c (save_cwd): Likewise.
83576         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
83577         well, for minor improvements on hosts that lack O_DIRECTORY.
83578         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
83579         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
83580         Fall back on chown if open failed with EACCES.
83581
83582         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
83583         Report an error at compile-time if only a 1-second nominal clock
83584         resolution is found.
83585
83586         * lib/lchmod.h: New file.
83587         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
83588         (make_dir_parents): Use lchown rather than chown, and
83589         lchmod rather than chmod.
83590
83591         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
83592         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
83593         "proc" reported by n0dalus.
83594
83595         * lib/mountlist.c: Include <limits.h>.
83596         (dev_from_mount_options)
83597         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
83598         New function.  It no longer assumes "dev=" has the System V meaning
83599         on Linux (since it doesn't).  It also parses "dev=" more carefully.
83600         (read_file_system_list)
83601         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
83602         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
83603         dev= in that case.
83604
83605         * lib/posixtm.h (PDS_PRE_2000): New macro.
83606         * lib/posixtm.c (year): Arg is now syntax_bits rather than
83607         allow_century.  All usages changed.  Reject dates outside the range
83608         1969-1999 if PDS_PRE_2000 is used.
83609
83610 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83611
83612         Sync from coreutils.
83613         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
83614         (Time of day items): Mention the possibility of leap seconds.
83615         Problem reported by Dr. David Alan Gilbert.
83616
83617 2006-01-09  Jim Meyering  <jim@meyering.net>
83618
83619         Sync from coreutils.
83620
83621         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
83622
83623         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
83624
83625         * lib/modechange.c (mode_compile): Reject an invalid mode string
83626         that starts with an octal digit.  From Andreas Gruenbacher.
83627
83628         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
83629         and dup to open_safer and dup_safer, respectively.
83630         (openat_permissive): Fix typo in comment.
83631
83632         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
83633         "gettext.h"; either no longer needed or are guaranteed by openat.h.
83634         (_): Remove; no longer needed.
83635         (openat): Renamed from rpl_openat; no need for rpl_openat
83636         since openat.h renames openat for us.
83637         Replace most of the body with a call to openat_permissive,
83638         to avoid duplicate code.
83639         Port to (probably hypothetical) environments were mode_t is
83640         wider than int.
83641         (openat_permissive): Require mode arg, so that we can check
83642         types better.  Put it just after flags.  Change cwd failure
83643         indicator from pointer-to-bool to pointer-to-errno-value.
83644         All callers changed.
83645         Invoke openat_save_fail and/or openat_restore_fail if
83646         cwd_errno is null, so that openat can call us.
83647         (openat_permissive, fdopendir, fstatat, unlinkat):
83648         Simplify errno handling to avoid some duplicate code,
83649         as it's OK to set errno on success.
83650         * lib/openat.h: Revamp code so that function macros depend on
83651         __OPENAT_PREFIX only, not also on AT_FDCWD.
83652         (openat_ro): Remove.  Caller changed to use openat_permissive.
83653         (openat_permissive): Now a macro, if not a function.
83654         (openat_restore_fail, openat_save_fail): Now always functions,
83655         since mkdirat needs them even if __OPENAT_PREFIX is defined.
83656
83657         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
83658         and openat.c.
83659         * lib/mkdirat.c: Include openat-priv.h.
83660         Remove definitions of macros defined therein.
83661         * lib/openat.c: Likewise.
83662
83663         * lib/mkdirat.c (mkdirat): New file and function.
83664         * lib/openat.h (mkdirat): Declare.
83665
83666         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
83667
83668         * lib/openat.h (openat_permissive): Declare.
83669         (openat_ro): Define.
83670
83671         * lib/openat.c (EXPECTED_ERRNO): New macro.
83672         (openat_permissive): New function -- used in remove.c rewrite.
83673         (all functions): Set errno just before returning, only if there
83674         was an actual failure.
83675         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
83676
83677         Emulate openat-family functions using Linux's procfs, if possible.
83678         Idea and some code based on Ulrich Drepper's glibc changes.
83679
83680         * lib/openat.c: (BUILD_PROC_NAME): New macro.
83681         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
83682         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
83683         before falling back on save_cwd and restore_cwd.
83684         (fdopendir, fstatat, unlinkat): Likewise.
83685
83686         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
83687         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
83688
83689         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
83690         as second argument to va_arg.  Otherwise, some versions of gcc
83691         warn that `if this code is reached, the program will abort'.
83692
83693 2006-01-09  Jim Meyering  <jim@meyering.net>
83694
83695         Sync from coreutils.
83696         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
83697         Require openat-priv.h.
83698
83699 2006-01-09  Bruno Haible  <bruno@clisp.org>
83700
83701         * modules/strnlen (Include): Use strnlen.h.
83702
83703 2006-01-09  Bruno Haible  <bruno@clisp.org>
83704
83705         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
83706
83707 2006-01-09  Bruno Haible  <bruno@clisp.org>
83708
83709         * lib/sysexit_.h (EX_OK): New macro.
83710         Suggested by Martin Lambers <marlam@marlam.de>.
83711
83712 2006-01-09  Bruno Haible  <bruno@clisp.org>
83713
83714         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
83715         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
83716
83717 2006-01-09  Bruno Haible  <bruno@clisp.org>
83718
83719         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
83720         numbers.
83721
83722 2006-01-09  Bruno Haible  <bruno@clisp.org>
83723
83724         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
83725         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
83726         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
83727         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
83728
83729 2006-01-09  Bruno Haible  <bruno@clisp.org>
83730
83731         * build-aux/javacomp.sh.in: New file, moved from lib/.
83732         * modules/javacomp-script (Files): Update.
83733         (configure.ac): Add AC_CONFIG_FILES invocation.
83734         (EXTRA_DIST): Remove variable.
83735
83736         * build-aux/javaexec.sh.in: New file, moved from lib/.
83737         * modules/javaexec (Files): Update.
83738         (configure.ac): Add AC_CONFIG_FILES invocation.
83739         (EXTRA_DIST): Remove javaexec.sh.in.
83740
83741         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
83742         * modules/csharpcomp-script (Files): Update.
83743         (configure.ac): Add AC_CONFIG_FILES invocation.
83744         (EXTRA_DIST): Remove variable.
83745
83746         * build-aux/csharpexec.sh.in: New file, moved from lib/.
83747         * modules/csharpexec (Files): Update.
83748         (configure.ac): Add AC_CONFIG_FILES invocation.
83749         (EXTRA_DIST): Remove csharpexec.sh.in.
83750
83751 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83752
83753         Sync from coreutils.
83754
83755         Add POSIX ACL support
83756         * lib/acl.h (copy_acl, set_acl): Add declarations.
83757         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
83758         systems other than Linux.
83759         (chmod_or_fchmod): New function: use fchmod when possible,
83760         and chmod otherwise.
83761         (file_has_acl): Add a POSIX ACL implementation, with a
83762         Linux-specific subcase.
83763         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
83764         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
83765         acls are unsupported.
83766         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
83767         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
83768         are unsupported.
83769
83770 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83771
83772         Sync from coreutils.
83773         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
83774
83775 2006-01-07  Bruno Haible  <bruno@clisp.org>
83776
83777         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
83778         gl_EARLY.
83779
83780 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83781
83782         * lib/strftime.c (tzname): Don't declare if it is already #defined.
83783         Problem reported for Mingw by Mark Junker.
83784
83785 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83786
83787         * README: Gnulib normally doesn't generate a tarball.
83788
83789 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
83790
83791         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
83792         long int, not int, for nanosecond counts, so that people who are
83793         used to POSIX struct timespec won't be surprised.  Reported by Jim
83794         Meyering.
83795
83796 2005-12-28  Bruno Haible  <bruno@clisp.org>
83797
83798         * build-aux/config.rpath: Update from GNU gettext.
83799
83800 2005-12-16  Jim Meyering  <jim@meyering.net>
83801
83802         * modules/fprintftime: New module.
83803         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
83804
83805 2005-12-16  Jim Meyering  <jim@meyering.net>
83806
83807         * m4/fprintftime.m4: New file.
83808
83809 2005-12-16  Jim Meyering  <jim@meyering.net>
83810
83811         * lib/fprintftime.c, lib/fprintftime.h: New files.
83812
83813 2005-12-15  Simon Josefsson  <jas@extundo.com>
83814
83815         * modules/socklen (configure.ac): Fix M4 macro name, to align with
83816         new m4/socklen.m4.
83817
83818 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83819
83820         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
83821         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
83822
83823 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83824
83825         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
83826         * lib/argp-help.c (fill_in_uparams): Check if the constructed
83827         struct uparams is valid. Fall back to the default values if it is
83828         not.
83829
83830 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83831
83832         * modules/argp (Files): Add argp-pin.c
83833         (Depends-on): dirname
83834         (lib_SOURCES): Add argp-pin.c
83835
83836 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83837
83838         * m4/argp.m4:  Check if program_invocation_name and
83839         program_invocation_short_name are declared and define appropriate
83840         macros if they are not.
83841
83842 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83843
83844         * lib/argp-help.c (__argp_base_name): New function
83845         (__argp_short_program_name): Rewrite using __argp_base_name
83846         * lib/argp-namefrob.h: Define program_invocation_name and
83847         program_invocation_short_name if requested
83848         (__argp_base_name): Add prototype
83849         * lib/argp-parse.c (argp_def): Use gettext wrappers
83850         (argp_default_parser): Use __argp_base_name
83851         * lib/argp-pin.c: New file. Defines program_invocation_name and
83852         program_invocation_short_name on systems that lack them.
83853
83854 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83855
83856         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
83857         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83858         porting problem reported by Georg Schwarz in
83859         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83860
83861 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83862
83863         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
83864         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83865         porting problem reported by Georg Schwarz in
83866         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83867
83868 2005-12-05  Bruno Haible  <bruno@clisp.org>
83869
83870         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
83871         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
83872         Reported by Mark Junker <mjscod@gmx.de>.
83873
83874 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
83875
83876         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
83877         Use implementation from Albert Chin, with some
83878         comments/corrections by Stepan Kasal and myself.
83879
83880 2005-12-02  Bruno Haible  <bruno@clisp.org>
83881
83882         * gnulib-tool (func_import): Accept GPLed build tool modules when
83883         --lgpl is given.
83884         * modules/csharpcomp-script: New file.
83885         * modules/csharpcomp: Depend on it.
83886         * modules/javacomp-script: New file.
83887         * modules/javacomp: Depend on it.
83888         Suggested by Simon Josefsson.
83889
83890 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
83891
83892         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
83893         statement, to work around an HP-UX 10.20 compiler bug reported by
83894         Peter O'Gorman.
83895
83896 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83897
83898         * modules/savedir (Depends-on): Add openat.
83899
83900 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83901
83902         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
83903         (uintmax_t) [defined uintmax_t]: Do not declare.
83904         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
83905         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
83906         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
83907         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
83908         sake of portability to weird hosts that C allows (though we don't
83909         know of any practical examples).
83910
83911         * lib/savedir.h (fdsavedir): New decl.
83912         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
83913         contains most of the former guts of savedir.
83914         (savedir): Use savedirstream.
83915         Include "openat.h".
83916
83917 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83918
83919         * modules/obstack (Files): Add m4/ulonglong.m4.
83920         Problem reported by Davide Angelocola.
83921
83922 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
83923
83924         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
83925         coreutils no longer futzes with rounding modes.
83926
83927 2005-11-14  Jim Meyering  <jim@meyering.net>
83928
83929         * lib/mkstemp-safer.c: Include <config.h>, required for possible
83930         replacement of mkstemp.
83931
83932 2005-11-10  Simon Josefsson  <jas@extundo.com>
83933
83934         * lib/readline.c: Remove EOL.
83935
83936 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83937
83938         * modules/gethrxtime (Depends-on): Add gettime.
83939
83940 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83941
83942         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
83943         or gettimeofday; no longer needed.
83944
83945 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83946
83947         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
83948         time business.
83949         (gethrxtime) [! (HAVE_NANOUPTIME
83950         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
83951         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
83952         our own approximation.
83953
83954 2005-11-08  Eric Blake  <ebb9@byu.net>
83955
83956         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83957
83958 2005-11-08  Eric Blake  <ebb9@byu.net>
83959
83960         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83961
83962 2005-11-04  Bruno Haible  <bruno@clisp.org>
83963
83964         * gnulib-tool: Implement --update mode.
83965
83966 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83967
83968         Fix porting problem reported by Theodoros V. Kalamatianos.
83969         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
83970         Don't assume that futimes failing means we must fail.
83971
83972 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83973
83974         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
83975         variables to suggest the intended function of the PATH_MAX check.
83976
83977 2005-10-30  Kean Johnston  <jkj@sco.com>
83978
83979         Trivial changes to support SCO systems.
83980         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
83981         as PATH_MAX.
83982         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
83983         where __ptr is null when no I/O is pending.
83984
83985 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83986
83987         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
83988         leave errno alone.  Problem reported by Dmitry V. Levin.
83989
83990 2005-10-28  Simon Josefsson  <jas@extundo.com>
83991
83992         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
83993         Test more.
83994
83995         * tests/test-gc-md2.c, tests/test-md2.c: New files.
83996
83997         * modules/md2, modules/md2-tests: New files.
83998
83999 2005-10-28  Simon Josefsson  <jas@extundo.com>
84000
84001         * m4/inet_ntop.m4: More tests.
84002
84003         * m4/gc-md2.m4, md2.m4: New file.
84004
84005 2005-10-28  Simon Josefsson  <jas@extundo.com>
84006
84007         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
84008         "restrict" keywords, as per POSIX.  Protect the function
84009         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
84010         Don't use K&R prototypes.  Check the sprintf return values.
84011         Re-define EAFNOSUPPORT if not present.  Indent.
84012
84013         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
84014         suggested by Bruno Haible <bruno@clisp.org>.
84015
84016         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
84017
84018         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
84019
84020         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
84021         libgcrypt).
84022
84023         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
84024
84025         * lib/md2.h, lib/md2.c: New files.
84026
84027 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
84028
84029         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
84030         errno alone.  Problem reported by Frederic Jolliton.
84031
84032 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
84033
84034         * modules/verify (License): Change from GPL to LGPL.  This is a
84035         tiny module and there are apparently near-equivalents that are
84036         under the BSD license.
84037
84038 2005-10-24  Simon Josefsson  <jas@extundo.com>
84039
84040         * modules/sha1: Relicense to LGPL.
84041
84042 2005-10-24  Simon Josefsson  <jas@extundo.com>
84043
84044         * lib/md4.h: Shrink buffer size, now that we changed the type.
84045
84046 2005-10-23  Simon Josefsson  <jas@extundo.com>
84047
84048         * gnulib-tool (func_import): Fix --tests-base.
84049
84050 2005-10-22  Simon Josefsson  <jas@extundo.com>
84051
84052         * modules/arcfour (Depends-on): Need stdint.
84053
84054 2005-10-22  Simon Josefsson  <jas@extundo.com>
84055
84056         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
84057         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
84058
84059 2005-10-22  Simon Josefsson  <jas@extundo.com>
84060
84061         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
84062         suggested by Bruno Haible <bruno@clisp.org>.
84063
84064 2005-10-22  Simon Josefsson  <jas@extundo.com>
84065
84066         * lib/crc.h: Include stddef.h, for size_t.
84067
84068 2005-10-22  Simon Josefsson  <jas@extundo.com>
84069
84070         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
84071         arcfour_context struct (simplify test vector testing in GNU
84072         Shishi).
84073
84074 2005-10-21  Simon Josefsson  <jas@extundo.com>
84075
84076         * modules/des, modules/des-tests: New files.
84077
84078         * modules/gc-des, modules/gc-des-tests: New files.
84079
84080         * tests/test-des.c, tests/test-gc-des.c: New file.
84081
84082 2005-10-21  Simon Josefsson  <jas@extundo.com>
84083
84084         * modules/arctwo, modules/arctwo-tests: New files.
84085
84086         * tests/test-arctwo.c: New file.
84087
84088         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
84089
84090         * tests/test-gc-arctwo.c: New file.
84091
84092 2005-10-21  Simon Josefsson  <jas@extundo.com>
84093
84094         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
84095         Bruno Haible <bruno@clisp.org>.
84096
84097         * m4/gc-des.m4: New file.
84098
84099 2005-10-21  Simon Josefsson  <jas@extundo.com>
84100
84101         * m4/arctwo.m4: New file.
84102
84103         * m4/gc-arctwo.m4: New file.
84104
84105 2005-10-21  Simon Josefsson  <jas@extundo.com>
84106
84107         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
84108         block.
84109
84110 2005-10-21  Simon Josefsson  <jas@extundo.com>
84111
84112         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
84113         <bruno@clisp.org>.
84114
84115         * lib/hmac-sha1.c (hmac_sha1): Likewise.
84116
84117         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
84118         Bruno Haible <bruno@clisp.org>.
84119
84120         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
84121         <bruno@clisp.org>.
84122
84123 2005-10-21  Simon Josefsson  <jas@extundo.com>
84124
84125         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
84126
84127 2005-10-21  Simon Josefsson  <jas@extundo.com>
84128
84129         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
84130
84131 2005-10-21  Simon Josefsson  <jas@extundo.com>
84132
84133         * lib/des.h, lib/des.c: New files.
84134
84135         * lib/gc-gnulib.c: Support DES.c
84136
84137 2005-10-21  Simon Josefsson  <jas@extundo.com>
84138
84139         * lib/arctwo.h, lib/arctwo.c: New files.
84140
84141         * lib/gc-gnulib.c: Support ARCTWO.
84142
84143 2005-10-21  Simon Josefsson  <jas@extundo.com>
84144
84145         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
84146         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
84147
84148 2005-10-21  Simon Josefsson  <jas@extundo.com>
84149
84150         * gnulib-tool (func_import, func_create_testdir): Define automake
84151         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
84152         Makefile.am snippet),
84153         suggested by Bruno Haible <bruno@clisp.org>.
84154
84155         * modules/gc (Makefile.am): Use it.
84156
84157 2005-10-21  Bruno Haible  <bruno@clisp.org>
84158
84159         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
84160         patch.
84161
84162 2005-10-19  Simon Josefsson  <jas@extundo.com>
84163
84164         * tests/test-gc-rijndael.c: New file.
84165
84166         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
84167
84168 2005-10-19  Simon Josefsson  <jas@extundo.com>
84169
84170         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
84171         interface too.
84172
84173 2005-10-19  Simon Josefsson  <jas@extundo.com>
84174
84175         * tests/test-gc-arcfour.c: New file.
84176
84177         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
84178
84179 2005-10-19  Simon Josefsson  <jas@extundo.com>
84180
84181         * modules/gc-md4, modules/gc-md4-tests: New file.
84182
84183         * tests/test-gc-md4.c: New file.
84184
84185 2005-10-19  Simon Josefsson  <jas@extundo.com>
84186
84187         * m4/gc-md4.m4: New file.
84188
84189 2005-10-19  Simon Josefsson  <jas@extundo.com>
84190
84191         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
84192         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
84193         <kasal@ucw.cz>.
84194
84195 2005-10-19  Simon Josefsson  <jas@extundo.com>
84196
84197         * m4/gc-arcfour.m4: New file.
84198
84199         * m4/gc-rijndael.m4: New file.
84200
84201 2005-10-19  Simon Josefsson  <jas@extundo.com>
84202
84203         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
84204
84205 2005-10-19  Simon Josefsson  <jas@extundo.com>
84206
84207         * lib/gc-gnulib.c: Support ARCFOUR.
84208
84209 2005-10-19  Simon Josefsson  <jas@extundo.com>
84210
84211         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
84212         support.
84213
84214         * lib/gc.h: Add ECB enum type.
84215
84216         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
84217
84218 2005-10-18  Simon Josefsson  <jas@extundo.com>
84219
84220         * tests/test-md5.c: New file.
84221
84222         * modules/md5-tests: New file.
84223
84224 2005-10-18  Simon Josefsson  <jas@extundo.com>
84225
84226         * tests/test-md4.c: New file.
84227
84228         * modules/md4, modules/md4-tests: New files.
84229
84230 2005-10-18  Simon Josefsson  <jas@extundo.com>
84231
84232         * m4/md4.m4: New file.
84233
84234 2005-10-18  Simon Josefsson  <jas@extundo.com>
84235
84236         * lib/md4.h, lib/md4.c: New files, based on md5.?.
84237
84238 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
84239
84240         * gnulib-tool (func_create_testdir): Omit the second check whether
84241         BUILT_SOURCES in nonempty.
84242
84243 2005-10-17  Simon Josefsson  <jas@extundo.com>
84244
84245         * tests/test-rijndael.c: New file.
84246
84247 2005-10-17  Simon Josefsson  <jas@extundo.com>
84248
84249         * modules/sha1: Depend on stdint instead of md5.
84250
84251         * modules/md5: Depend on stdint, remove uint32_t.
84252
84253 2005-10-17  Simon Josefsson  <jas@extundo.com>
84254
84255         * modules/gc-sha1-tests: New file.
84256
84257         * tests/test-gc-sha1.c: New file.
84258
84259 2005-10-17  Simon Josefsson  <jas@extundo.com>
84260
84261         * m4/md5.m4: Remove call to uint32_t.m4.
84262
84263 2005-10-17  Simon Josefsson  <jas@extundo.com>
84264
84265         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
84266
84267         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
84268         md5.h.
84269
84270         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
84271
84272         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
84273
84274 2005-10-17  Simon Josefsson  <jas@extundo.com>
84275
84276         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
84277
84278 2005-10-17  Simon Josefsson  <jas@extundo.com>
84279
84280         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
84281
84282 2005-10-17  Simon Josefsson  <jas@extundo.com>
84283
84284         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
84285
84286         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
84287
84288 2005-10-17  Bruno Haible  <bruno@clisp.org>
84289
84290         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
84291         that it can also be used in a test.
84292
84293 2005-10-16  Bruno Haible  <bruno@clisp.org>
84294
84295         * gnulib-tool (func_emit_tests_Makefile_am): Also define
84296         TESTS_ENVIRONMENT, so that individual tests can augment it.
84297
84298         * gnulib-tool (func_create_testdir): Use an intermediate target for
84299         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
84300         macros, like $(ALLOCA_H), which cannot be passed through the command
84301         line.
84302
84303 2005-10-15  Simon Josefsson  <jas@extundo.com>
84304
84305         * modules/rijndael-tests: New file.
84306
84307         * modules/rijndael: New file.
84308
84309 2005-10-15  Simon Josefsson  <jas@extundo.com>
84310
84311         * m4/rijndael.m4: New file.
84312
84313 2005-10-15  Simon Josefsson  <jas@extundo.com>
84314
84315         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
84316
84317         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
84318
84319 2005-10-14  Simon Josefsson  <jas@extundo.com>
84320
84321         * tests/test-arcfour.c: New file.
84322
84323         * modules/arcfour, modules/arcfour-tests: New files.
84324
84325 2005-10-14  Simon Josefsson  <jas@extundo.com>
84326
84327         * m4/arcfour.m4: New file.
84328
84329 2005-10-14  Simon Josefsson  <jas@extundo.com>
84330
84331         * lib/arcfour.h, lib/arcfour.c: New files.
84332
84333 2005-10-14  Roland McGrath  <roland@redhat.com>
84334
84335         Import from libc.  [BZ #1331]
84336         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
84337         macro argument.
84338         Reported by Matej Vela <vela@debian.org>.
84339
84340 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
84341
84342         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
84343         include <wchar.h>; no longer needed.
84344
84345 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
84346
84347         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
84348
84349 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
84350         and  Ulrich Drepper  <drepper@redhat.com>
84351
84352         Import from libc.
84353         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
84354         instead of inline stream orientation test and two separate
84355         function calls.  Pay no attention to USE_IN_LIBIO.
84356
84357 2005-10-13  Simon Josefsson  <jas@extundo.com>
84358
84359         * modules/gc-hmac-md5-tests: New file.
84360
84361         * tests/test-gc-hmac-sha1.c: New file.
84362
84363         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
84364
84365         * modules/gc-hmac-md5-tests: New file.
84366
84367         * tests/test-gc-md5.c: New file.
84368
84369         * modules/gc-md5-tests: New file.
84370
84371 2005-10-13  Simon Josefsson  <jas@extundo.com>
84372
84373         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
84374         Move memory allocation outside of loop.
84375
84376 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
84377
84378         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
84379         intermediate directory is in a read-only file system.  Problem
84380         reported by Eric Blake.
84381
84382 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
84383
84384         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
84385
84386 2005-10-12  Simon Josefsson  <jas@extundo.com>
84387
84388         * tests/test-hmac-sha1.c: New file.
84389
84390         * modules/hmac-sha1-tests: New file.
84391
84392         * modules/hmac-sha1: New file.
84393
84394 2005-10-12  Simon Josefsson  <jas@extundo.com>
84395
84396         * modules/gc-sha1: New file.
84397
84398 2005-10-12  Simon Josefsson  <jas@extundo.com>
84399
84400         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
84401
84402         * tests/test-gc-pbkdf2-sha1.c: New file.
84403
84404 2005-10-12  Simon Josefsson  <jas@extundo.com>
84405
84406         * modules/gc-md5, modules/gc-hmac-md5: New files.
84407
84408         * modules/gc (Files): Remove md5, memxor and hmac files.
84409
84410 2005-10-12  Simon Josefsson  <jas@extundo.com>
84411
84412         * m4/gc-pbkdf2-sha1.m4: New file.
84413
84414         * m4/gc-hmac-sha1.m4: New file.
84415
84416         * m4/gc-sha1: New file.
84417
84418         * m4/hmac-sha1.m4: New file.
84419
84420 2005-10-12  Simon Josefsson  <jas@extundo.com>
84421
84422         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
84423
84424         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
84425
84426 2005-10-12  Simon Josefsson  <jas@extundo.com>
84427
84428         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
84429         suggested by Bruno Haible <bruno@clisp.org>.
84430
84431 2005-10-12  Simon Josefsson  <jas@extundo.com>
84432
84433         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
84434
84435 2005-10-12  Simon Josefsson  <jas@extundo.com>
84436
84437         * lib/gc-pbkdf2-sha1.c: New file.
84438
84439         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
84440
84441 2005-10-12  Simon Josefsson  <jas@extundo.com>
84442
84443         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
84444
84445         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
84446
84447 2005-10-12  Simon Josefsson  <jas@extundo.com>
84448
84449         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
84450         GC_USE_HMAC_MD5, respectively.
84451
84452         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
84453         (gc_md5): Fix typo.
84454
84455         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
84456
84457         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
84458
84459         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
84460
84461 2005-10-12  Bruno Haible  <bruno@clisp.org>
84462
84463         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
84464         Reported by Stepan Kasal <kasal@ucw.cz>.
84465
84466 2005-10-11  Simon Josefsson  <jas@extundo.com>
84467
84468         * tests/test-crc.c: New file.
84469
84470         * modules/crc, modules/crc-tests: New files.
84471
84472 2005-10-11  Simon Josefsson  <jas@extundo.com>
84473
84474         * m4/crc.m4: New file.
84475
84476 2005-10-11  Simon Josefsson  <jas@extundo.com>
84477
84478         * lib/gc.h: Add gc_hash and gc_hash_buffer.
84479
84480         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
84481
84482         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
84483
84484 2005-10-11  Simon Josefsson  <jas@extundo.com>
84485
84486         * lib/crc.h, lib/crc.c: New files.
84487
84488         * lib/gc.h (gc_hash_buffer): Add doc.
84489
84490 2005-10-11  Bruno Haible  <bruno@clisp.org>
84491
84492         * modules/c-strcasestr: New file.
84493         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
84494
84495 2005-10-11  Bruno Haible  <bruno@clisp.org>
84496
84497         * modules/c-strcase: New file.
84498         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
84499
84500 2005-10-11  Bruno Haible  <bruno@clisp.org>
84501
84502         * lib/strcasecmp.c: Include limits.h.
84503         (strcasecmp): Avoid integer overflow on exotic platforms.
84504         * lib/strncasecmp.c: Include limits.h.
84505         (strncasecmp): Avoid integer overflow on exotic platforms.
84506         Reported by Paul Eggert.
84507
84508 2005-10-11  Bruno Haible  <bruno@clisp.org>
84509
84510         * lib/c-strcasestr.h: New file, from GNU gettext.
84511         * lib/c-strcasestr.c: New file, from GNU gettext.
84512
84513 2005-10-11  Bruno Haible  <bruno@clisp.org>
84514
84515         * lib/c-strcase.h: New file, from GNU gettext.
84516         * lib/c-strcasecmp.c: New file, from GNU gettext.
84517         * lib/c-strncasecmp.c: New file, from GNU gettext.
84518
84519 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
84520
84521         * modules/mempcpy (License): GPL -> LGPL.
84522         * modules/strchrnul (License): Likewise.
84523         * modules/sysexits (License): Likewise.
84524
84525 2005-10-08  Simon Josefsson  <jas@extundo.com>
84526
84527         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
84528
84529 2005-10-07  Simon Josefsson  <jas@extundo.com>
84530
84531         * m4/memxor.m4: Remove gl_C_RESTRICT call.
84532
84533 2005-10-06  Simon Josefsson  <jas@extundo.com>
84534
84535         * tests/test-hmac-md5.c: New file.
84536
84537         * modules/hmac-md5-tests: New file.
84538
84539         * modules/hmac-md5: New file.
84540
84541 2005-10-06  Simon Josefsson  <jas@extundo.com>
84542
84543         * m4/hmac-md5.m4: New file.
84544
84545         * m4/memxor.m4: Require gl_C_RESTRICT.
84546
84547 2005-10-06  Simon Josefsson  <jas@extundo.com>
84548
84549         * lib/memxor.c (memxor): Avoid casts and warnings.
84550
84551 2005-10-06  Simon Josefsson  <jas@extundo.com>
84552
84553         * lib/hmac-md5.c: New file.
84554
84555         * lib/hmac.h: New file.
84556
84557 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
84558
84559         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
84560         promotes to int, not unsigned int, to catch the AIX 5.3
84561         compiler bug.
84562
84563 2005-10-05  Simon Josefsson  <jas@extundo.com>
84564
84565         * modules/memxor: New file.
84566
84567         * modules/iconv (Files): Move config.rpath to havelib, it is used
84568         there.
84569
84570         * modules/havelib (Files): Add config.rpath.
84571
84572 2005-10-05  Simon Josefsson  <jas@extundo.com>
84573
84574         * m4/memxor.m4: New file.
84575
84576 2005-10-05  Simon Josefsson  <jas@extundo.com>
84577
84578         * lib/memxor.c (memxor): Fix compiler error.
84579
84580         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
84581         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
84582
84583         * lib/memxor.h, lib/memxor.c: New files.
84584
84585         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
84586         we assume all systems have it, suggested by Jim Meyering
84587         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
84588         any systems lack sys/socket.h; mingw32 is known to lack it, but we
84589         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
84590         same reasons.
84591
84592 2005-10-05  Simon Josefsson  <jas@extundo.com>
84593
84594         * config/srclist.txt: Add glibc bug 1423 for md5.h.
84595
84596 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
84597
84598         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
84599         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
84600         needed, since the source code now assumes these .h files.
84601
84602 2005-10-05  Derek Price  <derek@ximbiot.com>
84603
84604         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
84605
84606 2005-10-05  Bruno Haible  <bruno@clisp.org>
84607
84608         * modules/stdint (License): Change to LGPL.
84609
84610 2005-10-04  Simon Josefsson  <jas@extundo.com>
84611
84612         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
84613         D. Baushke" <mdb@gnu.org>.
84614
84615 2005-10-04  Bruno Haible  <bruno@clisp.org>
84616
84617         * lib/verify.h (verify_true): Provide alternative definition for C++.
84618
84619 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
84620
84621         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
84622         (SSIZE_MAX): New macro, if not already defined.
84623         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
84624         than 2 GiB.
84625
84626 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84627
84628         Sync from coreutils.
84629         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
84630         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
84631         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
84632         ULLONG_MAX doesn't work with 2.7.2.1.
84633
84634 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84635
84636         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
84637         From Ben Pfaff.
84638
84639         * modules/exclude (Depends-on): Depend on verify.
84640         * modules/strtoimax (Depends-on): Likewise.
84641         * modules/utimecmp (Depends-on): Likewise.
84642
84643 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84644
84645         * lib/exclude.c: Include verify.h.
84646         (verify): Remove.  All callers changed to use verify.h's version.
84647         * lib/strtoimax.c: Likewise.
84648         * lib/utimecmp.c: Likewis.e
84649
84650         Sync from coreutils.
84651         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
84652         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
84653         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
84654         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
84655         bother returning ENOSYS if settimeofday or stime fails; just let
84656         them return whatever errno they want to return.
84657         * lib/utimens.c: Include unistd.h, for dup2.
84658         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
84659         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
84660
84661 2005-10-02  Jim Meyering  <jim@meyering.net>
84662
84663         Sync from coreutils.
84664         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
84665         from glibc-2.2.5 that fails for read-only files.
84666
84667 2005-10-02  Jim Meyering  <jim@meyering.net>
84668
84669         Sync from coreutils.
84670         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
84671         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
84672         `#if HAVE_CONFIG_H'.
84673         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
84674         Remove AT_FDCWD test.
84675         Do not consume the fd unless successful.
84676         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
84677         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
84678         block, so that we don't even try to compile it if settimeofday is
84679         available.  This works around a compilation failure on OSF1 V5.1,
84680         due to stime requiring a `long int*' while tv_sec is `int'.
84681
84682 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
84683
84684         Sync from coreutils.
84685         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
84686         against `yes', rather than just testing for nonempty.
84687
84688 2005-10-01  Simon Josefsson  <jas@extundo.com>
84689
84690         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
84691         and Darwin.
84692
84693         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
84694         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
84695         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
84696         freeaddrinfo and gai_strerror are declared by the POSIX headers.
84697         Check if struct addrinfo is declared.
84698
84699 2005-10-01  Simon Josefsson  <jas@extundo.com>
84700
84701         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
84702         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
84703         AI_* and EAI_* definitions.  Protect function declarations.
84704
84705 2005-10-01  Jim Meyering  <jim@meyering.net>
84706
84707         Sync from coreutils.
84708
84709         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
84710         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
84711         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
84712         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84713         in the inet and nsl libraries.  Required on Solaris 5.7.
84714
84715 2005-10-01  Jim Meyering  <jim@meyering.net>
84716
84717         Sync from coreutils.
84718         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84719         in the inet and nsl libraries.  Required on Solaris 5.7.
84720
84721 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
84722
84723         * lib/getdelim.c (getdelim): Remove unused variables.
84724
84725 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
84726
84727         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
84728         so that the code works even with ancient cpp.  Portability problem
84729         with GCC 2.7.2.1 reported by Thomas M.Ott.
84730
84731 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
84732
84733         * modules/regex (Depends-on): Add strcase.
84734
84735         * modules/gethostname (Licence): Change from GPL to LGPL, since
84736         gethostname.c is a trivial implementation of a standard library
84737         function.
84738         * modules/poll (License): Change from GPL to LGPL, since it's
84739         derived from LGPL code.
84740
84741 2005-09-27  Jim Meyering  <jim@meyering.net>
84742
84743         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
84744         HAVE_CONFIG_H.
84745
84746         * lib/intprops.h (signed_type_or_expr__): Define.
84747         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
84748         for unsigned types.
84749
84750 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
84751
84752         * lib/verify.h (verify_expr): Remove, replacing with:
84753         (verify_true): New macro that returns true instead of void.
84754         (verify_type__): Remove.
84755         (verify): Use verify_true rather than verify_type__.
84756
84757 2005-09-26  Bruno Haible  <bruno@clisp.org>
84758
84759         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
84760         is necessary.
84761         (lib_SOURCES): Remove mbchar.c.
84762         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
84763         (Files): Add m4/mbrtowc.m4.
84764         * modules/mbiter: Likewise.
84765         * modules/mbuiter: Likewise.
84766
84767 2005-09-26  Bruno Haible  <bruno@clisp.org>
84768
84769         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
84770         compile mbchar.c if they are not both present.
84771         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
84772         * m4/mbiter.m4 (gl_MBITER): Likewise.
84773         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
84774         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
84775         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
84776
84777 2005-09-25  Jim Meyering  <jim@meyering.net>
84778
84779         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
84780         also uses socklen_t.
84781
84782 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
84783
84784         * lib/utimens.c (ENOSYS): Define if not already defined.
84785         (futimens): Support having a null PATH if the file descriptor
84786         is nonnegative.
84787
84788         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
84789         Remove.
84790         (__attribute): Define to empty unless GCC 3.1 or later.
84791         This works around a core dump on OpenBSD 3.4, which has GCC
84792         2.95.3, which dumps core when given __attribute__(()).  It also
84793         simplifies other tests, since we really don't want to bother with
84794         worrying about which ancient version of GCC supported what.
84795         Original problem reported by Yoann Vandoorselaere, with part of
84796         the fix suggested by Derek Price.
84797
84798 2005-09-24  Jim Meyering  <jim@meyering.net>
84799
84800         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
84801         so we can once again use a positive bitfield width of 1 -- now we
84802         don't have to explain why we were using a bitfield width of 2.
84803
84804 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84805
84806         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
84807         and similarly for the other external symbols.  Problem reported
84808         by James Gallager.
84809
84810         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
84811         bug reported by Jim Meyering.
84812
84813         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
84814         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
84815         not needed, since socklen is a prerequisite module.
84816
84817 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84818
84819         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
84820         Problem reported by Eric Blake.
84821         (getaddrinfo): Initialize se so that it's not garbage.
84822         Redo internal storage allocation so that it doesn't make unportable
84823         assumptions about alignment.
84824         Fix a memory leak.
84825
84826         * lib/utimens.c (futimens): Use futimesat if available.
84827         Prefer it to futimes since it doesn't have the futimes bug.
84828
84829         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
84830         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
84831         Instead, declare a function that returns a pointer to an array,
84832         and use verify_type__ to declare the size of the array.
84833         Problem and germ of a solution reported by Bruno Haible.
84834         (verify_type__): Use 2, not 1, for bitfield size, to avoid
84835         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
84836
84837 2005-09-23  Jim Meyering  <jim@meyering.net>
84838
84839         Sync from coreutils.
84840         Correct build failure (socklen_t not defined) on at least
84841         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
84842         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
84843
84844 2005-09-23  Jim Meyering  <jim@meyering.net>
84845
84846         * modules/getaddrinfo (Depends-on): Add socklen.
84847
84848 2005-09-23  Bruno Haible  <bruno@clisp.org>
84849
84850         * tests/test-verify.c: New file.
84851
84852 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84853
84854         Sync from coreutils.
84855
84856         * modules/argmatch (Depends-on): Add verify.
84857         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
84858         unistd-safer.
84859         * modules/save-cwd (Depends-on): Likewise.
84860
84861         * modules/openat (Files): Add lib/openat-die.c.
84862         (Depends-on): Remove error, exitfail.
84863         Add dirname.
84864
84865         * modules/verify: New file.
84866         * MODULES.html.sh (Diagnostics <assert.h>): New section,
84867         with "verify" module.
84868
84869 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84870
84871         Sync from coreutils.
84872
84873         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
84874         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
84875         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
84876         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
84877         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
84878         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
84879         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
84880         Don't bother checking for string.h, stdlib.h, unistd.h.
84881         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
84882         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
84883         module's job.
84884         * m4/jm-macros.m4 (gl_MACROS): Likewise.
84885         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
84886
84887         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
84888         (gl_GETDATE): Use it.
84889
84890         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
84891
84892 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84893
84894         Sync from coreutils.
84895
84896         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
84897         stat-time.h.
84898         * lib/argmatch.h: Include verify.h
84899         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
84900         (ARGMATCH_ASSERT): Remove; unused.
84901         * lib/canonicalize.c: Assume STDC_HEADERS.
84902         * lib/exclude.c: Include "strcase.h".
84903         * lib/regex_internal.h [!defined _LIBC]: Likewise.
84904         * lib/getusershell.c: Include stdio--.h rather than stdio.h
84905         and stdio-safer.h.
84906         (getusershell): Call fopen, not fopen_safer.
84907         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
84908         Do not include unistd-safer.h.
84909         (save_cwd): Don't call fd_safer; no longer needed
84910         now that we include fcntl--.h.
84911
84912         * lib/getdate.y (relative_time): New type.
84913         (RELATIVE_TIME_0): New constant.
84914         (parser_control): Use relative_time instead of doing it ourselves.
84915         (%union): Add new relative_time rel member.
84916         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
84917         Now typeless.
84918         (relunit, relunit_snumber): Now of type rel.
84919         (zone, rel, relunit, get_date): Adjust to above changes.
84920
84921         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
84922         Do not include unistd-safer.h.
84923         (getloadavg): Don't call fd_safer; no longer needed
84924         now that we include fcntl--.h.
84925
84926         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
84927         (make_dir_parents): Treat ENOSYS like EEXIST.
84928
84929         Improve quality of diagnostics on restore_cwd failure.
84930         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
84931         (make_dir_parents): Last arg is now int * (for errno), not bool *.
84932         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
84933         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
84934         each time through the loop.  Do not diagnose restore_cwd failure;
84935         that is the caller's job (and perhaps the caller does not care).
84936
84937         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
84938         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
84939         If the file already exists but is not a directory, don't bother
84940         to try to make its parents.
84941         Close potential file descriptor leak if we can't chdir("/") (!).
84942         Don't always return true if chdir($PWD) fails; return true only
84943         if the requested action was done successfully (except for the
84944         chdir($PWD)).
84945         Don't log final directory unless we actually made it.
84946         Refactor to avoid duplicate code to fix up permissions.
84947         Don't attempt to fix up parent permissions if chdir($PWD) fails.
84948
84949         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
84950         to make it a bit faster and (I hope) clearer.
84951         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
84952         Fix bug in formats like %2N.
84953
84954         * lib/verify.h: New file.
84955
84956 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84957
84958         Sync from coreutils.
84959         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
84960
84961 2005-09-22  Jim Meyering  <jim@meyering.net>
84962
84963         Sync from coreutils.
84964
84965         * m4/lstat.m4 (gl_FUNC_LSTAT):
84966         Use AC_LIBSOURCES to require lstat.c and lstat.h.
84967         Remove obsolete comment.
84968         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
84969         * m4/xstrtod.m4: Likewise.
84970
84971         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
84972
84973 2005-09-22  Jim Meyering  <jim@meyering.net>
84974
84975         Sync from coreutils.
84976
84977         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
84978
84979         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
84980         the .tm_year member, since otherwise gcc-4.0 would now warn about
84981         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
84982
84983         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
84984         order to avoid an unsuppressible warning from gcc on 64-bit systems.
84985
84986         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
84987         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
84988         when run in a time zone for which daylight savings time is in effect
84989         for the starting date.
84990
84991         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
84992         stop us from restricting permissions of just-created absolute-named
84993         directories.
84994         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
84995         to restore initial working directory.
84996         * lib/mkdir-p.c (make_dir_parents): New parameter:
84997         different_working_dir, to tell caller if/when we change the working
84998         directory and are unable to return to the initial one.
84999         * lib/mkdir-p.h (make_dir_parents): Update prototype.
85000         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
85001         `return false'.  This fixes a bug introduced on 2004-07-30.
85002
85003         * lib/openat.c (fdopendir): Be sure to close the supplied
85004         file descriptor before returning.  This makes our replacement
85005         implementation a little closer to Solaris's, where fdopendir
85006         ties the file descriptor to the returned DIR* pointer.
85007         * lib/openat.c (unlinkat): New function.
85008         * lib/openat.h (unlinkat): Add prototype.
85009         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
85010         (openat_restore_fail): Rename from openat_restore_die.
85011         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
85012
85013         Provide an alternative to exiting immediately upon save_cwd or
85014         restore_cwd failure.  Now, an application can arrange e.g.,
85015         to perform a longjump in that case.
85016         * lib/openat.c: Include dirname.h.
85017         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
85018         (rpl_openat, fdopendir, fstatat): Call openat_save_die
85019         and openat_restore_die rather than calling error directly.
85020         Don't include "error.h" or "exitfail.h"; they're no longer needed.
85021
85022         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
85023         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
85024         define.
85025
85026         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
85027         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
85028                             int utc, int nanoseconds);
85029         Background:
85030         date should not have to allocate a megabyte of virtual memory to
85031         handle a format argument like +%1048575T.  When implemented with
85032         strftime, it must allocate such a buffer, use strftime to fill it
85033         in, print it, then free it.
85034         With fprintftime, it simply prints everything and exits.
85035         With no need for memory allocation, that's one fewer way to fail.
85036         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
85037         optional field width, not before, so we accept %9:z, not %:9z.
85038         (my_strftime): Be sure to use L_('x') for literals.
85039
85040         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
85041         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
85042         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
85043         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
85044         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
85045         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
85046         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
85047         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
85048         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
85049         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
85050         * lib/xgethostname.c, lib/xreadlink.c:
85051         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
85052
85053         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
85054         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
85055         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
85056         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
85057         and don't include <sys/file.h>).
85058
85059 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
85060
85061         Sync from coreutils.
85062
85063         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
85064         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
85065         [!LDAV_DONE]: Avoid unused variable warning.
85066
85067 2005-09-21  Bruno Haible  <bruno@clisp.org>
85068
85069         * lib/unicodeio.h (unicode_to_mb): New declaration.
85070
85071 2005-09-20  Derek Price  <derek@ximbiot.com>
85072
85073         * lib/getaddrinfo.c: Don't include <netdb.h> included from
85074         getaddrinfo.h.
85075
85076 2005-09-20  Bruno Haible  <bruno@clisp.org>
85077
85078         * gnulib-tool: Remove trailing slashes from the values specified for
85079         --source-base, --m4-base, --tests-base, --aux-dir.
85080         Suggested by Simon Josefsson <jas@extundo.com>.
85081
85082 2005-09-20  Bruno Haible  <bruno@clisp.org>
85083
85084         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
85085         func_modules_to_filelist, func_import, func_create_testdir): Make all
85086         sorting results locale-independent, so that gnulib-cache.m4 doesn't
85087         change when gnulib-tool is invoked in a different locale.
85088
85089 2005-09-19  Simon Josefsson  <jas@extundo.com>
85090
85091         * m4/socklen.m4: Fix typo.
85092
85093 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85094
85095         Use a consistent style for including <config.h>.
85096         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
85097         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
85098         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
85099         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
85100         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
85101         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
85102         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
85103         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
85104         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
85105         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
85106         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
85107         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
85108         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
85109         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
85110         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
85111         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
85112         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
85113         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
85114         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
85115         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
85116         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
85117         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
85118         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
85119         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
85120         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
85121         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
85122         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
85123         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
85124         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
85125         lib/xstrtoumax.c, lib/yesno.c:
85126         Standardize inclusion of config.h.
85127         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
85128         lib/inttostr.h:  Removed inclusion of config.h from header files.
85129         * lib/inttostr.c:  Adjusted in-tree users.
85130         * lib/timespec.h: Remove superfluous warning to include config.h.
85131         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
85132         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
85133         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
85134         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
85135         config.h with HAVE_CONFIG_H.
85136
85137 2005-09-19  Jim Meyering  <jim@meyering.net>
85138
85139         * modules/pathmax (License): Change to LGPL.
85140
85141 2005-09-19  Derek Price  <derek@ximbiot.com>
85142
85143         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
85144
85145 2005-09-19  Bruno Haible  <bruno@clisp.org>
85146
85147         * gnulib-tool (import): Provide default for --tests-base.
85148
85149 2005-09-19  Bruno Haible  <bruno@clisp.org>
85150
85151         * doc/quote.texi: New file, extracted from gnulib.texi.
85152         * doc/ctime.texi: New file, extracted from gnulib.texi.
85153         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
85154         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
85155         * doc/gnulib.texi: Include them.
85156
85157 2005-09-18  Bruno Haible  <bruno@clisp.org>
85158
85159         Portability fix.
85160         * gnulib-tool (func_readlink): New function.
85161         (func_ln_if_changed): Use it.
85162
85163 2005-09-18  Bruno Haible  <bruno@clisp.org>
85164
85165         * gnulib-tool: Support --with-tests also with --import.
85166         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
85167         (func_import): Use variables $testsbase and $inctests. Emit a
85168         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
85169         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
85170         SUBDIRS += $testsdir.
85171         (func_create_testdir): Update.
85172
85173 2005-09-18  Bruno Haible  <bruno@clisp.org>
85174
85175         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
85176         instead of $dry_run.
85177         (func_cp_if_changed, func_mv_if_changed): Remove functions.
85178         (func_ln_if_changed): Don't handle dry-run here.
85179         (func_import): In dry-run mode, detect more precisely which actions
85180         would be performed, and don't use "...ing" verbs.
85181
85182 2005-09-18  Bruno Haible  <bruno@clisp.org>
85183
85184         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
85185         (func_import): Use join on two temporary files instead of three nested
85186         loops, in order to determine which files are new or old.
85187
85188 2005-09-18  Bruno Haible  <bruno@clisp.org>
85189
85190         * gnulib-tool (func_import): Comment out code that spits out the
85191         new files with --dry-run.
85192
85193 2005-09-18  Bruno Haible  <bruno@clisp.org>
85194
85195         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
85196
85197 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
85198
85199         * lib/stat-time.h: New file.
85200         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
85201         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
85202         in a different way.
85203         (timespec_cmp): New function.
85204         * lib/utimecmp.c: Include stat-time.h.
85205         (SYSCALL_RESOLUTION): Depend on whether various struct stat
85206         members exist, not on the obsolescent ST_MTIM_NSEC.
85207         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
85208
85209 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
85210
85211         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
85212
85213 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
85214
85215         * MODULES.html.sh (File system functions): Add stat-time.
85216         * modules/stat-time: New file.
85217         * modules/timespec (Files): Remove m4/st_mtim.m4; this
85218         is now done in a different way, by the stat-time module.
85219         * modules/utimecmp (Depends-on): Add stat-time.
85220
85221 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
85222
85223         * m4/st_mtim.m4: Remove.  Superseded by...
85224         * m4/stat-time.m4: New file.
85225         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
85226         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
85227
85228 2005-09-15  Derek Price  <derek@ximbiot.com>
85229
85230         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
85231
85232 2005-09-15  Derek Price  <derek@ximbiot.com>
85233
85234         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
85235         * lib/regex_internal.c: Ditto, using this...
85236         (__GNUC_PREREQ): ...new macro.
85237         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
85238         using...
85239         (__GNUC_PREREQ): ...this new macro.
85240
85241         * lib/strstr.h: Include string.h. Define strstr as a macro here.
85242
85243 2005-09-15  Derek Price  <derek@ximbiot.com>
85244             Paul Eggert  <eggert@cs.ucla.edu>
85245
85246         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
85247         changes, consolidating in...
85248         * lib/regex_internal.h: ...this file.
85249
85250 2005-09-13  Jim Meyering  <jim@meyering.net>
85251
85252         * lib/canon-host.c: Filter through gnu indent and reword comments
85253         slightly.
85254         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
85255
85256 2005-09-13  Derek Price  <derek@ximbiot.com>
85257
85258         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
85259         failure.
85260         Reported by Jim Meyering  <jim@meyering.net>.
85261
85262 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
85263
85264         * lib/base64.c: Typo.
85265         (base64_encode): Put b64str in initialized data section.
85266
85267 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
85268
85269         Merge glibc and coreutils changes into gnulib, plus a few
85270         extra fixes.
85271         * lib/md5.c: Use #error rather than a string.
85272         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
85273         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
85274         (__attribute__): Define to empty for non recent-GCC.
85275         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
85276         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
85277         Renamed from their non-__ counterparts, with new macros replacing
85278         them if not _LIBC.  Add __THROW attribute.
85279         (rol): Remove.
85280         (struct md5_ctx): Align buffer if using GCC.
85281         * lib/sha1.h (struct sha1_ctx): Likewise.
85282         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
85283         The old name was backwards.
85284         (NOTSWAP): Remove; not used.
85285         (rol): New macro, moved here from md5.h.
85286         (sha1_process_block): Remove a FIXME that doesn't make sense.
85287
85288 2005-09-12  Derek Price  <derek@ximbiot.com>
85289
85290         Return usable errors from canon-host.
85291         * lib/canon-host.h: New file.
85292         * lib/canon-host.c (canon_host): Wrap...
85293         (canon_host_r): ...this new function, which now relies exclusively on
85294         getaddrinfo.
85295         (ch_strerror): New function.
85296         (last_cherror): New global.
85297         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
85298         interface.
85299         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
85300         void *.
85301         (freeaddrinfo): Free ai->ai_canonname when set.
85302
85303 2005-09-12  Derek Price  <derek@ximbiot.com>
85304
85305         Make canon-host require getaddrinfo.
85306         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
85307         AC_LIBSOURCE canon-host.h.  Call...
85308         (gl_PREREQ_CANON_HOST): ...this new function, which requires
85309         gl_GETADDRINFO.
85310         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
85311
85312 2005-09-12  Derek Price  <derek@ximbiot.com>
85313
85314         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
85315         LGPL.
85316         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
85317
85318 2005-09-12  Derek Price  <derek@ximbiot.com>
85319
85320         * lib/gai_strerror.c: Include config.h when available.  Include
85321         getaddrinfo.h before other headers to test interface.
85322         Reported by Larry Jones <lawrence.jones@ugs.com>.
85323
85324 2005-09-12  Derek Price  <derek@ximbiot.com>
85325             Paul Eggert  <eggert@cs.ucla.edu>
85326
85327         * modules/glob (Files): Add glob-libc.h.
85328
85329 2005-09-12  Derek Price  <derek@ximbiot.com>
85330             Paul Eggert  <eggert@cs.ucla.edu>
85331
85332         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
85333         glob_.h, glob-libc.h.
85334         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
85335
85336 2005-09-12  Derek Price  <derek@ximbiot.com>
85337             Paul Eggert  <eggert@cs.ucla.edu>
85338
85339         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
85340         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
85341         protecting things that should be done only in gnulib contexts.
85342         * lib/glob_.h: New file, containing only the glob things needed for
85343         gnulib.
85344         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
85345         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
85346         (glob, globfree, glob_pattern_p): Now defined simply in terms of
85347         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
85348         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
85349         and to respect the namespace rules better.
85350
85351 2005-09-08  Simon Josefsson  <jas@extundo.com>
85352
85353         * modules/socklen: New file.
85354
85355 2005-09-08  Simon Josefsson  <jas@extundo.com>
85356
85357         * m4/socklen.m4: New file.
85358
85359 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85360
85361         * modules/utimens (Files): Add m4/utimbuf.m4, since
85362         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
85363         Reported by Sergey Poznyakoff.
85364
85365 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85366
85367         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
85368         definitions, since that's the preferred style in glibc.
85369         Fix a minor spacing issue, and update copyright notice to match
85370         glibc's.
85371
85372 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85373
85374         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
85375
85376 2005-09-06  Simon Josefsson  <jas@extundo.com>
85377
85378         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
85379         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
85380
85381 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
85382
85383         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
85384         warning.
85385
85386 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
85387
85388         * config/srclist.txt: Add glibc bug 1302.
85389
85390 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
85391
85392         Change bitset word type from unsigned int to unsigned long int,
85393         as this has better performance on typical 64-bit hosts.
85394         Port bitset code to hosts with unusual word sizes.
85395         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
85396         (build_collating_symbol):
85397         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
85398         argument is a bitset.  This is merely a style issue, but it makes
85399         it clearer that an entire array is expected.
85400         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
85401         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
85402         Port to the case where bitset_word is not the same as unsigned int.
85403         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
85404         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
85405         Likewise.
85406         * lib/regexec.c (check_dst_limits_calc_pos_1,
85407         check_subexp_matching_top):
85408         (build_trtable, group_nodes_into_DFAstates):
85409         Likewise.
85410         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
85411         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
85412         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
85413         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
85414         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
85415         * lib/regcomp.c (optimize_subexps, lower_subexp):
85416         Work even if bitset_word has holes in its bitwise representation.
85417         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
85418         * lib/regexec.c (check_dst_limits_calc_pos_1,
85419         check_subexp_matching_top):
85420         Likewise.
85421         * lib/regex_internal.c (re_string_reconstruct):
85422         Don't assume UCHAR_MAX == 255.
85423         * lib/regex_internal.h (bitset_set_all): Likewise.
85424         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
85425         All uses changed.
85426         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
85427         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
85428         All uses changed.
85429         (BITSET_WORD_MAX): New macro.
85430         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
85431         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
85432         (bitset_empty, bitset_copy):
85433         Prefer sizeof (bitset) to multiplying it out ourselves.
85434         (bitset_not_merge): Remove; unused.
85435         (bitset_contain): Return bool, not unsigned int with one bit on.
85436         All callers changed.
85437         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
85438         alignment than re_node_set; do this by defining a new internal
85439         type struct dests_alloc and using it to allocate memory.
85440
85441 2005-09-05  Bruno Haible  <bruno@clisp.org>
85442
85443         * gnulib-tool (func_import): Fix comparison in handling of symbolic
85444         links.
85445
85446 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
85447
85448         * modules/size_max (Makefile.am): Add size_max.h
85449
85450 2005-09-04  Derek Price  <derek@ximbiot.com>
85451
85452         * gnulib-tool (func_import): Fix reversed $symbolic logic.
85453
85454 2005-09-03  Simon Josefsson  <jas@extundo.com>
85455
85456         * gnulib-tool: Fix typo.
85457
85458 2005-09-03  Simon Josefsson  <jas@extundo.com>
85459
85460         * config/srclist.txt: Add glibc bug 1293.
85461
85462 2005-09-03  Derek Price  <derek@ximbiot.com>
85463
85464         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
85465         From Larry Jones <lawrence.jones@ugs.com>.
85466
85467 2005-09-02  Simon Josefsson  <jas@extundo.com>
85468
85469         * modules/socklen: New file.
85470
85471 2005-09-02  Simon Josefsson  <jas@extundo.com>
85472
85473         * modules/havelib: New module.
85474
85475         * modules/gettext, modules/iconv, modules/lock, modules/readline:
85476         Use havelib.
85477
85478 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
85479
85480         Check for arithmetic overflow when calculating sizes, to prevent
85481         some buffer-overflow issues.  These patches are conservative, in the
85482         sense that when I couldn't determine whether an overflow was possible,
85483         I inserted a run-time check.
85484         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
85485         macros.
85486         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
85487         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
85488         (re_xnrealloc, re_x2nrealloc): New inline functions.
85489         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
85490         parse_bracket_exp):
85491         (build_equiv_class, build_charclass): Check for arithmetic overflow
85492         in size expression calculations.
85493         * lib/regex_internal.c (re_string_realloc_buffers):
85494         (build_wcs_upper_buffer, re_node_set_add_intersect):
85495         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
85496         (re_dfa_add_node, register_state): Likewise.
85497         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
85498         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
85499         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
85500         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
85501
85502 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
85503
85504         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
85505         m4/ulonglong.m4.  Problem reported by Martin Lambers.
85506
85507 2005-09-02  Bruno Haible  <bruno@clisp.org>
85508
85509         Support for lib vs. lib64 distinction on biarch platforms.
85510         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
85511         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
85512         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
85513
85514 2005-09-02  Bruno Haible  <bruno@clisp.org>
85515
85516         * gnulib-tool (import): In the other first-use case, provide defaults
85517         as well.
85518
85519 2005-09-02  Bruno Haible  <bruno@clisp.org>
85520
85521         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
85522         patches not yet found in the latest gettext release.
85523
85524 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
85525
85526         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
85527         to avoid a collision with bits/local_lim.h in glibc.
85528         All uses changed.  Problem reported by Dmitry V. Levin in
85529         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
85530
85531         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
85532         bugs in int versus size_t comparisons.
85533         (re_string_context_at): Fix bug where the code assumed that
85534         Idx is signed.
85535
85536         Use bool where appropriate.
85537         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
85538         All callers changed.
85539         (calc_eclosure_iter): Likewise, for ROOT arg.
85540         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
85541         (build_charclass_op): Likewise, for NON_MATCH arg.
85542         * lib/regex_internal.c (re_string_allocate, re_string_construct):
85543         (re_string_construct_common): Likewise, for ICASE arg.
85544         * lib/regexec.c (re_search_2_stub, re_search_stub):
85545         Likewise, for RET_LEN arg.
85546         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
85547         (set_regs): Likewise, for FL_BACKTRACK arg.
85548         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
85549         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
85550         (calc_eclosure_iter, parse_bracket_exp):
85551         Use bool for internal variables that are booleans.
85552         * lib/regexec.c (re_search_internal, check_matching,
85553         proceed_next_node):
85554         (set_regs, build_sifted_states, sift_states_bkref):
85555         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
85556         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85557         (find_collation_sequence_value):
85558         Likewise.
85559         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
85560         (re_node_set_compare):
85561         Return bool, not int. All callers changed.
85562         * lib/regexec.c (check_halt_node_context, check_dst_limits):
85563         (build_trtable, check_node_accept): Likewise.
85564         * lib/regex_internal.h: Include stdbool.h.
85565
85566         Fix bugs uncovered when converting to bool.
85567         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
85568         failure instead of charging ahead blindly.
85569         * lib/regex_internal.c (register_state): Likewise.
85570         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
85571         for freeing internal storage.
85572         (group_nodes_into_DFA_states): Use unsigned int, not int, for
85573         bitset pieces used as boolean, to avoid undefined behavior
85574         on hosts that do int overflow checking.
85575
85576 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
85577
85578         * config/srclist.txt: Add glibc bugs 1285-1287.
85579
85580 2005-09-01  Jim Meyering  <jim@meyering.net>
85581
85582         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
85583         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
85584         Require gl_STAT_MACROS, too.
85585
85586 2005-09-01  Bruno Haible  <bruno@clisp.org>
85587
85588         * gnulib-tool (import): In the first-use case, provide defaults.
85589
85590 2005-09-01  Bruno Haible  <bruno@clisp.org>
85591
85592         * gnulib-tool (func_import): Remove the .tmp files.
85593
85594 2005-09-01  Bruno Haible  <bruno@clisp.org>
85595
85596         * gnulib-tool (func_import): Fix handling of symbolic links.
85597
85598 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85599
85600         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
85601         old glibc regex code mishandles strings longer than 2**31 bytes.
85602         This patch fixes this when the regex code is used in gnulib
85603         (i.e., outside glibc).
85604
85605         This patch should not affect the use of the regex code inside
85606         glibc.  No doubt this problem also needs to be handled for glibc
85607         as well, but the result will be an incompatible change to the
85608         glibc ABI, and the old ABI will have to be supported too.  That
85609         can be the the subject for another patch.
85610
85611         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
85612         governing whether the rest of this patch is active.  By default,
85613         the macro is disabled and the patch has no effect.
85614         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
85615         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
85616         (struct re_pattern_buffer, re_search, re_search_2, re_match):
85617         (re_match_2, re_set_registers): Use the new types.
85618         * lib/regex_internal.h (Idx, re_hashval_t): New types.
85619         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
85620         New macros.
85621         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
85622         (re_string_context_at, bin_tree_t, re_dfastate_t):
85623         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
85624         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
85625         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
85626         (re_string_char_size_at, re_string_wchar_at):
85627         (re_string_elem_size_at):
85628         Use the new types and macros to port to 64-bit hosts.
85629         Use unsigned types for internal values, so that the code
85630         mostly works even for arrays larger than SSIZE_MAX.
85631         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
85632         (search_duplicated_node, calc_eclosure_iter, fetch_number):
85633         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
85634         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
85635         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
85636         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
85637         (calc_inveclosure, parse_dup_op, build_range_exp):
85638         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
85639         (fetch_number, create_token_tree, mark_opt_subexp):
85640         Likewise.
85641         * lib/regex_internal.c (re_string_construct_common,
85642         create_ci_newstate):
85643         (create_cd_newstate, re_string_allocate, re_string_construct):
85644         (re_string_realloc_buffers, build_wcs_upper_buffer):
85645         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85646         (re_string_reconstruct, re_string_peek_byte_case):
85647         (re_string_fetch_byte_case, re_string_context_at):
85648         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85649         (re_node_set_init_copy, re_node_set_add_intersect):
85650         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85651         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85652         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85653         (re_acquire_state, re_acquire_state_context, register_state):
85654         Likewise.
85655         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
85656         search_cur_bkref_entry):
85657         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
85658         (re_search_internal, re_search_2_stub, re_search_stub)
85659         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
85660         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
85661         (update_cur_sifted_state, check_dst_limits):
85662         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85663         (check_subexp_limits, sift_states_bkref, merge_state_array):
85664         (check_subexp_matching_top, get_subexp, get_subexp_sub):
85665         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
85666         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85667         (expand_bkref_cache, check_node_accept_bytes):
85668         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
85669         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
85670         (acquire_init_state_context, check_halt_node_context):
85671         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
85672         (sift_states_backward, clean_state_log_if_needed):
85673         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
85674         (find_recover_state, transit_state_sb, transit_state_mb):
85675         (transit_state_bkref, build_trtable, match_ctx_clean):
85676         Likewise.
85677         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
85678         to work around an assumption that REG_MISSING is negative.
85679
85680         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
85681         (seek_collating_symbol_entry) [defined _LIBC]:
85682         (lookup_collation_sequence_value) [defined _LIBC]:
85683         (build_range_exp, build_collating_symbol) [defined _LIBC]:
85684         Use prototypes rather than old-style function definitions.
85685         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
85686         (transit_state_sb) [0]:
85687         (find_collation_sequence_value) [defined _LIBC]: Likewise.
85688
85689         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
85690         rm_eo.
85691
85692         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
85693         (optimize_subexps, lower_subexp):
85694         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
85695         since the signed shift might overflow.  Use 1u<<31 instead.
85696         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
85697         Likewise.
85698         * lib/regexec.c (check_dst_limits_calc_pos_1,
85699         check_subexp_matching_top): Likewise.
85700
85701         * lib/regcomp.c (optimize_subexps, lower_subexp):
85702         Use CHAR_BIT rather than 8, for clarity.
85703         * lib/regexec.c (check_dst_limits_calc_pos_1):
85704         (check_subexp_matching_top): Likewise.
85705         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
85706         have to worry about portability issues when shifting it left.
85707         Remove no-longer-needed test for table_size > 0.
85708         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
85709         in a word, as the resulting behavior is undefined.
85710         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
85711         in one case, a <= should have been an <, and in another case the
85712         whole test was missing.
85713         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
85714         the standard name CHAR_BIT.
85715         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
85716         this is not true on one's complement and signed-magnitude hosts.
85717
85718         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
85719         next_last_offset.
85720         (struct re_dfa_t): Remove unused member states_alloc.
85721         * lib/regcomp.c (init_dfa): Don't initialize unused members.
85722
85723 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85724
85725         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
85726         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
85727         and large-file glibc and in 32-bit large-file Solaris.
85728
85729 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85730
85731         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
85732         lengths fit in regoff_t; this isn't true if regoff_t is the same
85733         width as size_t.
85734         * lib/regex.c (re_search_internal): 5th arg is LAST_START
85735         (= START + RANGE) instead of RANGE.  This avoids overflow
85736         problems when regoff_t is the same width as size_t.
85737         All callers changed.
85738         (re_search_2_stub): Check for overflow when adding the
85739         sizes of the two strings.
85740         (re_search_stub): Check for overflow when adding START
85741         to RANGE; if it occurs, substitute the extreme value.
85742
85743 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85744
85745         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
85746
85747 2005-08-31  Jim Meyering  <jim@meyering.net>
85748
85749         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
85750         a pointer-to-const.
85751         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
85752         (register_state): Likewise.
85753         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
85754         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85755         (group_nodes_into_DFAstates): Likewise.
85756
85757 2005-08-31  Jim Meyering  <jim@meyering.net>
85758
85759         * check-module: Add a FIXME comment.
85760
85761 2005-08-31  Eric Blake  <ebb9@byu.net>
85762
85763         * modules/unistd-safer (Files): Add unistd--.h.
85764         * modules/stdio-safer (Files): Add stdio--.h.
85765
85766 2005-08-31  Derek Price  <derek@ximbiot.com>
85767
85768         * lib/getdelim.c (getdelim): Return EOF on EOF.
85769         Reported by Larry Jones <lawrence.jones@ugs.com>.
85770
85771 2005-08-31  Bruno Haible  <bruno@clisp.org>
85772
85773         Avoid unnecessary diffs in the generated lib/Makefile.am.
85774         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
85775         the generated files.
85776         (func_import): Don't set cmd.
85777
85778 2005-08-31  Bruno Haible  <bruno@clisp.org>
85779
85780         * lib/strstr.c: Include <stddef.h>, for NULL.
85781         * lib/strcasestr.c: Likewise.
85782         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
85783
85784 2005-08-31  Bruno Haible  <bruno@clisp.org>
85785
85786         * gnulib-tool: New option --macro-prefix.
85787         (func_import): Use macro_prefix.
85788         (import): Handle option --macro-prefix.
85789
85790 2005-08-31  Bruno Haible  <bruno@clisp.org>
85791
85792         * gnulib-tool (import): Rename most ac_* variables to cached_*.
85793         Also use new variables cached_lgpl, cached_libtool.
85794
85795 2005-08-31  Bruno Haible  <bruno@clisp.org>
85796
85797         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
85798         always instantiating them.
85799
85800 2005-08-31  Bruno Haible  <bruno@clisp.org>
85801
85802         * gnulib-tool (func_import): Read the previous cached settings
85803         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
85804         earlier added by gnulib but are now dropped. Warn when a gnulib file
85805         overwrites a non-gnulib file.
85806
85807 2005-08-31  Bruno Haible  <bruno@clisp.org>
85808
85809         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
85810         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
85811         projects that don't keep autogenerated files in CVS. Put into
85812         actioncmd only the specified modules, not the transitive closure.
85813
85814 2005-08-31  Bruno Haible  <bruno@clisp.org>
85815
85816         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
85817         Create directories that shall be filled.
85818         (import): Don't look for gl_* macros in configure.ac. Recurse across
85819         all directories containing a gnulib-cache.m4 files, if meaningful.
85820
85821 2005-08-31  Bruno Haible  <bruno@clisp.org>
85822
85823         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
85824         (import): Set seen_libtool when we see gl_LIBTOOL.
85825
85826 2005-08-31  Bruno Haible  <bruno@clisp.org>
85827
85828         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
85829         declaration macro definitions from generated gnulib.m4.
85830
85831 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
85832
85833         * lib/iconvme.h: Add prototype for iconv_alloc.
85834
85835 2005-08-29  Simon Josefsson  <jas@extundo.com>
85836
85837         * lib/iconvme.c: Fix errno.
85838
85839 2005-08-29  Bruno Haible  <bruno@clisp.org>
85840
85841         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
85842         that it works when the directory contains spaces.
85843
85844 2005-08-29  Bruno Haible  <bruno@clisp.org>
85845
85846         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
85847
85848 2005-08-29  Bruno Haible  <bruno@clisp.org>
85849
85850         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
85851         Emit more advice.
85852
85853 2005-08-29  Bruno Haible  <bruno@clisp.org>
85854         and Stepan Kasal  <kasal@ucw.cz>
85855
85856         * check-module: If more parameters are given, check each of them
85857         separately; add more exceptions, as noted by Jim Meyering.
85858         (check_module): New procedure.
85859         (%exempt_header): Now contains all exceptions.
85860
85861 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
85862
85863         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
85864
85865 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
85866
85867         * lib/iconvme.c: Split iconv_string into iconv_alloc.
85868
85869 2005-08-28  Bruno Haible  <bruno@clisp.org>
85870
85871         * m4/gnulib-tool.m4: New file.
85872
85873 2005-08-27  Jim Meyering  <jim@meyering.net>
85874
85875         * modules/unistd-safer (Files): Add pipe-safer.c.
85876         * modules/fcntl-safer (Files): Add creat-safer.c.
85877
85878 2005-08-27  Jim Meyering  <jim@meyering.net>
85879
85880         * m4/stdlib-safer.m4: New file.  From coreutils.
85881         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
85882         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
85883         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
85884         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
85885         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
85886
85887 2005-08-27  Jim Meyering  <jim@meyering.net>
85888
85889         * lib/fopen-safer.c: Merge minor changes from coreutils.
85890         * lib/dup-safer.c: Likewise.
85891         * lib/fd-safer.c: Likewise.
85892
85893         Merge from coreutils.
85894         * lib/stdio--.h: New file.
85895         * lib/stdlib--.h: New file.
85896         * lib/mkstemp-safer.c: New file.
85897
85898         GNU tar needs these.
85899         * lib/pipe-safer.c: New file.
85900         * lib/creat-safer.c: New file.
85901         * lib/fcntl--.h (creat): Define to creat_safer.
85902         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
85903         * lib/unistd--.h (pipe): Define to pipe_safer.
85904         * lib/unistd-safer.h: Declare pipe_safer.
85905
85906 2005-08-26  Simon Josefsson  <jas@extundo.com>
85907
85908         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
85909         Haible <bruno@clisp.org>.
85910
85911 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
85912
85913         * lib/regex_internal.h: Remove all references to
85914         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
85915         or better.
85916         (bitset_not, bitset_merge, bitset_not_merge):
85917         (bitset_mask, re_string_allocate, re_string_construct):
85918         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
85919         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
85920         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
85921         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
85922         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85923         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85924         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
85925         (re_acquire_state_context):
85926         Remove unnecessary forward decls.
85927         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
85928         Put __attribute at function definition,
85929         now that the function decl has been removed.
85930         * lib/regex_internal.c (re_string_peek_byte_case):
85931         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
85932         Likewise.
85933
85934 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
85935
85936         * m4/regex.m4: Add AC_PREREQ(2.50).
85937         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
85938
85939 2005-08-25  Simon Josefsson  <jas@extundo.com>
85940
85941         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
85942         __fsetlocking.
85943
85944 2005-08-25  Simon Josefsson  <jas@extundo.com>
85945
85946         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
85947         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
85948         GLIBC specific code.
85949
85950 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85951
85952         Make regex safe for g++.  This fixes one real bug (an "err"
85953         that should have been "*err").  g++ problem reported by
85954         Sam Steingold.
85955         * lib/regex_internal.h (re_calloc): New macro, consistent with
85956         re_malloc etc.  All callers of calloc changed to use re_calloc.
85957         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
85958         not int.  All callers changed.
85959         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
85960         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
85961         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
85962         (find_recover_state): Change "err" to "*err"; this fixes what
85963         appears to be a real bug.
85964         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
85965         versus int.
85966
85967 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85968
85969         * modules/regex (Depends-on): Add malloc, since the code
85970         assumes that !malloc(0) means failure.
85971
85972 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85973
85974         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
85975
85976         alloca modernization/simplification for regex.
85977         * lib/regex.c: Remove portability cruft for alloca.  This no longer
85978         needs to be at the start of the file, and can be moved into
85979         regex_internal.h and simplified.
85980         * lib/regex_internal.h: Include <alloca.h>.
85981         (__libc_use_alloca) [!defined _LIBC]: New macro.
85982         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
85983         now works outside glibc.
85984
85985 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85986
85987         * config/srclist.txt: Add glibc bugs 1241, 1245.
85988
85989 2005-08-25  Jim Meyering  <jim@meyering.net>
85990
85991         * lib/open-safer.c: Include <config.h>.
85992         Otherwise, we'd lose LARGEFILE support in any file using
85993         e.g. "fcntl--.h"
85994
85995 2005-08-25  Bruno Haible  <bruno@clisp.org>
85996
85997         * m4/minmax.m4: Require autoconf 2.52.
85998         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
85999         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
86000         alternatives of translit over the alphabet.
86001         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
86002
86003 2005-08-24  Simon Josefsson  <jas@extundo.com>
86004
86005         * tests/test-getpass.c: New file.
86006
86007 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
86008
86009         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
86010         for GNU regex features.
86011
86012 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
86013
86014         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
86015         * lib/regex.h (regerror): Likewise.
86016
86017         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
86018         requires this.  (The code never needed it.)
86019
86020         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
86021         All uses of recently-renamed identifiers changed to use the new,
86022         POSIX-compliant names.  The code will build and run just fine
86023         without these changes, but it's better to eat our own dog food
86024         and use the standard-conforming names.
86025
86026         * lib/regex.h: Fix a multitude of POSIX name space violations.
86027         These changes have an effect only for programs that define
86028         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
86029         do not change anything for programs compiled in the normal way.
86030         Also, there is no effect on the ABI.
86031
86032         (_REGEX_SOURCE): New macro.
86033         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
86034         defined and _GNU_SOURCE is not; this fixes a name space violation.
86035
86036         Rename the following macros to obey POSIX requirements.
86037         The old names are still visible as macros if _REGEX_SOURCE is defined.
86038         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
86039         RE_BACKSLASH_ESCAPE_IN_LISTS.
86040         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
86041         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
86042         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
86043         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
86044         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
86045         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
86046         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
86047         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
86048         (REG_INTERVALS): renamed from RE_INTERVALS.
86049         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
86050         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
86051         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
86052         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
86053         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
86054         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
86055         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
86056         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
86057         RE_UNMATCHED_RIGHT_PAREN_ORD.
86058         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
86059         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
86060         (REG_DEBUG): renamed from RE_DEBUG.
86061         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
86062         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
86063         unusual, since we can't clash with the POSIX REG_ICASE.
86064         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
86065         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
86066         (REG_NO_SUB): renamed from RE_NO_SUB.
86067         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
86068         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
86069         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
86070         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
86071         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
86072         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
86073         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
86074         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
86075         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
86076         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
86077         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
86078         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
86079         RE_SYNTAX_POSIX_MINIMAL_BASIC.
86080         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
86081         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
86082         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
86083         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
86084         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
86085         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
86086         (REG_FIXED): Renamed from REGS_FIXED.
86087         (REG_NREGS): Renamed from RE_NREGS.
86088
86089         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
86090         of other REG_* macros, since POSIX says the user is allowed to
86091         #undef these macros selectively.
86092
86093         (reg_errcode_t): Update comment stating what other tables need
86094         to be consistent.
86095
86096         Rename the following enum values to obey POSIX requirements.
86097         The old names are still visible as macros.
86098         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
86099         is not defined, since GNU is supposed to be a superset of POSIX as
86100         much as possible, and since we want reg_errcode_t to be a signed
86101         type for implementation consistency.
86102         (_REG_NOERROR): Renamed from REG_NOERROR.
86103         (_REG_NOMATCH): Renamed from REG_NOMATCH.
86104         (_REG_BADPAT): Renamed from REG_BADPAT.
86105         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
86106         (_REG_ECTYPE): Renamed from REG_ECTYPE.
86107         (_REG_EESCAPE): Renamed from REG_EESCAPE.
86108         (_REG_ESUBREG): Renamed from REG_ESUBREG.
86109         (_REG_EBRACK): Renamed from REG_EBRACK.
86110         (_REG_EPAREN): Renamed from REG_EPAREN.
86111         (_REG_EBRACE): Renamed from REG_EBRACE.
86112         (_REG_BADBR): Renamed from REG_BADBR.
86113         (_REG_ERANGE): Renamed from REG_ERANGE.
86114         (_REG_ESPACE): Renamed from REG_ESPACE.
86115         (_REG_BADRPT): Renamed from REG_BADRPT.
86116         (_REG_EEND): Renamed from REG_EEND.
86117         (_REG_ESIZE): Renamed from REG_ESIZE.
86118         (_REG_ERPAREN): Renamed from REG_ERPAREN.
86119         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
86120         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
86121         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
86122         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
86123
86124         (_REG_RE_NAME, _REG_RM_NAME): New macros.
86125         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
86126         changed.  But support the old name if the new one is not defined
86127         and if _REGEX_SOURCE.
86128
86129         Change the following member names in struct re_pattern_buffer.
86130         The old names are still supported if !_REGEX_SOURCE.
86131         The new names are always supported, regardless of _REGEX_SOURCE.
86132         (re_buffer): Renamed from buffer.
86133         (re_allocated): Renamed from allocated.
86134         (re_used): Renamed from used.
86135         (re_syntax): Renamed from syntax.
86136         (re_fastmap): Renamed from fastmap.
86137         (re_translate): Renamed from translate.
86138         (re_can_be_null): Renamed from can_be_null.
86139         (re_regs_allocated): Renamed from regs_allocated.
86140         (re_fastmap_accurate): Renamed from fastmap_accurate.
86141         (re_no_sub): Renamed from no_sub.
86142         (re_not_bol): Renamed from not_bol.
86143         (re_not_eol): Renamed from not_eol.
86144         (re_newline_anchor): Renamed from newline_anchor.
86145
86146         Change the following member names in struct re_registers.
86147         The old names are still supported if !_REGEX_SOURCE.
86148         The new names are always supported, regardless of _REGEX_SOURCE.
86149         (rm_num_regs): Renamed from num_regs.
86150         (rm_start): Renamed from start.
86151         (rm_end): Renamed from end.
86152
86153         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
86154         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
86155         Prepend __ to parameter names.
86156
86157         Undo yesterday's changes.
86158
86159 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
86160
86161         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
86162         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
86163         lib/regex.c.
86164
86165 2005-08-24  Jim Meyering  <jim@meyering.net>
86166
86167         Sync from coreutils.
86168         * m4/fcntl-safer.m4: New file.
86169
86170         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
86171         and object files for this module.
86172
86173 2005-08-24  Jim Meyering  <jim@meyering.net>
86174
86175         Sync from coreutils.
86176         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
86177
86178 2005-08-24  Jim Meyering  <jim@meyering.net>
86179
86180         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
86181         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
86182
86183 2005-08-24  Jim Meyering  <jim@meyering.net>
86184
86185         * modules/fcntl-safer: New module.
86186         * modules/fts (Depends-on): Add fcntl-safer.
86187         * MODULES.html.sh (File descriptor based Input/Output):
86188         Add fcntl-safer.
86189
86190 2005-08-24  Bruno Haible  <bruno@clisp.org>
86191
86192         Support for unit test modules.
86193         * modules/README: Mention tests modules.
86194         * modules/TEMPLATE-TESTS: New file.
86195         * gnulib-tool: New options --extract-tests-module, --with-tests and
86196         --tests-base (unused for the moment).
86197         (testsbase, inctests): New variables.
86198         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
86199         (func_verify_module): Exclude TEMPLATE-TESTS.
86200         (func_verify_nontests_module, func_verify_tests_module): New functions.
86201         (func_get_dependencies): Add implicit dependency for tests modules.
86202         (func_get_tests_module): New function.
86203         (func_modules_transitive_closure): When --with-tests was specified,
86204         include the unit tests as well, unless explicitly avoided.
86205         (func_emit_lib_Makefile_am): Ignore the tests modules here.
86206         (func_emit_tests_Makefile_am): New function.
86207         (func_create_testdir): When --with-tests was specified, emit a
86208         tests/ directory.
86209         * MODULES.html.sh (Future developments): Update.
86210
86211 2005-08-24  Bruno Haible  <bruno@clisp.org>
86212
86213         * modules/tls-tests: New file.
86214         * tests/test-tls.c: New file, from GNU gettext.
86215
86216 2005-08-24  Bruno Haible  <bruno@clisp.org>
86217
86218         * modules/lock-tests: New file.
86219         * tests/test-lock.c: New file, from GNU gettext.
86220
86221 2005-08-24  Bruno Haible  <bruno@clisp.org>
86222
86223         * lib/lock.h: Add multiple inclusion guard.
86224         * lib/tls.h: Add multiple inclusion guard.
86225
86226 2005-08-24  Bruno Haible  <bruno@clisp.org>
86227
86228         * gnulib-tool: Add support for the --aux-dir option to
86229         --create-testdir, --create-megatestdir, --test, --megatest.
86230         (func_create_testdir, func_create_megatestdir): Optionally emit a
86231         AC_CONFIG_AUX_DIR directive.
86232         (create-testdir, create-megatestdir, test, megatest): Provide a
86233         default value for $auxdir.
86234
86235 2005-08-24  Bruno Haible  <bruno@clisp.org>
86236
86237         * gnulib-tool (import): Use compound statement instead of subshell
86238         where possible.
86239
86240 2005-08-24  Bruno Haible  <bruno@clisp.org>
86241
86242         * gnulib-tool (import): Change --aux-dir default to "build-aux".
86243
86244 2005-08-24  Bruno Haible  <bruno@clisp.org>
86245
86246         * gnulib-tool (func_version): Update.
86247
86248 2005-08-24  Bruno Haible  <bruno@clisp.org>
86249
86250         * gnulib-tool (func_import, func_create_testdir,
86251         func_create_megatestdir): Quote all autoconf macro arguments.
86252
86253 2005-08-24  Bruno Haible  <bruno@clisp.org>
86254
86255         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
86256         option --force, because --force causes the aclocal.m4 of each
86257         subdirectory to be newer than the corresponding config.h.in.
86258
86259 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86260
86261         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
86262         All contents moved to gl_REGEX.
86263         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
86264         assume that it does.
86265
86266 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86267
86268         * lib/regex.h (REG_NOSYS)
86269         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
86270         Define, since POSIX requires it as of 2001.
86271         (_REG_ENOSYS)
86272         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
86273         New private symbol, used to keep the enum signed in all cases.
86274         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
86275         Youngman in
86276         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
86277
86278         * lib/regex_internal.c (re_string_skip_chars, register_state):
86279         (calc_state_hash):
86280         Remove forward decls; no longer needed now that we use prototypes.
86281         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
86282         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
86283         (clean_state_log_if_needed): Likewise.
86284
86285 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86286
86287         * config/srclist.txt: Add glibc bugs 1231-1233.
86288
86289 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86290
86291         Fix problems reported by Sam Steingold in
86292         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
86293         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
86294         assumed that reg_errcode_t is a signed type, which is not
86295         necessarily true if _XOPEN_SOURCE is not defined.
86296         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
86297         since some compilers warn about it otherwise.
86298
86299 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86300
86301         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
86302         (init_word_char, create_initial_state, duplicate_node_closure):
86303         (fetch_token, peek_token_bracket, build_range_exp):
86304         (build_collating_symbol): Remove forward decls; no longer needed
86305         now that we use prototypes.
86306
86307         * lib/regcomp.c:
86308         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
86309         (re_compile_fastmap_iter, regcomp, regerror, regfree):
86310         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
86311         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
86312         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
86313         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
86314         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
86315         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
86316         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
86317         (build_range_exp, build_collating_symbol, parse_bracket_exp):
86318         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
86319         (build_charclass, build_charclass_op, fetch_number, create_tree):
86320         (create_token_tree, mark_opt_subexp, duplicate_tree):
86321         Use prototypes rather than old-style definitions.
86322
86323         * lib/regex_internal.c:
86324         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
86325         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
86326         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
86327         (re_string_reconstruct, re_string_peek_byte_case):
86328         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
86329         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
86330         (re_node_set_init_copy, re_node_set_add_intersect):
86331         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
86332         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
86333         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
86334         (re_acquire_state, re_acquire_state_context, register_state):
86335         (create_ci_newstate, create_cd_newstate, free_state):
86336         Likewise.
86337         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
86338         re_search_2):
86339         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
86340         (re_search_internal, prune_impossible_nodes):
86341         (acquire_init_state_context, check_matching, static):
86342         (check_halt_node_context, check_halt_state_context, proceed_next_node):
86343         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
86344         (update_regs, sift_states_backward, build_sifted_states):
86345         (clean_state_log_if_needed, merge_state_array):
86346         (update_cur_sifted_state, add_epsilon_src_nodes):
86347         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
86348         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
86349         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
86350         (find_recover_state, check_subexp_matching_top, transit_state_mb):
86351         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
86352         (check_arrival, check_arrival_add_next_nodes):
86353         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
86354         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
86355         (check_node_accept_bytes, check_node_accept, extend_buffers):
86356         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
86357         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
86358         (sift_ctx_init):
86359         Likewise.
86360
86361         * lib/regex_internal.h:
86362         (re_string_allocate, re_string_construct, re_string_reconstruct):
86363         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
86364         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
86365         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
86366         (re_string_context_at, re_string_peek_byte_case):
86367         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
86368         is defined, since we now use prototypes always.
86369
86370         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
86371         C89 or better.  All uses removed.
86372
86373 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86374
86375         * config/srclist.txt: Add glibc bugs 1220-1227.
86376
86377 2005-08-20  Jim Meyering  <jim@meyering.net>
86378
86379         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
86380         of unused local, dfa.
86381
86382 2005-08-20  Bruno Haible  <bruno@clisp.org>
86383
86384         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
86385
86386 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86387
86388         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
86389         (re_node_set_insert_last, re_dfa_add_node):
86390         Rename local variables to avoid GCC shadowing warnings.
86391
86392 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86393
86394         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
86395         [defined lint]: Suppress bogus uninitialized-variable warnings.
86396
86397         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
86398         and let the caller return REG_ESPACE if out of space.  This
86399         removes an uninitialied-variable warning with GCC 4.0.1, and also
86400         avoids taking the address of a local variable.  All callers
86401         changed.
86402
86403 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86404
86405         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
86406         $LIBCSRC/posix/regexec.c.
86407         Add glibc bug 1217 for regcomp.c.
86408
86409 2005-08-19  Jim Meyering  <jim@meyering.net>
86410
86411         * lib/regexec.c (proceed_next_node): Redo local variables to
86412         avoid GCC shadowing warnings.
86413
86414 2005-08-18  Bruno Haible  <bruno@clisp.org>
86415
86416         * lib/strstr.c (strstr): Fix return value in multibyte case.
86417         * lib/strcasestr.c (strcasestr): Likewise.
86418
86419 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
86420
86421         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
86422
86423 2005-08-17  Jim Meyering  <jim@meyering.net>
86424
86425         Make the %s format (seconds since the epoch) work for a negative
86426         number and when used with a zero-padded field width, e.g. %015s.
86427
86428         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
86429         label so that it precedes the code to set `digits'.  Otherwise,
86430         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
86431         print `00-22'.  Now, it prints `-0022', as it should.
86432
86433 2005-08-17  Bruno Haible  <bruno@clisp.org>
86434
86435         * modules/strstr (Files): Add m4/mbrtowc.m4.
86436         (Depends-on): Add mbuiter.
86437
86438 2005-08-17  Bruno Haible  <bruno@clisp.org>
86439
86440         * modules/strcasestr: New file.
86441         * MODULES.html.sh (String handling, based on ANSI C 89): Add
86442         strcasestr.
86443
86444 2005-08-17  Bruno Haible  <bruno@clisp.org>
86445
86446         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
86447
86448 2005-08-17  Bruno Haible  <bruno@clisp.org>
86449
86450         * modules/mbuiter: New file.
86451         * MODULES.html.sh (Extended multibyte and wide character utilities):
86452         Add mbuiter.
86453
86454 2005-08-17  Bruno Haible  <bruno@clisp.org>
86455
86456         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
86457         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
86458
86459 2005-08-17  Bruno Haible  <bruno@clisp.org>
86460
86461         * m4/strcasestr.m4: New file.
86462
86463 2005-08-17  Bruno Haible  <bruno@clisp.org>
86464
86465         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
86466         * lib/strstr.c: Completely rewritten, with multibyte locale support.
86467
86468 2005-08-17  Bruno Haible  <bruno@clisp.org>
86469
86470         * lib/strcasestr.h: New file.
86471         * lib/strcasestr.c: New file.
86472
86473 2005-08-17  Bruno Haible  <bruno@clisp.org>
86474
86475         * lib/strcasecmp.c: Use mbuiter.h.
86476
86477 2005-08-17  Bruno Haible  <bruno@clisp.org>
86478
86479         * lib/mbuiter.h: New file.
86480
86481 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
86482
86483         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
86484         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
86485         and gl_GETOPT are both invoked via different paths (as happens
86486         with GNU tar CVS because it uses both argp and getopt), the former
86487         wins.
86488
86489 2005-08-16  Bruno Haible  <bruno@clisp.org>
86490
86491         * modules/tls: New file.
86492         * MODULES.html.sh (Multithreading): Add tls.
86493
86494 2005-08-16  Bruno Haible  <bruno@clisp.org>
86495
86496         * modules/strnlen1: New file.
86497         * MODULES.html.sh (String handling): Add strnlen1.
86498
86499 2005-08-16  Bruno Haible  <bruno@clisp.org>
86500
86501         * modules/strcase (Files): Add m4/mbrtowc.m4.
86502         (Depends-on): Add strnlen1, mbchar.
86503
86504 2005-08-16  Bruno Haible  <bruno@clisp.org>
86505
86506         * modules/mbiter: New file.
86507         * MODULES.html.sh (Extended multibyte and wide character utilities):
86508         Add mbiter.
86509
86510 2005-08-16  Bruno Haible  <bruno@clisp.org>
86511
86512         * modules/mbfile: New file.
86513         * MODULES.html.sh (Extended multibyte and wide character utilities):
86514         Add mbfile.
86515
86516 2005-08-16  Bruno Haible  <bruno@clisp.org>
86517
86518         * modules/mbchar: New file.
86519         * MODULES.html.sh (Extended multibyte and wide character utilities):
86520         New section.
86521
86522 2005-08-16  Bruno Haible  <bruno@clisp.org>
86523
86524         * m4/tls.m4: New file, from GNU gettext.
86525
86526 2005-08-16  Bruno Haible  <bruno@clisp.org>
86527
86528         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
86529         always.
86530         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
86531
86532 2005-08-16  Bruno Haible  <bruno@clisp.org>
86533
86534         * m4/mbiter.m4: New file.
86535
86536 2005-08-16  Bruno Haible  <bruno@clisp.org>
86537
86538         * m4/mbfile.m4: New file.
86539
86540 2005-08-16  Bruno Haible  <bruno@clisp.org>
86541
86542         * m4/mbchar.m4: New file.
86543
86544 2005-08-16  Bruno Haible  <bruno@clisp.org>
86545
86546         * lib/tls.h: New file, from GNU gettext.
86547         * lib/tls.c: New file, from GNU gettext.
86548
86549 2005-08-16  Bruno Haible  <bruno@clisp.org>
86550
86551         * lib/strnlen1.h: New file.
86552         * lib/strnlen1.c: New file.
86553
86554 2005-08-16  Bruno Haible  <bruno@clisp.org>
86555
86556         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
86557         (mbi_init): Update.
86558         (mbi_avail, mbi_advance): Let the iteration end before the terminating
86559         NUL byte, not after it.
86560
86561 2005-08-16  Bruno Haible  <bruno@clisp.org>
86562
86563         * lib/strcase.h (strcasecmp): Add note in comments.
86564         * lib/strncasecmp.c: Use code from strcasecmp.c.
86565         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
86566         (strcasecmp): Work correctly in multibyte locales.
86567
86568 2005-08-16  Bruno Haible  <bruno@clisp.org>
86569
86570         * lib/mbiter.h: New file.
86571
86572 2005-08-16  Bruno Haible  <bruno@clisp.org>
86573
86574         * lib/mbfile.h: New file.
86575
86576 2005-08-16  Bruno Haible  <bruno@clisp.org>
86577
86578         * lib/mbchar.h: New file.
86579         * lib/mbchar.c: New file.
86580
86581 2005-08-16  Bruno Haible  <bruno@clisp.org>
86582
86583         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
86584         the valid ones. Makes the comparison operations transitive:
86585         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
86586         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
86587
86588 2005-08-15  Simon Josefsson  <jas@extundo.com>
86589
86590         * modules/ssize_t (License): Change to 'unlimited'.
86591
86592         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
86593
86594 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
86595
86596         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
86597         Add comments for each pending glibc patch.
86598
86599 2005-08-15  Bruno Haible  <bruno@clisp.org>
86600
86601         * lib/regex.h (__restrict_arr): Don't define to __restrict if
86602         __cplusplus is defined.
86603
86604 2005-08-14  Jim Meyering  <jim@meyering.net>
86605
86606         Sync from coreutils.
86607
86608         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
86609         Use the hash-table-based cycle-detection code not just when
86610         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
86611         Reported by James Youngman in
86612         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
86613         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
86614         FTS_TIGHT_CYCLE_CHECK.
86615         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
86616         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
86617         once again.
86618         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
86619         * lib/fts.c (fd_safer): Remove decl.
86620         Include fcntl--.h rather than unistd-safer.h
86621         (fts_safe_changedir): Don't call fd_safer; no longer needed
86622         now that we include fcntl--.h.
86623
86624 2005-08-12  Simon Josefsson  <jas@extundo.com>
86625
86626         * modules/getndelim2: Use ssize_t module.
86627         * modules/getnline: Likewise.
86628         * modules/safe-read: Likewise.
86629         * modules/xreadlink: Likewise.
86630
86631         * modules/ssize_t: New file.
86632
86633 2005-08-12  Simon Josefsson  <jas@extundo.com>
86634
86635         * m4/readline.m4: Look for termcap, curses or ncurses if required.
86636
86637 2005-08-12  Simon Josefsson  <jas@extundo.com>
86638
86639         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86640         ssize_t.
86641
86642 2005-08-12  Simon Josefsson  <jas@extundo.com>
86643
86644         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
86645         readline, getdelim and check_version.
86646         (Support for systems lacking ISO C 99: Sizes of integer types):
86647         Add size_max.
86648
86649 2005-08-12  Bruno Haible  <bruno@clisp.org>
86650
86651         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
86652
86653 2005-08-11  Simon Josefsson  <jas@extundo.com>
86654
86655         * modules/readline: New file.
86656
86657         * modules/strnlen (Files): Add strnlen.h.
86658
86659 2005-08-11  Simon Josefsson  <jas@extundo.com>
86660
86661         * m4/readline.m4: New file.
86662
86663 2005-08-11  Simon Josefsson  <jas@extundo.com>
86664
86665         * lib/readline.h, readline.c: New file.
86666
86667 2005-08-11  Simon Josefsson  <jas@extundo.com>
86668
86669         * doc/gnulib.texi (Initial import, Finishing touches): Mention
86670         gl_AVOID.
86671
86672 2005-08-11  Bruno Haible  <bruno@clisp.org>
86673
86674         * lib/strnlen.h (strnlen): Change parameter name to match comment.
86675
86676 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
86677
86678         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
86679
86680 2005-08-10  Simon Josefsson  <jas@extundo.com>
86681
86682         * tests/test-iconvme.c: New file.
86683
86684 2005-08-10  Simon Josefsson  <jas@extundo.com>
86685
86686         * m4/strnlen.m4: New file.
86687
86688         * m4/strndup.m4: Don't check for strnlen declaration, done in
86689         strnlen.m4.
86690
86691 2005-08-10  Simon Josefsson  <jas@extundo.com>
86692
86693         * lib/strndup.c: Use strnlen.h.
86694
86695         * lib/strnlen.h: New file.
86696
86697 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
86698
86699         * README: Typos.
86700
86701 2005-08-02  Simon Josefsson  <jas@extundo.com>
86702
86703         * modules/readline: New file.
86704
86705 2005-08-02  Simon Josefsson  <jas@extundo.com>
86706
86707         * modules/getdelim: New file.
86708
86709         * modules/getline: Rewrite, don't use getndelim2.
86710
86711 2005-08-02  Simon Josefsson  <jas@extundo.com>
86712
86713         * m4/getline.m4: Separate out getdelim stuff into separate module.
86714
86715         * m4/getdelim.m4: New file.
86716
86717 2005-08-02  Simon Josefsson  <jas@extundo.com>
86718
86719         * lib/getline.h, getline.c: Rewrite.
86720
86721         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
86722
86723 2005-07-31  Bruno Haible  <bruno@clisp.org>
86724
86725         * lib/lock.h (gl_lock_initializer): New macro.
86726         (gl_lock_define_initialized): Use it.
86727         (gl_rwlock_initializer): New macro.
86728         (gl_rwlock_define_initialized): Use it.
86729         (gl_recursive_lock_initializer): New macro.
86730         (gl_recursive_lock_define_initialized): Use it.
86731
86732 2005-07-30  Karl Berry  <karl@gnu.org>
86733
86734         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
86735         Report from Ben Pfaff, regarding getopt.
86736
86737 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
86738
86739         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
86740         normal way.
86741         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
86742         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
86743         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
86744         (gl_GETOPT): Use the new macros.  Most of the implementation
86745         is moved to the new macros.  This is for programs like Emacs
86746         that don't want all the functionality of gl_GETOPT.
86747
86748 2005-07-26  Bruno Haible  <bruno@clisp.org>
86749
86750         * m4/lock.m4: Update from GNU gettext.
86751
86752 2005-07-26  Bruno Haible  <bruno@clisp.org>
86753
86754         * lib/lock.h: Update from GNU gettext.
86755         * lib/lock.c: Update from GNU gettext.
86756
86757 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
86758
86759         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
86760         obsolescent AC_TRY_RUN.  Include the default includes files, for
86761         'exit'.
86762
86763 2005-07-24  Bruno Haible  <bruno@clisp.org>
86764
86765         * modules/visibility: New file.
86766         * MODULES.html.sh (Misc): Add visibility.
86767
86768 2005-07-24  Bruno Haible  <bruno@clisp.org>
86769
86770         * m4/visibility.m4: New file.
86771
86772 2005-07-24  Bruno Haible  <bruno@clisp.org>
86773
86774         * doc/visibility.texi: New file.
86775
86776 2005-07-22  Bruno Haible  <bruno@clisp.org>
86777
86778         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
86779         $(ALLOCA_H), redundant through BUILT_SOURCES.
86780         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
86781         redundant through BUILT_SOURCES.
86782         * modules/byteswap (Makefile.am): Remove explicit dependency on
86783         $(BYTESWAP_H), redundant through BUILT_SOURCES.
86784         * modules/fnmatch (Makefile.am): Remove explicit dependency on
86785         $(FNMATCH_H), redundant through BUILT_SOURCES.
86786         * modules/getopt (Makefile.am): Remove explicit dependency on
86787         $(GETOPT_H), redundant through BUILT_SOURCES.
86788         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
86789         redundant through BUILT_SOURCES.
86790         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
86791         redundant through BUILT_SOURCES.
86792         * modules/stdbool (Makefile.am): Remove explicit dependency on
86793         $(STDBOOL_H), redundant through BUILT_SOURCES.
86794         * modules/stdint (Makefile.am): Remove explicit dependency on
86795         $(STDINT_H), redundant through BUILT_SOURCES.
86796         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
86797         Remove explicit dependency on $(SYSEXITS_H).
86798         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
86799
86800 2005-07-18  Simon Josefsson  <jas@extundo.com>
86801
86802         * lib/check-version.c (check_version): Accept identical versions too.
86803
86804 2005-07-18  Bruno Haible  <bruno@clisp.org>
86805
86806         * modules/lock: New file.
86807         * MODULES.html.sh (Multithreading): New section.
86808
86809 2005-07-18  Bruno Haible  <bruno@clisp.org>
86810
86811         * m4/lock.m4: New file, from GNU gettext.
86812
86813 2005-07-18  Bruno Haible  <bruno@clisp.org>
86814
86815         * lib/lock.h: New file, from GNU gettext.
86816         * lib/lock.c: New file, from GNU gettext.
86817
86818 2005-07-18  Bruno Haible  <bruno@clisp.org>
86819
86820         * lib/lock.h (gl_once_t): New type.
86821         (gl_once_define, gl_once): New macros.
86822         * lib/lock.c (fresh_once): New variable.
86823         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
86824         functions.
86825
86826 2005-07-16  Simon Josefsson  <jas@extundo.com>
86827
86828         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
86829         workaround, suggested by Bruno.
86830
86831 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86832
86833         * modules/xalloc (Depends-on): Add xalloc-die.
86834         * modules/xvasprintf (Depends-on): Add xalloc-die.
86835
86836 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86837
86838         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
86839         with a minor change.
86840
86841 2005-07-15  Bruno Haible  <bruno@clisp.org>
86842
86843         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
86844         When using lib/poll.c, define poll as rpl_poll.
86845
86846 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
86847
86848         * modules/argp (Depends-on): Remove unlocked-io.
86849
86850 2005-07-14  Derek Price  <derek@ximbiot.com>
86851
86852         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
86853         for glob symlink bug.
86854
86855 2005-07-14  Bruno Haible  <bruno@clisp.org>
86856
86857         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
86858         Instead, test for *_unlocked function declarations directly.
86859
86860 2005-07-11  Simon Josefsson  <jas@extundo.com>
86861
86862         * modules/size_max: New file.
86863
86864         * modules/xsize: Depend on size_max module for size_max.m4.
86865
86866 2005-07-11  Simon Josefsson  <jas@extundo.com>
86867
86868         * lib/size_max.h: New file.
86869
86870 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
86871
86872         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
86873         copyright symbol and the year.
86874         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
86875         (version_etc_va): Use parameterized copyright notice.
86876         Reword to conform to the current GNU coding standards.
86877
86878 2005-07-11  Karl Berry  <karl@gnu.org>
86879
86880         * doc/gnulib.texi (Quoting): new node.
86881         (Initial import): more info, from Patrice.
86882
86883 2005-07-11  Bruno Haible  <bruno@clisp.org>
86884
86885         * gnulib-tool (func_usage): Document option --avoid.
86886         (Command line options): Handle --avoid.
86887         (func_acceptable): New function.
86888         (func_modules_transitive_closure): Use it.
86889
86890 2005-07-11  Bruno Haible  <bruno@clisp.org>
86891
86892         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
86893         Reported by Jim Meyering.
86894
86895 2005-07-10  Bruno Haible  <bruno@clisp.org>
86896
86897         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
86898         Needed when size_t is smaller than 'unsigned int'.
86899         Reported by Paul Eggert.
86900
86901 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86902
86903         * modules/argp (Depends-on): Add unlocked-io
86904
86905 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86906
86907         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
86908         block of defines.
86909
86910 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
86911
86912         * config/srclist.txt: Comment out regcomp.c, since we have a porting
86913         fix now.
86914
86915 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
86916         and Paul Eggert  <eggert@cs.ucla.edu>
86917
86918         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
86919         in wint_t, not wchar_t.  Remove now-unnecessary cast.
86920
86921 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86922
86923         * modules/regex (Files): Add lib/regex_internal.c,
86924         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
86925         (Depends-on): Add extensions.
86926         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
86927
86928 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86929
86930         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
86931         pathconf.
86932         * m4/same.m4 (gl_SAME): Likewise.
86933         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
86934
86935         * m4/regex.m4: Adjust to new libc regex implementation.
86936         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
86937         all the .c and .h parts of (the new) regex.
86938         Quote the m4 stuff better.
86939         Check for RE_ICASE bug of old gnulib.
86940         Check for REG_STARTEND of recent libc.
86941         Rename local variables from jm_* to gl_*.
86942         Quote operand of "test -f".
86943         Say "recent enough" version of libc, not "version 2".
86944         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
86945         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
86946         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
86947         Remove check for btowc, isascii.
86948         Require AM_LANGINFO_CODESET.
86949
86950 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86951
86952         * lib/regex.c, regex.h: Sync from libc.
86953         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
86954         * lib/regexec.c:
86955         New files, synced from libc, except that regex_internal.h
86956         currently has a small porting fix.
86957
86958 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86959
86960         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
86961         regex_internal.c, regexec.c.
86962         Add regex_internal.h too, but as a comment, since the libc version
86963         is currently broken in gnulib mode.
86964
86965 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
86966
86967         Support programs like Emacs that use gnulib but not gettext.
86968         * MODULES.html.sh (Internationalization functions): Add gettext-h.
86969         * modules/gettext-h: New file.
86970         * modules/gettext (Files): Remove lib/gettext.h.
86971         (Depends-on): Add gettext-h.
86972         (Makefile.am): Remove lib_SOURCES.
86973         * modules/argmatch, modules/c-stack, modules/closeout:
86974         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
86975         * modules/execute, modules/file-type, modules/getaddrinfo:
86976         * modules/getopt, modules/human, modules/javacomp:
86977         * modules/javaexec, modules/mkdir-p, modules/obstack:
86978         * modules/openat, modules/pagealign_alloc, modules/pipe:
86979         * modules/quotearg, modules/regex, modules/rpmatch:
86980         * modules/unicodeio, modules/userspec, modules/version-etc:
86981         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
86982         * modules/xsetenv:
86983         Depend on gettext-h, not gettext.
86984
86985 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
86986
86987         * gnulib-tool (func_import): Add support for 'public domain' license.
86988         * modules/alloca, modules/atexit, modules/memmove:
86989         Now public domain, not GPL.
86990         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
86991         * modules/realloc, modules/strerror, modules/strtod:
86992         Now LGPL, not GPL.
86993
86994 2005-07-05  Bruno Haible  <bruno@clisp.org>
86995
86996         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
86997         autoconf CVS. Needed for mingw.
86998
86999 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
87000
87001         Remove the dependency of the strftime module on the tzset module.
87002         * modules/strftime (Depends-on): Remove dependency on tzset.
87003
87004 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
87005
87006         Remove the dependency of the strftime module on the tzset module.
87007         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
87008         gl_FUNC_TZSET_CLOBBER.
87009
87010 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
87011
87012         Remove the dependency of the strftime module on the tzset module.
87013         * lib/strftime.c (my_strftime)
87014         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
87015         Copy the input structure, to work around some of the bug with
87016         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
87017         Solaris releases, you should also use the tzset module, but we won't
87018         require it as a dependency any more since we don't want LGPLed code
87019         to depend on GPLed code.
87020
87021 2005-07-02  Jim Meyering  <jim@meyering.net>
87022
87023         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
87024         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
87025         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
87026         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
87027
87028 2005-07-02  Jim Meyering  <jim@meyering.net>
87029
87030         * lib/backupfile.c (backup_args): Change a `0' to NULL.
87031
87032 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
87033
87034         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
87035         declares only 'struct timespec;' (!).
87036
87037 2005-07-01  Jim Meyering  <jim@meyering.net>
87038
87039         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
87040         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
87041         * lib/save-cwd.c, tempname.c:
87042         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
87043         and don't include <sys/file.h>).
87044
87045 2005-06-29  Jim Meyering  <jim@meyering.net>
87046
87047         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
87048         type name.  Use the variable name instead.
87049         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
87050         Likewise.
87051
87052 2005-06-28  Simon Josefsson  <jas@extundo.com>
87053
87054         * modules/check-version (Files): Add check-version.m4.
87055
87056 2005-06-28  Simon Josefsson  <jas@extundo.com>
87057
87058         * m4/check-version.m4: New file, suggested by Jim Meyering
87059         <jim@meyering.net>.
87060
87061 2005-06-28  Simon Josefsson  <jas@extundo.com>
87062
87063         * lib/check-version.h, lib/check-version.c: New files.
87064
87065 2005-06-28  Simon Josefsson  <jas@extundo.com>
87066
87067         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
87068         collision with global variable.  Better indentation.  Don't
87069         increment buffer pointer beyond buffer end.  Based on comments
87070         from Paul Eggert <eggert@cs.ucla.edu>.
87071
87072         * lib/base64.h: Indent.
87073
87074 2005-06-28  Simon Josefsson  <jas@extundo.com>
87075
87076         * doc/gnulib.texi (Library version handling): New section.
87077
87078 2005-06-28  Jim Meyering  <jim@meyering.net>
87079
87080         * check-module (find_included_lib_files): Hard-code another
87081         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
87082         but modules/fts-lgpl (correctly) does not list those files.
87083
87084         * modules/canonicalize (Files): Add lib/pathmax.h.
87085
87086 2005-06-25  Simon Josefsson  <jas@extundo.com>
87087
87088         * modules/check-version: New file.
87089
87090 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
87091
87092         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
87093         initializer of struct addrinfo, as an indication that we don't
87094         care how many members the structure has.
87095
87096 2005-06-24  Derek Price  <derek@ximbiot.com>
87097         and Bruno Haible  <bruno@clisp.org>
87098
87099         Remove stat module & update lstat.
87100         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
87101         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
87102         * m4/stat.m4: Remove this file.
87103
87104 2005-06-24  Derek Price  <derek@ximbiot.com>
87105         and Bruno Haible  <bruno@clisp.org>
87106
87107         Remove stat module & update lstat.
87108         * lib/stat.c: Remove this file...
87109         (slash_aware_lstat): ...moving this content and its support...
87110         * lib/lstat.c (rpl_lstat): ...into here.
87111         * lib/lstat.h: New file.
87112
87113 2005-06-24  Derek Price  <derek@ximbiot.com>
87114         and Bruno Haible  <bruno@clisp.org>
87115
87116         Remove stat module & update lstat.
87117         * config/srclist.txt (libc sources): Remove stat.
87118
87119 2005-06-24  Derek Price  <derek@ximbiot.com>
87120         and Bruno Haible  <bruno@clisp.org>
87121
87122         Remove stat module & update lstat.
87123         * MODULES.html.sh (stat): Remove.
87124         * MODULES.html: Regenerated.
87125         * modules/lstat (Description): Correct function name.
87126         (Files): Add "lstat.h".
87127         (Depends-on): Remove stat, add xalloc, stat-macros.
87128         * modules/stat: Remove this file.
87129         (Include): Add "lstat.h", remove <sys/stat.h>.
87130
87131 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
87132
87133         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
87134         (ranged_convert): Don't save conversion in a temporary struct.
87135         This causes a warning with GCC 4.0.0, and anyway in the typical
87136         case it's not worth the extra 100 bytes or so of code.
87137         (ranged_convert, __mktime_internal): When calling a function via a
87138         pointer P, use P () rather than (*P) (), as we now assume C89 or
87139         better.
87140
87141 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87142
87143         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
87144         "who -r" failed to give output.  Problem reported by Tim Waugh.
87145
87146         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
87147         (xcalloc): Use it to avoid needless tests.
87148         Problem reported by Jim Meyering.
87149
87150 2005-06-20  Derek Price  <derek@ximbiot.com>
87151
87152         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
87153         unnecessary for Autoconfs > 2.59c.
87154
87155 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87156
87157         * lib/argp.h (__option_is_short): Check upper limit of
87158         __key. Isprint() requires its argument to have the value
87159         of an unsigned char or EOF.
87160
87161 2005-06-16  Jim Meyering  <jim@meyering.net>
87162
87163         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
87164         when either N or S is zero.
87165
87166 2005-06-16  Derek Price  <derek@ximbiot.com>
87167
87168         * m4/bison.m4: Declare YACC & YFLAGS precious.
87169
87170 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
87171
87172         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
87173         multibyte string or pattern, fall back on unibyte matching.
87174         Problem reported by James Youngman.
87175
87176 2005-06-08  Bruno Haible  <bruno@clisp.org>
87177
87178         * modules/csharpcomp: New file.
87179         * MODULES.html.sh (C#): Add csharpcomp.
87180
87181 2005-06-08  Bruno Haible  <bruno@clisp.org>
87182
87183         * m4/csharpcomp.m4: New file, from GNU gettext.
87184
87185 2005-06-08  Bruno Haible  <bruno@clisp.org>
87186
87187         * lib/csharpcomp.h: New file, from GNU gettext.
87188         * lib/csharpcomp.c: New file, from GNU gettext.
87189         * lib/csharpcomp.sh.in: New file, from GNU gettext.
87190
87191 2005-06-08  Bruno Haible  <bruno@clisp.org>
87192
87193         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
87194         warning on mingw.
87195
87196 2005-06-07  Derek Price  <derek@ximbiot.com>
87197
87198         Sync from CVS.
87199         * lib/glob_.h: Indent nested #ifdef.
87200
87201 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
87202
87203         Sync from coreutils.
87204         Use "file name" when talking about file names, instead of "filename"
87205         or "path", as per the GNU coding standards.
87206         * lib/mkdir-p.c: Renamed from makepath.c.
87207         (make_dir_parents): Renamed from make_path.  All callers changed.
87208         * lib/mkdir-p.h: Likewise.  All includers changed.
87209         * lib/filenamecat.c: Renamed from path-concat.c.
87210         (file_name_concat): Renamed from path_concat.  All callers changed.
87211         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
87212         * lib/filenamecat.h: Likewise.  All includers changed.
87213         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
87214         in comments or local variable names.
87215         * lib/basename.c: Likewise.
87216         * lib/canonicalize.c, canonicalize.h: Likewise.
87217         * lib/dirname.c, dirname.h: Likewise.
87218         * lib/euidaccess.c: Likewise.
87219         * lib/exclude.c: Likewise
87220         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
87221         * lib/fsusage.c, fsuage.h: Likewise.
87222         * lib/fts.c, fts_.h: Likewise.
87223         * lib/getcwd.c: Likewise.
87224         * lib/getloadavg.c: Likewise.
87225         * lib/mkstemp.c: Likewise.
87226         * lib/mountlist.c, mountlist.h: Likewise.
87227         * lib/openat.c, openat.h: Likewise.
87228         * lib/readlink-stub.c: Likewise.
87229         * lib/readutmp.c, readutmp.h: Likewise.
87230         * lib/rename.c: Likewise.
87231         * lib/rmdir.c: Likewise.
87232         * lib/same.c: Likewise.
87233         * lib/savedir.c: Likewise.
87234         * lib/stripslash.c: Likewise.
87235         * lib/tempname.c: Likewise.
87236         * lib/xreadlink.c: Likewise.
87237         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
87238         All uses changed.
87239         * lib/exclude.h: Likewise.
87240
87241         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
87242         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87243         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
87244         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87245         * lib/pathmax.h: Include <limits.h> unconditionally, since other
87246         files have been getting away with it for years (MORE/BSD 4.3
87247         is extinct now).
87248         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
87249         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87250
87251         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
87252         Define to 256, not 255, as per modern POSIX.
87253
87254 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
87255
87256         Sync from coreutils.
87257         Use "file name" when talking about file names, instead of "filename"
87258         or "path", as per the GNU coding standards.
87259         * MODULES.html.sh: mkdir-p renamed from makepath.
87260         filenamecat renamed from path-concat.
87261         * modules/filenamecat: Renamed from modules/path-concat.
87262         (Files): filenamecat.h and filenamecat.c renamed from
87263         path-concat.h and path-concat.c.
87264         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
87265         (Include): filenamecat.h, not path-concat.h.
87266         * modules/mkdir-p: Renamed from modules/makepath.
87267         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
87268         makepath.c.
87269         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
87270         (Include): mkdir-p.h, not makepath.h.
87271
87272 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
87273
87274         Sync from coreutils.
87275         * m4/mkdir-p.m4: Renamed from makepath.m4.
87276         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
87277         Rename files from makepath.c to mkdir-p.c, and from
87278         makepath.h to mkdir-p.h.
87279         * m4/filenamecat.m4: Renamed from path-concat.m4.
87280         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
87281         Rename files from path-concat.c to filenamecat.c,
87282         and from path-concat.h to filenamecat.h.
87283         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
87284         "file name" in local variables or comments.
87285         * m4/rename.m4: Likewise.
87286
87287 2005-06-01  Bruno Haible  <bruno@clisp.org>
87288
87289         * modules/csharpexec: New file.
87290         * MODULES.html.sh (C#): New section.
87291
87292 2005-06-01  Bruno Haible  <bruno@clisp.org>
87293
87294         * m4/csharp.m4: New file, from GNU gettext.
87295         * m4/csharpexec.m4: New file, from GNU gettext.
87296
87297 2005-06-01  Bruno Haible  <bruno@clisp.org>
87298
87299         * lib/csharpexec.h: New file, from GNU gettext.
87300         * lib/csharpexec.c: New file, from GNU gettext.
87301         * lib/csharpexec.sh.in: New file, from GNU gettext.
87302
87303 2005-05-31  Derek Price  <derek@ximbiot.com>
87304             Paul Eggert  <eggert@cs.ucla.edu>
87305
87306         Sync from cvs.
87307         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
87308
87309 2005-05-31  Derek Price  <derek@ximbiot.com>
87310             Paul Eggert  <eggert@cs.ucla.edu>
87311
87312         Sync from cvs.
87313         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
87314
87315 2005-05-29  Derek Price  <derek@ximbiot.com>
87316
87317         * config/srclist.txt (glob_.h, glob.c): Add these files.
87318
87319 2005-05-29  Derek Price  <derek@ximbiot.com>
87320
87321         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
87322         * modules/glob: New file.
87323         * modules/getlogin_r: Add link to POSIX spec in description.
87324
87325 2005-05-29  Derek Price  <derek@ximbiot.com>
87326             Paul Eggert  <eggert@cs.ucla.edu>
87327
87328         * m4/glob.m4: New file.
87329
87330 2005-05-29  Derek Price  <derek@ximbiot.com>
87331             Paul Eggert  <eggert@cs.ucla.edu>
87332
87333         * lib/glob_.h, lib/glob.c: New files.
87334
87335 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87336
87337         * modules/fts (Files): Remove m4/inttypes-pri.m4.
87338         * modules/fts-lgpl (Depends-on): Remove gettext.
87339
87340 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87341
87342         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
87343         and don't require gt_INTTYPES_PRI.
87344
87345 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87346
87347         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
87348
87349         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
87350         the configuration hassle isn't worth it.
87351         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
87352         (LONGEST_MODIFIER, PRIuMAX): Remove.
87353
87354 2005-05-27  Bruno Haible  <bruno@clisp.org>
87355
87356         * lib/getlogin_r.h: Remove second include of <stddef.h>.
87357
87358 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
87359
87360         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
87361         _POSIX_PTHREAD_SEMANTICS for Solaris.
87362
87363 2005-05-25  Derek Price  <derek@ximbiot.com>
87364
87365         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
87366
87367 2005-05-25  Derek Price  <derek@ximbiot.com>
87368             Paul Eggert  <eggert@cs.ucla.edu>
87369
87370         * modules/getlogin_r, m4/getlogin_r.m4: New files.
87371         * lib/getlogin_r.c, getlogin_r.h: New files.
87372
87373 2005-05-25  Bruno Haible  <bruno@clisp.org>
87374             Derek Price  <derek@ximbiot.com>
87375
87376         * lib/getlogin_r.h: Simplify API documentation.
87377
87378 2005-05-23  Derek Price  <derek@ximbiot.com>
87379
87380         * modules/minmax (Files): Add m4/minmax.m4.
87381         (configure.ac): Add gl_MINMAX.
87382
87383 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
87384
87385         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
87386         so that unistd-safer.h (GPL'ed code) need not be included.
87387
87388 2005-05-22  Bruno Haible  <bruno@clisp.org>
87389
87390         * m4/minmax.m4: New file.
87391         Based on a patch by Derek Price <derek@ximbiot.com>.
87392
87393 2005-05-22  Bruno Haible  <bruno@clisp.org>
87394
87395         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
87396         (INT64_MIN): Fix definition.
87397         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
87398
87399         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
87400         NEED_SIGNED_INT_TYPES.
87401
87402         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
87403         HAVE_SYSTEM_INTTYPES.
87404
87405 2005-05-22  Bruno Haible  <bruno@clisp.org>
87406
87407         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
87408         Also include <sys/param.h> if it defines MIN, MAX.
87409         Based on a patch by Derek Price <derek@ximbiot.com>.
87410
87411 2005-05-21  Jim Meyering  <jim@meyering.net>
87412
87413         * modules/fts (Files): Add m4/inttypes-pri.m4.
87414         (Depends-on): Add lstat and remove gettext.  Alphabetize.
87415
87416 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87417
87418         New fts module.
87419         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
87420         (setup_dir, free_dir): New functions.
87421         (enter_dir, leave_dir): Define trivial
87422         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
87423         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
87424         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
87425         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
87426         Move to fts-cycle.c.
87427         (fts_open): Use setup_dir.
87428         (fts_close): Use free_dir.
87429         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
87430         This adds a label and some gotos, but the alternatives were messier.
87431         Check for memory allocation failure when entering a dir.
87432         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
87433         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
87434         (FTS): New member fts_cycle, that is a union that contains the
87435         old active_dir_ht and cycle_state.  All uses changed to mention
87436         fts_cycle.ht and fts_cycle.state.
87437         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
87438         fts.c, with the following changes:
87439         (setup_dir, free_dir): New functions.
87440         (enter_dir): Now returns bool.  Return true if successful, false
87441         if memory exhausted.  All callers changed.
87442         Do not bother partly cleaning up on
87443         memory allocation failure; that is free_dir's job.
87444         However, free ad if hash_insert fails, to avoid memory leak.
87445         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
87446         fts->fts_options to see which union member to use.
87447
87448 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87449
87450         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
87451         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
87452
87453 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87454
87455         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
87456
87457 2005-05-20  Jim Meyering  <jim@meyering.net>
87458
87459         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
87460         Now a macro, to pacify GCC.
87461
87462 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
87463
87464         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
87465         of -1.
87466
87467 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
87468
87469         * lib/chown.c (rpl_chown): Return -1 on failure.
87470
87471 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
87472
87473         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
87474         Don't check for stddef.h.
87475         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
87476         don't use its results.
87477         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
87478         since we include them unconditionally.  Don't require
87479         AM_STDBOOL_H, since stdbool is a prerequisite.
87480         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
87481         since we assume C89 or better.
87482         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
87483         as we don't use their results.
87484         Don't check for fchdir, memmove, memset, strrchr, as we use
87485         them unconditionally.
87486         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
87487         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
87488
87489 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
87490
87491         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
87492         Include <stddef.h> unconditionally, since we assume C89 now.
87493         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
87494         * lib/fts.c: Include fts_.h first, to check interface.
87495         Do not include intprops.h; no longer needed.
87496         Include cycle-check.h and hash.h, since fts_.h no longer does.
87497         Remove unnecessary casts of closedir to void.
87498         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
87499         decide whether to decrement nlinks.
87500         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
87501         (FTS): Use struct hash_table * instead of Hash_table, so that
87502         we no longer need to include hash.h here.
87503
87504 2005-05-18  Jim Meyering  <jim@meyering.net>
87505
87506         * modules/dirfd (License): Change to LGPL.  Most of the code
87507         is already in the public domain.
87508
87509 2005-05-18  Jim Meyering  <jim@meyering.net>
87510
87511         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
87512         Reported by Yoann Vandoorselaere.
87513
87514 2005-05-17  Jim Meyering  <jim@meyering.net>
87515
87516         * m4/fts.m4: New file, from coreutils.
87517
87518 2005-05-17  Jim Meyering  <jim@meyering.net>
87519
87520         * lib/fts.c, lib/fts_.h: New files, from coreutils.
87521
87522 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87523
87524         Sync from coreutils.
87525         * m4/unlinkdir.m4: New file.
87526
87527 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87528
87529         Sync from coreutils.
87530         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
87531         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
87532         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
87533         White space changes only.
87534         * lib/makepath.c (make_path): Port to hosts where leading "//" is
87535         special.
87536         * lib/yesno.c: Include getline.h, not ctype.h.
87537         (yesno): Don't remove leading white space; POSIX doesn't allow it.
87538         Use getline to remove arbitrary restriction on response length.
87539
87540 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87541
87542         * config/srclist-update: Spell out "Street" in FSF postal
87543         mail address; this is the style the FSF seems to prefer.
87544
87545         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
87546         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
87547         this updates FSF postal mail address.
87548
87549         Sync from coreutils.
87550         * modules/unlinkdir: New file.
87551         * modules/yesno (Depends-on): Add getline.
87552         * MODULES.html.sh (File system functions): Add unlinkdir.
87553
87554 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87555
87556         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
87557         lib/strsep.h:
87558         Change the initial comment to refer to GPL, not LGPL.
87559         gnulib-tool will change it to LGPL as needed.
87560
87561         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
87562         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
87563         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
87564         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
87565         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
87566         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
87567         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
87568         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
87569         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
87570         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
87571         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
87572         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
87573         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
87574         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
87575         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
87576         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
87577         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
87578         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
87579         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
87580         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
87581         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
87582         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
87583         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
87584         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
87585         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
87586         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
87587         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
87588         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
87589         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
87590         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
87591         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
87592         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
87593         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
87594         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
87595         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
87596         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
87597         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
87598         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
87599         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
87600         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
87601         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
87602         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
87603         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
87604         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
87605         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
87606         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
87607         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
87608         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
87609         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
87610         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
87611         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
87612         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
87613         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
87614         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
87615         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
87616         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
87617         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
87618         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
87619         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
87620         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
87621         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
87622         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
87623         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
87624         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
87625         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
87626         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
87627         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
87628         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
87629         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
87630         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
87631         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
87632         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
87633         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
87634         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
87635         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
87636         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
87637         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
87638         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
87639         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
87640         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
87641         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
87642         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
87643         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
87644         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
87645         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
87646         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
87647         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
87648         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
87649         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
87650         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
87651         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
87652         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
87653         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
87654         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
87655         lib/yesno.c, lib/yesno.h:
87656         Update FSF postal mail address.
87657
87658 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87659
87660         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
87661         tests/test-memmem.c, tests/test-stpncpy.c:
87662         Update FSF postal mail address.
87663
87664 2005-05-13  Bruno Haible  <bruno@clisp.org>
87665
87666         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
87667         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
87668         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
87669         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
87670         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
87671         Add support for 64-bit integers in the MSVC compiler.
87672
87673 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87674
87675         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
87676
87677 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
87678
87679         * gnulib-tool (func_import): Sort and uniquify recommended includes.
87680
87681 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
87682
87683         * doc/getdate.texi (General date syntax): Don't say that date
87684         date --iso-8601=ns generates acceptable dates; it doesn't yet.
87685         Problem reported by Nic Ferrier.
87686
87687 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87688
87689         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
87690         specified in ai_socktype. Fix invalid ai_protocol
87691         check. ai_protocol is usually set to 0 or depending on
87692         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
87693         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
87694         ai_socktype / ai_protocol in the returned addrinfo structure.
87695
87696 2005-05-10  Simon Josefsson  <jas@extundo.com>
87697
87698         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
87699         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
87700
87701 2005-05-10  Karl Berry  <karl@gnu.org>
87702
87703         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
87704         (from http://www.gnu.org/licenses).
87705         * doc/COPYING.LIB: also rename to COPYING.LESSER.
87706         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
87707         fdl.texi suffices.
87708
87709 2005-05-10  Karl Berry  <karl@gnu.org>
87710
87711         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
87712         (COPYING.DOC): remove.
87713
87714         * config/srclist-update: new FSF address.
87715
87716 2005-05-10  Derek Price  <derek@ximbiot.com>
87717
87718         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
87719         possible.
87720
87721 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87722             Bruno Haible  <bruno@clisp.org>
87723
87724         * modules/inet_ntop: New file.
87725         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87726         inet_ntop.
87727
87728 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87729             Bruno Haible  <bruno@clisp.org>
87730
87731         * m4/inet_ntop.m4: New file.
87732
87733 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87734             Bruno Haible  <bruno@clisp.org>
87735
87736         * lib/inet_ntop.h: New file.
87737         * lib/inet_ntop.c: New file, from glibc with modifications.
87738
87739 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
87740
87741         * modules/time_r (License): Change to LGPL.
87742         * modules/extensions (License): Change to LGPL.  Actually,
87743         the license is more permissive than that, but currently gnulib-tool
87744         doesn't know how to handle more-permissive licenses.
87745
87746         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
87747         Problem reported by Dave Love.
87748
87749 2005-05-08  Jim Meyering  <jim@meyering.net>
87750
87751         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
87752         blank.
87753
87754 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
87755
87756         * modules/argmatch (Depends-on): Add stdbool.
87757         * modules/backupfile (Depends-on): Likewise.
87758         * modules/chdir-long (Depends-on): Likewise.
87759         * modules/closeout (Depends-on): Likewise.
87760         * modules/cycle-check (Depends-on): Likewise.
87761         * modules/dirname (Depends-on): Likewise.
87762         * modules/fnmatch (Depends-on): Likewise.
87763         * modules/fsusage (Depends-on): Likewise.
87764         * modules/fwriteerror (Depends-on): Likewise.
87765         * modules/getcwd (Depends-on): Likewise.
87766         * modules/getloadavg (Depends-on): Likewise.
87767         * modules/hard-locale (Depends-on): Likewise.
87768         * modules/makepath (Depends-on): Likewise.
87769         * modules/mountlist (Depends-on): Likewise.
87770         * modules/nanosleep (Depends-on): Likewise.
87771         * modules/posixtm (Depends-on): Likewise.
87772         * modules/quotearg (Depends-on): Likewise.
87773         * modules/readtokens (Depends-on): Likewise.
87774         * modules/readtokens0 (Depends-on): Likewise.
87775         * modules/readutmp (Depends-on): Likewise.
87776         * modules/save-cwd (Depends-on): Likewise.
87777         * modules/strftime (Depends-on): Likewise.
87778         * modules/userspec (Depends-on): Likewise.
87779         * modules/utimecmp (Depends-on): Likewise.
87780         * modules/xgetcwd (Depends-on): Likewise.
87781         * modules/xnanosleep (Depends-on): Likewise.
87782         * modules/xstrtod (Depends-on): Likewise.
87783         * modules/yesno (Depends-on): Likewise.
87784
87785 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
87786
87787         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
87788         needless checks.
87789
87790 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87791
87792         Merge from coreutils.  Among other things,
87793         add bulletproofing for cases where stdin, stdout, or stderr are closed.
87794         * lib/fd-safer.c: New file.
87795         * lib/fcntl-safer.h, open-safer.c: Remove.
87796         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
87797         * lib/dup-safer.c: Include unistd-safer.h first.
87798         Don't include errno.h.
87799         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
87800         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
87801         * lib/file-type.c: Rely on file-type.h change.
87802         * lib/getloadavg.c: Include unistd-safer.h.
87803         (getloadavg): Use safer open.
87804         * lib/getusershell.c: Include "stdio-safer.h".
87805         (getusershell): Use safer fopen.
87806         * lib/long-options.c (long_options): Use NULL rather than 0.
87807         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
87808         'free'.
87809         * lib/modechange.c: Likewise.
87810         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
87811         (MODE_DONE): New constant.
87812         (struct mode_change): Remove 'next' member.
87813         (make_node_op_equals): New function; like the old one of the
87814         same name, except it allocates an array.
87815         (mode_compile, mode_create_from_ref): Use it.
87816         (mode_compile): Allocate result as an array, not a linked list.
87817         Parse octal string ourself, so that we catch mistakes like "+0".
87818         (mode_adjust): Arg is an array, not a linked list.
87819         * lib/modechange.c: Include stat-macros.h, xalloc.h.
87820         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
87821         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
87822         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
87823         Remove.  This is now stat-macros.h's job.
87824         (talloc): Remove.  All callers replaced by xalloc, so that
87825         our invokers don't have to worry about reporting memory failures.
87826         (make_node_op_equals): Remove.
87827         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87828         New constants.
87829         (struct mode_change): Moved here from modechange.h.
87830         (mode_append_entry): Remove.
87831         (mode_compile): Remove MASKED_OPS arg, since it encouraged
87832         apps to have incorrect behavior.  Use simpler algorithm for head
87833         and tail.  Don't futz with umask; that's now the job of mode_adjust.
87834         Detect more invalid usages rather than having somewhat-random behavior.
87835         Don't insert an "a=" action, as that leads to incorrect behavior.
87836         (mode_compile, mode_create_from_ref): Return NULL on error instead
87837         of an enum, since now there's only one way to have an error.  All
87838         callers changed.
87839         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
87840         at the correct time.  Simplify calculation of "+u" and its ilk.
87841         Don't mishandle "+X".
87842         (mode_free): Remove "register" and localize decls.
87843         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87844         (struct mode_change): Move to modechange.c; callers don't
87845         need to see this stuff.
87846         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
87847         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
87848         (mode_change, mode_adjust): Reflect the new signatures noted above.
87849         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
87850         that might redefine system include files.
87851         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
87852         (my_usleep): Use NULL rather than (void *) 0.
87853         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
87854         Use siginterrupt to specify that system calls should be interrupted.
87855         (rpl_nanosleep): Move initialization of suspended closer to call of
87856         my_usleep.
87857         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
87858         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
87859         (desirable_utmp_entry): New function.
87860         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
87861         using x2nrealloc, to simplify logic.
87862         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
87863         size calculation.  Do not assume utmp file is a regular file.
87864         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
87865         (READ_UTMP_CHECK_PIDS): New constant.
87866         * lib/save-cwd.c: Include unistd-safer.h.
87867         (save_cwd): Use fd_safer.
87868         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
87869         [!_LIBC] Include "stat-macros.h" instead.
87870         * lib/unistd-safer.h (fd_safer): New decl.
87871
87872 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87873
87874         * modules/getloadavg (Depends-on): Add unistd-safer.
87875         * modules/getusershell (Depends-on): Add stdio-safer.
87876         * modules/lstat (Depends-on): Remove xalloc.
87877         * modules/mkstemp (Depends-on): Add stat-macros.
87878         * modules/modechange (Depends-on): Remove xstrtol.
87879         Add stat-macros, xalloc.
87880         * modules/save-cwd (Depends-on): Add unistd-safer.
87881         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
87882         * modules/unistd-safer (Files): Add lib/fd-safer.c
87883         (Makefile.am): Remove lib_SOURCES.
87884
87885         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
87886         Remove fcntl-safer; unistd-safer supersedes it.
87887
87888 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87889
87890         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
87891         AC_HEADER_STAT.
87892         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
87893         (gl_PREREQ_CHOWN): Remove.
87894         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
87895         it.  Don't require AC_HEADER_STAT.
87896         (gl_PREREQ_LSTAT): Remove.
87897         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
87898         Don't require AC_HEADER_STAT.
87899         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
87900         (gl_PREREQ_RMDIR): Remove.
87901         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
87902         mention stat-macros.h or AC_HEADER_STAT, since we'll make
87903         the stat-macros module a prerequisite.
87904         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
87905         * m4/filemode.m4 (gl_FILEMODE): Likewise.
87906         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
87907         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
87908         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
87909         variable names.
87910         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
87911         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
87912         variable prefixes.
87913         * m4/fcntl-safer.m4: Remove.
87914         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
87915         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
87916         Invoke gl_PREREQ_FD_SAFER.
87917         (gl_PREREQ_FD_SAFER): New macro.
87918         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
87919         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
87920         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
87921         Remove duplicate call to AC_LIBOBJ(readutmp).
87922         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
87923
87924         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
87925         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
87926
87927 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87928
87929         * MODULES.html.sh (Misc): Add byteswap.
87930
87931 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87932
87933         * modules/getcwd (Depends-on): Add extensions.
87934         * modules/openat (Depends-on): Likewise.
87935
87936 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87937
87938         * modules/byteswap: New file.
87939
87940 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87941
87942         * m4/byteswap.m4: New file.
87943
87944 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87945
87946         * lib/byteswap_.h: New file.
87947
87948 2005-04-25  Karl Berry  <karl@gnu.org>
87949
87950         * m4/gettext.m4: Update from GNU gettext 0.14.4.
87951
87952 2005-04-25  Albert Chin  <china@thewrittenword.com>
87953
87954         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
87955         Toolkit C bug.
87956
87957 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
87958
87959         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
87960         (func_ln_if_changed): Remove forcibly for no error message
87961         in case file does not exist.
87962
87963 2005-04-19  Simon Josefsson  <jas@extundo.com>
87964
87965         * gnulib-tool (Options): Make --symlink mean --symbolic.
87966
87967 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
87968
87969         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
87970
87971 2005-04-16  Simon Josefsson  <jas@extundo.com>
87972
87973         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
87974
87975 2005-04-15  Simon Josefsson  <jas@extundo.com>
87976
87977         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
87978
87979 2005-04-15  Simon Josefsson  <jas@extundo.com>
87980
87981         * gnulib-tool: Rename --symlink to --symbolic.
87982
87983 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
87984
87985         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
87986         symbolic links to files instead of copying/moving.  Add --aux-dir,
87987         specifying directory relative --dir where auxiliary build tools
87988         are placed.
87989
87990 2005-04-14  Bruno Haible  <bruno@clisp.org>
87991
87992         * modules/allocsa (License): Change to LGPL.
87993         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
87994
87995 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
87996
87997         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
87998         that "UTC +1 second" continues to work.  Problem reported
87999         by Dmitry V. Levin.
88000         (relunit_snumber): New rule.
88001         (relunit): Use it.
88002
88003 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
88004
88005         * lib/getdate.y (universal_time_zone_table): New constant.
88006         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
88007         universal_time_zone_table.
88008         (lookup_zone): Prefer universal_time_zone_table to
88009         local_time_zone_table, so that "GMT" time stamps are allowed in
88010         London during the summer.  Problem reported by Ian Abbott.
88011
88012 2005-04-12  Jim Meyering  <jim@meyering.net>
88013
88014         * lib/human.c (humblock): Set *options even when returning due to
88015         xstrtoumax conversion failure.  Thanks to a used-uninitialized
88016         warning from gcc-4.
88017
88018 2005-04-09  Jim Meyering  <jim@meyering.net>
88019
88020         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
88021         -Wuninitialized: initialize tm0.tm_year.
88022
88023 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
88024
88025         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
88026         count, since there's no maximum.  All uses changed.
88027         Add member dsts_seen.
88028         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
88029         not being INT_MAX.
88030         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
88031         Use pc_rels_seen to decide whether a date is absolute.
88032
88033         * lib/getdate.y (number): Don't overwrite year.
88034         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
88035         check.
88036
88037 2005-04-02  Simon Josefsson  <jas@extundo.com>
88038
88039         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
88040         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
88041
88042 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
88043
88044         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
88045         where no absolute path name can be longer than PATH_MAX.
88046
88047 2005-03-27  Jim Meyering  <jim@meyering.net>
88048
88049         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
88050
88051 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
88052
88053         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
88054         "one's complement" -> "ones' complement" in comment, as per Knuth.
88055         "value of type" -> "type or expression" in comment.
88056         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
88057
88058 2005-03-26  Jim Meyering  <jim@meyering.net>
88059
88060         Comment nits.
88061         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
88062         Correct typos: s/or/of/.
88063
88064 2005-03-26  Jim Meyering  <jim@meyering.net>
88065
88066         * modules/check-include-files: Move to ../ and rename to...
88067         * check-module: ...this.
88068
88069 2005-03-25  Jim Meyering  <jim@meyering.net>
88070
88071         * modules/xvasprintf (Files): Add xalloc.h.
88072
88073 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
88074
88075         * modules/gettext (Files): config/config.rpath ->
88076         build-aux/config.rpath
88077         * modules/iconv (Files): Likewise.
88078         Problem reported by Oskar Liljeblad.
88079
88080 2005-03-23  Jim Meyering  <jim@meyering.net>
88081
88082         * modules/check-include-files: New script to check for
88083         missing dependencies, multiple includes, etc.
88084
88085         * modules/c-strtold (Depends-on): Add xalloc.
88086         * modules/c-strtod (Depends-on): Add xalloc.
88087         * modules/hash (Depends-on): Add xalloc.
88088         (Files): Remove lib/xalloc.h.
88089
88090         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
88091         * modules/userspec (Files): Add lib/inttostr.h.
88092
88093 2005-03-23  Jim Meyering  <jim@meyering.net>
88094
88095         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
88096
88097 2005-03-22  Jim Meyering  <jim@meyering.net>
88098
88099         * modules/stat-macros: New module.
88100         * modules/canonicalize, modules/euidaccess, modules/file-type,
88101         * modules/filemode, modules/lchown, modules/makepath,
88102         * modules/rmdir, modules/stat: Depend on new stat-macros module
88103         rather than listing lib/stat-macros.h manually.
88104         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
88105
88106 2005-03-22  Jim Meyering  <jim@meyering.net>
88107
88108         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
88109
88110 2005-03-22  Bruno Haible  <bruno@clisp.org>
88111
88112         * config/srclist.txt: Replace target directory 'config' with
88113         'build-aux'.
88114         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
88115         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
88116         ../build-aux/.
88117
88118 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
88119
88120         * modules/chdir-long (Depends-on): Add mempcpy.
88121
88122         * modules/acl, modules/backupfile, modules/c-strtod,
88123         modules/c-strtold, modules/canon-host, modules/canonicalize,
88124         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
88125         modules/exclude, modules/exitfail, modules/file-type,
88126         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
88127         modules/getdate, modules/getline, modules/getpagesize,
88128         modules/getpass, modules/getugroups, modules/group-member,
88129         modules/hard-locale, modules/hash, modules/human, modules/idcache,
88130         modules/inttostr, modules/long-options, modules/makepath,
88131         modules/md5, modules/memcasecmp, modules/memcoll,
88132         modules/modechange, modules/mountlist, modules/path-concat,
88133         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
88134         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
88135         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
88136         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
88137         modules/strftime, modules/strndup, modules/strverscmp,
88138         modules/timespec, modules/unlocked-io, modules/userspec,
88139         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
88140         modules/yesno:
88141         Remove lib_SOURCES line from Makefile.am section, as this is now
88142         done automatically by the corresponding Autoconf macro.
88143
88144 2005-03-21  Jim Meyering  <jim@meyering.net>
88145
88146         Changes imported from coreutils.
88147
88148         * lib/cycle-check.c: Don't include xalloc.h.
88149
88150         * lib/path-concat.c: Don't include assert.h.
88151         (path_concat): Remove assertion that would have triggered
88152         for ABASE starting with more than one slash.
88153         Reported by Andreas Schwab.
88154
88155         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
88156         properly when ABASE is an absolute file name.
88157         Correct the description of this function.
88158         Include <assert.h>.
88159         Add an assertion and a test driver.
88160         This fixes a bug introduced on 2004-07-02.
88161         Andreas Schwab reported the resulting failure of cp --parents:
88162         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
88163
88164 2005-03-21  Jim Meyering  <jim@meyering.net>
88165
88166         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
88167         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
88168
88169 2005-03-21  Jim Meyering  <jim@meyering.net>
88170         and  Paul Eggert  <eggert@cs.ucla.edu>
88171
88172         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
88173         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
88174         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
88175         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
88176         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
88177         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
88178         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
88179         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
88180         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
88181         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
88182         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
88183         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
88184         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
88185         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
88186         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
88187         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
88188         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
88189         for these modules.
88190
88191 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
88192
88193         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
88194         (which shouldn't happen), generate nothing instead of returning 0
88195         immediately, so that nstrftime (NULL, ...) doesn't return 0.
88196
88197 2005-03-16  Bruno Haible  <bruno@clisp.org>
88198
88199         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
88200         HAVE_LONGLONG_64BIT.
88201
88202 2005-03-16  Bruno Haible  <bruno@clisp.org>
88203
88204         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
88205         HAVE_LONGLONG_64BIT.
88206
88207 2005-03-16  Bruno Haible  <bruno@clisp.org>
88208
88209         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
88210         HAVE_LONGLONG_64BIT.
88211
88212 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
88213
88214         * lib/strftime.c (my_strftime): Prepend space to format so that we can
88215         reliably distinguish strftime failure from empty output on POSIX
88216         hosts.
88217
88218 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
88219
88220         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
88221         (iconv_string): Don't guess a size-zero buffer, as that might cause
88222         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
88223         result would be 'too large', where 'too large' is (heuristically)
88224         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
88225         overflow concerns.  This will prevent some unwanted malloc failures
88226         when the inputs are very large.
88227
88228 2005-03-15  Karl Berry  <karl@gnu.org>
88229
88230         * config/srclist.txt (config.rpath): from gettext.
88231         * config/config.rpath: update.
88232
88233 2005-03-15  Bruno Haible  <bruno@clisp.org>
88234
88235         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
88236         to 'negate'.
88237
88238         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
88239         variable.
88240
88241         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
88242         results.
88243
88244 2005-03-14  Simon Josefsson  <jas@extundo.com>
88245
88246         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
88247         <fx@gnu.org>.
88248
88249 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
88250
88251         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
88252         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
88253         intprops.h.
88254         * lib/strtol.c: Likewise.
88255
88256 2005-03-14  Jim Meyering  <jim@meyering.net>
88257
88258         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
88259         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
88260         to be nonzero so that we (and caller) can detect the difference
88261         between a valid zero-length expansion and an error return, even
88262         when the underlying strftime fails before writing anything into
88263         that location.
88264
88265 2005-03-14  Bruno Haible  <bruno@clisp.org>
88266
88267         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
88268         Update from GNU gettext 0.14.3.
88269
88270 2005-03-10  Jim Meyering  <jim@meyering.net>
88271
88272         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
88273
88274 2005-03-10  Jim Meyering  <jim@meyering.net>
88275
88276         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
88277         so that this module works on systems without fchdir.
88278
88279 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
88280
88281         Factor int-properties macros into a single file, except for
88282         glibc-related files.
88283         * lib/intprops.h: New file.
88284         * lib/getloadavg.c: Include it instead of limits.h.
88285         (INT_STRLEN_BOUND): Remove.
88286         * lib/human.c: Include intprops.h.
88287         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
88288         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
88289         302/1000.
88290         * lib/inttostr.h: Include intprops.h instead of limits.h.
88291         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
88292         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
88293         for consistency with intprops.h.
88294         (time_t_is_integer, twos_complement_arithmetic): Use them.
88295         * lib/sig2str.h: Include <signal.h>, intprops.h.
88296         (INT_STRLEN_BOUND): Remove.
88297         * lib/strftime.c (TYPE_SIGNED): Remove.
88298         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
88299         * lib/strtol.c: Adjust comments to match intprops.h.
88300         * lib/userspec.c: Include intprops.h.
88301         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
88302         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
88303         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
88304         instead of rolling our own expressions.
88305         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
88306
88307         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
88308         instead of int.
88309         (my_strftime): Do not mishandle years close to INT_MAX, by doing
88310         the right thing even if adding 1900 would overflow.  Similarly
88311         for tm_mon + 1 and tm_yday + 1.
88312         Make %Y always equivalent to %C%y, and similarly for %G and %g.
88313         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
88314         (DO_SIGNED_NUMBER): New macro.
88315         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
88316
88317 2005-03-07  Bruno Haible  <bruno@clisp.org>
88318
88319         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
88320
88321 2005-03-07  Bruno Haible  <bruno@clisp.org>
88322
88323         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
88324
88325 2005-03-04  Derek R. Price  <derek@ximbiot.com>
88326
88327         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
88328         (func_import): Only replace files via --import when they have actually
88329         changed.
88330
88331 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88332
88333         * m4/mmap-anon.m4: New file.
88334         * m4/pagealign_alloc.m4: New file.
88335
88336 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88337             Bruno Haible  <bruno@clisp.org>
88338
88339         * modules/pagealign_alloc: New file.
88340         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
88341
88342 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88343             Bruno Haible  <bruno@clisp.org>
88344
88345         * lib/pagealign_alloc.h: New file.
88346         * lib/pagealign_alloc.c: New file.
88347
88348 2005-03-03  Bruno Haible  <bruno@clisp.org>
88349
88350         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
88351         Use an all-permissive copyright notice, recommended by RMS.
88352
88353 2005-03-02  Bruno Haible  <bruno@clisp.org>
88354
88355         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
88356         of AIX, the replacement has to be done only after <string.h> is
88357         included, therefore not in config.h. stpncpy.h does the replacement,
88358         and stpncpy.c uses it.
88359
88360 2005-03-02  Bruno Haible  <bruno@clisp.org>
88361
88362         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
88363         stpncpy.c uses it.
88364
88365 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88366
88367         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
88368         The workaround isn't strictly needed for POSIX conformance, and
88369         it's too much of a pain to configure and maintain.  We'll ask
88370         people to fix their kernels instead.
88371         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
88372         (NANOSLEEP_BUG_WORKAROUND): Remove.
88373         (xnanosleep): Remove the workaround.
88374
88375 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88376
88377         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
88378         Reported by Derek Price.
88379         (Include): Add "timespec.h".
88380
88381         * modules/xnanosleep (Depends-on): Remove gethrxtime.
88382
88383 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88384
88385         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
88386         to detect nanosleep bug.
88387
88388 2005-03-01  Bruno Haible  <bruno@clisp.org>
88389
88390         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
88391
88392 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
88393
88394         * modules/gethrxtime: New file.
88395         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
88396         (Depends-on): Add gethrxtime.
88397         (configure.ac): Add gl_XNANOSLEEP.
88398         (Makefile.am): Remove lib_SOURCES line.
88399
88400 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
88401
88402         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
88403         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
88404
88405 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
88406
88407         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
88408         * lib/timespec.h (gettime): Return void, since it always
88409         succeeds now.  All uses changed.
88410         * lib/gettime.c (gettime): Likewise.
88411         [HAVE_NANOTIME]: Prefer nanotime.
88412         Assume gettimeofday succeeds, as POSIX requires.
88413         Assime time () succeeds, since other code already does.
88414         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
88415         (timespec_subtract): Remove.
88416         (NANOSLEEP_BUG_WORKAROUND): New constant.
88417         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
88418         things considerably.  Use it only on GNU/Linux hosts, since the
88419         workaround shouldn't be needed elsewhere.
88420
88421 2005-02-24  Bruno Haible  <bruno@clisp.org>
88422
88423         * modules/gettext (Files): Add m4/glibc2.m4.
88424
88425 2005-02-24  Bruno Haible  <bruno@clisp.org>
88426
88427         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
88428         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
88429         * m4/progtest.m4:
88430         Update from GNU gettext 0.14.2.
88431         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
88432
88433 2005-02-24  Bruno Haible  <bruno@clisp.org>
88434
88435         * lib/localcharset.c: Update from GNU gettext 0.14.2.
88436         * lib/config.charset: Update from GNU gettext 0.14.2.
88437
88438 2005-02-24  Bruno Haible  <bruno@clisp.org>
88439
88440         * lib/gettext.h: Update from GNU gettext 0.14.2.
88441
88442 2005-02-23  Simon Josefsson  <jas@extundo.com>
88443
88444         * m4/iconvme.m4: New file.
88445
88446 2005-02-23  Jim Meyering  <jim@meyering.net>
88447
88448         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
88449         change.
88450         Thanks to Bruno Haible for catching it.
88451
88452 2005-02-22  Simon Josefsson  <jas@extundo.com>
88453
88454         * modules/iconvme: New file.
88455
88456         * MODULES.html.sh: Add iconvme.
88457
88458 2005-02-22  Simon Josefsson  <jas@extundo.com>
88459
88460         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
88461
88462 2005-02-22  Simon Josefsson  <jas@extundo.com>
88463
88464         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
88465
88466 2005-02-22  Jim Meyering  <jim@meyering.net>
88467
88468         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
88469         s/ifndef/ifdef/.
88470
88471 2005-02-20  Neil Conway  <neilc@samurai.com>
88472
88473         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
88474         returned by OSX/Darwin if the specified buffer is not large
88475         enough for the hostname.
88476
88477 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88478
88479         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
88480         pass it to _help, otherwise the latter coredumps trying to
88481         dereference state.root_argp.
88482
88483 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88484
88485         * modules/chdir-long (Depends-on): Add memrchr.
88486         * modules/memrchr (Files): Add lib/memrchr.h.
88487         (Include): "memrchr.h".
88488
88489 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88490
88491         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
88492
88493 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88494
88495         * lib/memrchr.h: New file.
88496         * lib/chdir-long.c: Include it.
88497         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
88498         Don't bother including stddef.h.
88499
88500 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
88501
88502         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
88503         inclusion.
88504         Include <sys/types.h>, for dev_t.
88505         (ME_DUMMY, ME_REMOTE): Move from here....
88506         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
88507         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
88508         Dmitry V. Levin.
88509         Include mountlist.h first, to test the interface.
88510
88511 2005-01-29  Bruno Haible  <bruno@clisp.org>
88512
88513         * lib/progname.c (program_name): Initialize.
88514         Needed when linking statically on MacOS X.
88515
88516 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
88517
88518         Sync from coreutils.
88519         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
88520         (Depends-on): Add c-strtod.
88521         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
88522
88523 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
88524
88525         Sync from coreutils.
88526         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
88527
88528         Remove files that are specific to coreutils.
88529         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
88530
88531 2005-01-28  Bruno Haible  <bruno@clisp.org>
88532
88533         * modules/javacomp: New file.
88534         * MODULES.html.sh (Java): Add javacomp.
88535
88536 2005-01-28  Bruno Haible  <bruno@clisp.org>
88537
88538         * m4/javacomp.m4: New file, from GNU gettext.
88539
88540 2005-01-28  Bruno Haible  <bruno@clisp.org>
88541
88542         * lib/javacomp.sh.in: New file, from GNU gettext.
88543         * lib/javacomp.h: New file, from GNU gettext.
88544         * lib/javacomp.c: New file, from GNU gettext.
88545
88546 2005-01-26  Simon Josefsson  <jas@extundo.com>
88547
88548         * lib/gai_strerror.c: Use GPL in header.
88549
88550 2005-01-26  Bruno Haible  <bruno@clisp.org>
88551
88552         * modules/javaexec: New file.
88553         * MODULES.html.sh (Java): Add javaexec.
88554
88555 2005-01-26  Bruno Haible  <bruno@clisp.org>
88556
88557         * m4/javaexec.m4: New file, from GNU gettext.
88558
88559 2005-01-26  Bruno Haible  <bruno@clisp.org>
88560
88561         * lib/javaexec.sh.in: New file, from GNU gettext.
88562         * lib/javaexec.h: New file, from GNU gettext.
88563         * lib/javaexec.c: New file, from GNU gettext.
88564
88565 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88566
88567         * modules/lchown (Depends-on): Remove lchown.h
88568
88569 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88570
88571         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
88572         must be defined if the header file was not found, in order
88573         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
88574
88575 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88576
88577         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
88578         initializers for struct pentry_state.
88579         (__argp_error): Check return value of __asprintf
88580         (__argp_failure): Translate error message
88581
88582         * lib/argp-parse.c: Removed braces around the expansion of N_()
88583
88584 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
88585
88586         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
88587         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
88588         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
88589         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
88590         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
88591         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
88592         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
88593         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
88594         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
88595         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
88596         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
88597         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
88598         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
88599         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
88600         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
88601         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
88602         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
88603         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
88604         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
88605         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
88606         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
88607         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
88608         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
88609         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
88610         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
88611         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
88612         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
88613         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
88614         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
88615         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
88616         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
88617         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
88618         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
88619         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
88620         xstrtol.m4, xstrtoumax.m4, yesno.m4:
88621         Use an all-permissive copyright notice, recommended by RMS.
88622
88623 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
88624
88625         * modules/chdir-long (Depends-on): Remove mempcpy.
88626
88627 2005-01-21  Jim Meyering  <jim@meyering.net>
88628
88629         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
88630         same value as for Solaris 9.
88631
88632         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
88633         component length.  This included changing the parameter to be
88634         of type `char *' rather than `char const *'.
88635         * lib/chdir-long.h (chdir_long): Update prototype.
88636
88637         * lib/openat.c (fdopendir, fstatat): New functions.
88638         * lib/openat.h: Include headers required for use of DIR and struct
88639         stat.
88640         [AT_SYMLINK_NOFOLLOW]: Define.
88641         (fdopendir, fstatat): Add prototypes.
88642
88643 2005-01-21  Bruno Haible  <bruno@clisp.org>
88644
88645         * modules/classpath: New file.
88646         * MODULES.html.sh (Java): Add classpath.
88647
88648 2005-01-21  Bruno Haible  <bruno@clisp.org>
88649
88650         * lib/classpath.h: New file, from GNU gettext.
88651         * lib/classpath.c: New file, from GNU gettext.
88652
88653 2005-01-20  Simon Josefsson  <jas@extundo.com>
88654
88655         * modules/version-etc-fsf: New file.
88656
88657 2005-01-20  Simon Josefsson  <jas@extundo.com>
88658
88659         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
88660         * lib/version-etc.c: Remove version_etc_copyright.
88661         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
88662         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
88663
88664 2005-01-20  Simon Josefsson  <jas@extundo.com>
88665
88666         * lib/base64.h (isbase64): Add.
88667
88668         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
88669         using a unsigned prototype, don't inline.
88670         (base64_decode): Use it.
88671
88672 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88673
88674         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
88675         it.
88676
88677 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88678
88679         * lib/save-cwd.c (save_cwd): Remove code to support the case
88680         where fchdir is missing or flaky.
88681
88682 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88683
88684         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
88685
88686 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
88687
88688         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
88689         AC_LIBSOURCES now does this.
88690         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
88691         with new ullong_max module.
88692
88693 2005-01-19  Bruno Haible  <bruno@clisp.org>
88694
88695         * modules/sh-quote: New file.
88696         * MODULES.html.sh (Executing programs): Add sh-quote.
88697
88698 2005-01-19  Bruno Haible  <bruno@clisp.org>
88699
88700         * lib/sh-quote.h: New file, from GNU gettext.
88701         * lib/sh-quote.c: New file, from GNU gettext.
88702
88703 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88704
88705         Merge from coreutils.
88706         * m4/ullong_max.m4: New file.
88707         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
88708         (gl_MACROS): Assume localeconv exists.
88709
88710 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88711
88712         Merge changes from coreutils, as described below in several
88713         changelogs dated today.
88714
88715         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
88716         (O_DIRECTORY): Remove; not needed here, since "." must be
88717         a directory.  All uses removed.
88718         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
88719         universal on Suns, and we also need to test for IRIX.
88720         Revamp code to use 'if' rather than '#if'.
88721         Avoid unnecessary comparison of cwd->desc to 0.
88722
88723         * lib/utimens.c (futimens): Robustify the previous patch, by checking
88724         for known valid error numbers rather than observed invalid ones.
88725
88726 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88727
88728         * modules/ullong_max: New file.
88729
88730         * modules/chdir-long, modules/openat: New files.
88731         * modules/save-cwd (Depends-on): Depend on chdir-long.
88732         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
88733
88734 2005-01-18  Jim Meyering  <jim@meyering.net>
88735
88736         Merge from coreutils.
88737         * m4/chdir-long.m4, m4/openat.m4: New files.
88738         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
88739         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
88740         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
88741         is sane and DOES follow symlinks.  Besides, testing 20 different
88742         systems found no broken chown implementations.
88743         Prompted by a change in rsync's copy of this macro.
88744         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
88745
88746         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
88747
88748         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
88749         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
88750         NULL-means-set-to-current-time semantics.
88751         Remove temporary file immediately, rather than waiting
88752         for configure's at-exit trap code to do it.
88753
88754 2005-01-18  Jim Meyering  <jim@meyering.net>
88755
88756         * lib/version-etc.c (version_etc_copyright): Update copyright date.
88757
88758         * lib/utimens.c (futimens): Account for the fact that futimes
88759         can also fail with errno == ENOSYS or errno == ENOENT.
88760         Patch from Dmitry V. Levin.
88761
88762         Change the name of the robust chdir function from chdir to chdir_long.
88763         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
88764         (restore_cwd): Use chdir_long, not chdir.
88765         * lib/chdir-long.c: Renamed from chdir.c.
88766         * lib/chdir-long.h: Renamed from chdir.h.
88767         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
88768         Hurd.
88769
88770 2005-01-18  Bruno Haible  <bruno@clisp.org>
88771
88772         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
88773         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
88774         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
88775         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
88776         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
88777         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
88778         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
88779         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
88780         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
88781         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
88782         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
88783         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
88784         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
88785         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
88786         Use an all-permissive copyright notice, recommended by RMS.
88787
88788 2005-01-18  Bob Proulx  <bob@proulx.com>
88789
88790         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
88791         simplify offsetof() macro construct to avoid compile failure with
88792         native HP-UX 11.0 ANSI C compiler.
88793
88794 2005-01-17  Bruno Haible  <bruno@clisp.org>
88795
88796         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
88797         redundant because stpncpy.m4 takes care of it.
88798
88799 2005-01-17  Bruno Haible  <bruno@clisp.org>
88800
88801         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
88802
88803 2005-01-17  Bruno Haible  <bruno@clisp.org>
88804
88805         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
88806         used.
88807
88808 2005-01-17  Bruno Haible  <bruno@clisp.org>
88809
88810         * lib/fwriteerror.h (fwriteerror): Change specification to include
88811         fclose.
88812         * lib/fwriteerror.c: Include <stdbool.h>.
88813         (fwriteerror): At the end, close the file stream. Record whether
88814         stdout was already closed.
88815
88816 2005-01-17  Bruno Haible  <bruno@clisp.org>
88817
88818         * lib/execute.c (environ): Declare if needed.
88819         * lib/pipe.c (environ): Likewise.
88820         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
88821
88822 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88823
88824         * modules/argp: Depend on vsnprintf
88825
88826 2005-01-10  Jim Meyering  <jim@meyering.net>
88827
88828         * modules/closeout (Depends-on): Add atexit.
88829
88830 2005-01-06  Bruno Haible  <bruno@clisp.org>
88831
88832         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
88833
88834 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
88835
88836         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
88837         definitions to be after all include files, to avoid collisions.
88838         Problem reported by Bob Proulx.
88839
88840 2005-01-04  Jim Meyering  <jim@meyering.net>
88841
88842         Changes imported from coreutils.
88843         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
88844         as the mkstemp template, use a temporary directory and an
88845         8.3-friendly template to avoid trouble on systems like DJGPP.
88846         Reported by Juan M. Guerrero via Stepan Kasal.
88847         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
88848         close. Remove the temporary directory right away, rather than waiting
88849         for configure's at-exit trap code to do it.
88850         Suggestion from Stepan Kasal.
88851
88852 2005-01-01  Simon Josefsson  <jas@extundo.com>
88853
88854         * gnulib-tool: Print #include directives when --import'ing.
88855
88856 2004-12-28  Simon Josefsson  <jas@extundo.com>
88857
88858         * tests/test-base64.c: Include required header files.  Remove
88859         unused variables.
88860
88861 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88862
88863         * modules/error (Depends-on): Remove gettext.
88864
88865 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88866
88867         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
88868         not needed.  This removes a dependency on the gettext module.
88869         [defined _LIBC]: Do not include <libintl.h>; not needed.
88870
88871 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88872
88873         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
88874         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
88875
88876 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88877
88878         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
88879         HAVE_DECL_STRTOLD.
88880
88881 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88882
88883         * modules/getdate (Depends-on): Remove alloca-opt.
88884
88885 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88886
88887         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
88888
88889 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88890
88891         * lib/argp-parse.c: Include <stddef.h>.
88892         (alignof, alignto): New macros.
88893         (parser_init): Don't assume that void * is aligned sufficiently
88894         for struct option.
88895
88896         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
88897         need to extend the stack.
88898         (YYINITDEPTH): New macro, so that the initial stack isn't overly
88899         large.
88900
88901 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88902
88903         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
88904
88905 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88906
88907         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
88908         (2004-10-24) change.  Apparently this was a false alarm.
88909
88910         * modules/getdate: Depend on alloca-opt, not alloca.
88911
88912 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88913
88914         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
88915         Remove now-obsolete comment about AIX.
88916         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
88917         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
88918         (YYMAXDEPTH): New macro.
88919
88920 2004-12-18  Simon Josefsson  <jas@extundo.com>
88921
88922         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
88923
88924 2004-12-18  Bruno Haible  <bruno@clisp.org>
88925
88926         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
88927
88928 2004-12-18  Bruno Haible  <bruno@clisp.org>
88929
88930         * lib/fatal-signal.c (fatal_signals): Make non-const.
88931         (init_fatal_signals): New function.
88932         (uninstall_handlers, install_handlers): Ignore signals that were set to
88933         SIG_IGN.
88934         (at_fatal_signal): Call init_fatal_signals.
88935         (init_fatal_signal_set): Likewise. Ignore signals that were set to
88936         SIG_IGN.
88937         Reported by Paul Eggert.
88938
88939 2004-12-18  Bruno Haible  <bruno@clisp.org>
88940
88941         * doc/alloca.texi: New file.
88942         * doc/alloca-opt.texi: New file.
88943
88944 2004-12-17  Jim Meyering  <jim@meyering.net>
88945
88946         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
88947         Otherwise, install-sh could exit with improper exit status when
88948         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
88949
88950 2004-12-16  Simon Josefsson  <jas@extundo.com>
88951
88952         * tests/test-base64.c: Add license.
88953
88954 2004-12-15  Stepan Kasal  <address@hidden>
88955
88956         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
88957
88958 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
88959
88960         * modules/getcwd (Files): Add m4/d-ino.m4.
88961         Suggested by Mark D. Baushke.
88962
88963 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88964
88965         * lib/getdate.y (textint): New member "negative".
88966         (time_zone_hhmm): New function.
88967         Expect 14 shift-reduce conflicts, not 13.
88968         (o_colon_minutes): New rule.
88969         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
88970         (yylex): Set the "negative" member of signed numbers.
88971
88972 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88973
88974         * doc/getdate.texi (Time of day items, Time zone items):
88975         Describe new formats +00:00, UTC+00:00.
88976
88977 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
88978
88979         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
88980         spurious "-l"s.  Problem reported by Stepan Kasal.
88981
88982 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
88983
88984         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
88985         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
88986
88987 2004-12-04  Simon Josefsson  <jas@extundo.com>
88988
88989         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
88990         Vandoorselaere <yoann@prelude-ids.org>.
88991
88992 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88993
88994         Changes imported from coreutils.
88995         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
88996         exist.
88997         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
88998
88999 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
89000
89001         Changes imported from coreutils.
89002         * lib/hard-locale.c: Assume <locale.h> exists.
89003         Include "strdup.h".
89004         (GLIBC_VERSION): New macro.
89005         (hard_locale): Assume setlocale exists.
89006         Rewrite to avoid #ifdef.
89007         Use strdup rather than malloc + strcpy.
89008         * lib/human.c: Assume <locale.h> exists.
89009         (human_readable): Assume localeconv exists.
89010
89011 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
89012
89013         * modules/hard-locale (Depends-on): Add strdup.
89014
89015 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
89016
89017         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
89018         convert T2, not T.  (Imported from libc.)
89019
89020 2004-11-30  Simon Josefsson  <jas@extundo.com>
89021
89022         * modules/restrict (License): Change to LGPL.
89023
89024 2004-11-30  Simon Josefsson  <jas@extundo.com>
89025
89026         * m4/restrict.m4: Add copyright and copying conditions.
89027
89028 2004-11-30  Simon Josefsson  <jas@extundo.com>
89029
89030         * m4/base64.m4: New file.
89031
89032 2004-11-30  Simon Josefsson  <jas@extundo.com>
89033
89034         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
89035         base64.
89036
89037         * tests/test-base64.c: New file.
89038
89039         * modules/base64: New file.
89040
89041 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
89042
89043         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
89044         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
89045
89046         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
89047
89048 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
89049
89050         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
89051         (__getcwd.c): Don't restore errno; glibc doesn't.
89052         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
89053         first, falling back to our code only if its results look suspicious.
89054         Ensure that the resulting buffer is only as large as necessary.
89055
89056         * lib/readutmp.c: Include readutmp.h first.
89057         Include <errno.h>, since readutmp.h no longer does that.
89058         * lib/readutmp.h: Don't include <errno.h>,
89059         <sys/param.h>, <time.h>; not needed to establish interface.
89060         (errno): Remove decl.
89061         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
89062         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
89063         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
89064
89065 2004-11-28  Simon Josefsson  <jas@extundo.com>
89066
89067         * lib/base64.h, base64.c: New file.
89068
89069 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
89070
89071         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
89072
89073 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
89074
89075         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
89076         (Depends-on): Remove pathmax, same.  Add mempcpy.
89077         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
89078         (Makefile.am): Append getcwd.h to lib_SOURCES.
89079         (Include): Add getcwd.h.
89080         (Maintainer): Change from Jim Meyering to "all, glibc",
89081         since getdate now uses intended-for-glibc code.
89082         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
89083         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
89084
89085 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
89086
89087         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
89088         HP's ANSI C compiler.
89089         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
89090         Declaring int functions causes warnings on some modern systems and
89091         shouldn't be needed to compile on ancient ones.
89092         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
89093         defined.
89094
89095         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
89096         with the following changes.
89097         (__set_errno): Parenthesize properly.
89098         Include <stdbool.h>.
89099         (MIN, MAX, MATCHING_INO): New macros.
89100         (__getcwd): Define with prototype, not K&R form.
89101         Use heuristics to allocate default buffer on stack if possible.
89102         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
89103         behavior, and to avoid the PATH_MAX limit when computing
89104         ../../../../...
89105         Use MATCHING_INO to compare inode number to file.
89106         Check for arithmetic overflow in size calculations.
89107         Fix bug in reallocation of dot array that caused getcwd to fail
89108         on directories nested deeper than 75.
89109         Be more careful about saving errno on error.
89110         Do not use realloc; use only free+malloc, as this is a bit
89111         more flexible and avoids a needless copy operation.
89112         Do not inspect st_dev and st_ino for symbolic links; POSIX
89113         doesn't specify the latter.
89114         Check for closedir errors.
89115         Avoid needless casts.
89116         Use "#ifdef weak_alias" around weak_alias, to be like other
89117         glibc code.
89118         The following changes to getcwd.c have effect only when used in
89119         gnulib; they have no effect inside glibc proper.
89120         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
89121         as alloca isn't used.
89122         (alloca, __alloca): Likewise.
89123         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
89124         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
89125         unconditionally, as gnulib assumes C89 or better.
89126         Do not include <sys/param.h>.
89127         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
89128         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
89129         better.
89130         (NULL) [!defined NULL]: Remove; we assume C89 or better.
89131         Include <dirent.h> in a way that is compatible with modern Autoconf.
89132         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
89133         New macros, if not already defined.
89134         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
89135         Use "_LIBC", not "defined _LIBC", for consistency.
89136         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
89137         a mempcpy module.
89138         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
89139         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
89140         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
89141         credit only to Jim Meyering and adjust the copyright dates.
89142         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
89143         <stdlib.h>, <unistd.h>, "pathmax.h".
89144         Instead, include "xgetcwd.h" (first) and "getcwd.h".
89145         (INITIAL_BUFFER_SIZE): Remove.
89146         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
89147
89148 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
89149
89150         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
89151         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
89152         Use the _ONCE methods, for efficiency.
89153         Check for fcntl.h.  In test program, include <errno.h>
89154         and <fcntl.h> if available.  Remove old K&R cruft from
89155         test program.  Check for common errors in GNU/Linux,
89156         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
89157         don't do AC_LIBOBJ, as that's getcwd.m4's job.
89158         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
89159         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
89160         name accordingly.
89161         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
89162         accommodate new getcwd.c.
89163         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
89164         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
89165         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
89166         that's all we need now.
89167
89168 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89169
89170         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
89171         argp-parse.c depends on getopt internals, that means we should
89172         always use our getopt, to be on the safe side.
89173         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
89174         order not to spoil the result of an eventual previous invocation
89175         of gl_GETOPT_SUBSTITUTE.
89176
89177 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89178
89179         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
89180         redefinition warnings. To avoid them, include the defines
89181         in `#if !defined __need_getopt ... #endif'. The only place
89182         where __getopt_argv_const is used is in definitions
89183         of getopt_long and getopt_long_only below, which are as well
89184         protected by `#ifndef __need_getopt'.
89185         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
89186         __need_getopt after including <stdio.h> and <unistd.h> These
89187         headers might have defined it.
89188
89189 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
89190
89191         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
89192
89193 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
89194
89195         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
89196         (futimens): New function, which uses futimes if available.
89197         (futimens, utimens): Support timespec==NULL, with same semantics
89198         as utime and utimens.
89199         * lib/utimens.h (futimens): New decl.
89200
89201 2004-11-23  Jim Meyering  <jim@meyering.net>
89202
89203         * lib/getopt_.h: Remove trailing blanks.
89204
89205 2004-11-23  Jim Meyering  <jim@meyering.net>
89206
89207         * lib/__fpending.c: Add comment.
89208
89209 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
89210
89211         * modules/canonicalize (Depends-on): Add xreadlink.
89212         Problem reported by James Youngman.
89213
89214 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
89215
89216         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
89217         New macros.
89218         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
89219         optopt): Use them instead of invoking ## directly; otherwise, the
89220         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
89221
89222 2004-11-19  Bruno Haible  <bruno@clisp.org>
89223
89224         * lib/strtok_r.c: Move comments from here...
89225         * lib/strtok_r.h: ... to here.
89226
89227 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
89228
89229         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
89230         implementations that mishandle size_t overflow.
89231
89232 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
89233
89234         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
89235         might fail.  Problem reported by Yoann Vandoorselaere.
89236         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
89237         implementations that mishandle size_t overflow.
89238
89239 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89240
89241         * modules/canon-host (Depends-on): Add strdup.
89242
89243 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89244
89245         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
89246
89247 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89248
89249         * lib/canon-host.c: Include "strdup.h".
89250         (canon_host): Use getaddrinfo if available, so that IPv6 works.
89251         Use strdup instead of malloc/strcpy to duplicate strings.
89252
89253         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
89254         (human_space_before_unit): New constant.
89255         * lib/human.c (human_readable): Support it.
89256
89257         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
89258         (xgetcwd): Set errno correctly when failing.
89259         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
89260         the failure is actually due to a PATH_MAX problem.
89261
89262         Further getopt changes to make it more likely that glibc will
89263         buy the changes back.
89264         * lib/getopt.c (POSIXLY_CORRECT): New constant.
89265         (getopt): Use it, so to preserve glibc semantic
89266         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
89267         when compiling for libc.
89268         * lib/getopt_.h (__getopt_argv_const): Bring it back.
89269         (getopt_long, getopt_long_only): Use it.
89270
89271         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
89272         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
89273         (getopt): Argv is now char * const *, as per standard.
89274         (_getopt_internal_r, _getopt_internal): Argv is now char **,
89275         not char *__getopt_argv_const *.
89276         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
89277         _getopt_long_only_r): Likewise.
89278         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
89279         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
89280         _getopt_long_r, _getopt_long_only_r): Likewise.
89281         * lib/getopt_.h (__getopt_argv_const): Remove.
89282         (getopt): Argv is now char * const *, as per standard.
89283
89284         * lib/getdate.y (tORDINAL): New token.
89285         (day, relunit): Allow it for relative times.
89286         (relative_time_table): Use tORDINAL for ordinals.
89287
89288 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89289
89290         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
89291         Document that "second" isn't allowed as an ordinal number.
89292
89293 2004-11-16  Jim Meyering  <jim@meyering.net>
89294
89295         * modules/closeout (Depends-on): Add fpending.
89296
89297 2004-11-15  Jim Meyering  <jim@meyering.net>
89298
89299         * lib/closeout.c: Include "__fpending.h" once again.
89300         Include <stdbool.h>.
89301         (close_stdout): Don't fail just because stdout was closed initially,
89302         since some programs don't write to stdout in the normal course of
89303         operation (other than --version and --help), and we don't want this
89304         function to make e.g. `touch file >&-' fail.
89305         But do fail if it was closed and someone has tried to write to it.
89306         E.g., `printf foo >&-' must fail.
89307
89308 2004-11-13  Jim Meyering  <jim@meyering.net>
89309
89310         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
89311
89312 2004-11-12  Simon Josefsson  <jas@extundo.com>
89313
89314         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
89315         small doc fix is still pending.
89316
89317 2004-11-11  Simon Josefsson  <jas@extundo.com>
89318
89319         * modules/strtok_r: New file.
89320
89321         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89322         strtok_r.
89323
89324 2004-11-11  Simon Josefsson  <jas@extundo.com>
89325
89326         * m4/strtok_r.m4: New file.
89327
89328         * m4/getopt.m4: Replace opterr.
89329
89330 2004-11-11  Simon Josefsson  <jas@extundo.com>
89331
89332         * lib/strtok_r.h, strtok_r.c: New file.
89333
89334 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
89335
89336         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
89337         of replacing opterr, getopt, etc.  This should handle the
89338         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
89339
89340 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
89341
89342         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
89343         we can stop lying to compilers about the constness of argv when we
89344         are compiled outside glibc.
89345         (getopt, getopt_long, getopt_long_only): Use it.
89346         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
89347         _getopt_internal, getopt): Likewise.
89348         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
89349         _getopt_long_only_r): Likewise.
89350         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
89351         _getopt_long_r, _getopt_long_only_r): Likewise.
89352
89353         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
89354         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
89355         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
89356         the other external symbols.
89357         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
89358         declaration, since the above renaming now works around collisions.
89359
89360 2004-11-11  Jim Meyering  <jim@meyering.net>
89361
89362         * lib/linebreak.c: Remove trailing blanks.
89363         * lib/alloca_.h: Likewise.
89364         * lib/acosl.c: Likewise.
89365         * lib/euidaccess.c: Likewise.
89366         * lib/allocsa.h: Likewise.
89367
89368 2004-11-10  Simon Josefsson  <jas@extundo.com>
89369
89370         * m4/getaddrinfo.m4: New file.
89371
89372 2004-11-10  Simon Josefsson  <jas@extundo.com>
89373
89374         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
89375
89376 2004-11-10  Simon Josefsson  <jas@extundo.com>
89377
89378         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89379         getaddrinfo.
89380
89381         * modules/getaddrinfo: New file.
89382
89383 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
89384
89385         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
89386
89387 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
89388
89389         * lib/mktime.c (SHR): New macro, which is a portable
89390         substitute for >> that should work even on Crays.
89391         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
89392         Problem reported by Mark D. Baushke in
89393         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
89394         * lib/getdate.y (SHR): Likewise.
89395         (tm_diff): Use it.
89396         * lib/strftime.c (SHR): Likewise.
89397         (tm_diff): Use it.
89398         * lib/quotearg.c (struct quoting_options): Use unsigned int for
89399         quote_these_too, so that right shifts are well defined.  All uses
89400         changed.
89401
89402 2004-11-10  Jim Meyering  <jim@meyering.net>
89403
89404         Ensure that no close failure goes unreported.
89405         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
89406         return early when it seems there's nothing to flush.
89407         Don't include __fpending.h.
89408
89409 2004-11-10  Jim Meyering  <jim@meyering.net>
89410
89411         * modules/closeout (Depends-on): Remove fpending.
89412
89413 2004-11-10  Jim Meyering  <jim@meyering.net>
89414
89415         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
89416
89417 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89418
89419         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
89420         gl_FUNC_STRFTIME.
89421         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
89422         and AC_REQUIRE when possible, to avoid duplicate checks.
89423         Check for <wchar.h>.
89424
89425 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89426
89427         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
89428
89429 2004-11-09  Bruno Haible  <bruno@clisp.org>
89430
89431         * m4/sockpfaf.m4: New file.
89432
89433 2004-11-05  Bruno Haible  <bruno@clisp.org>
89434
89435         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
89436         Reported by Mark D. Baushke <mdb@cvshome.org>.
89437
89438 2004-11-04  Bruno Haible  <bruno@clisp.org>
89439
89440         2004-09-11  Bruno Haible  <bruno@clisp.org>
89441                 * allocsa.valgrind: New file.
89442         2004-02-06  Bruno Haible  <bruno@clisp.org>
89443                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
89444                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
89445                 Reported by Christopher Seip <chris.seip@hp.com>.
89446
89447 2004-11-04  Bruno Haible  <bruno@clisp.org>
89448
89449         * modules/allocsa (Files): Add lib/allocsa.valgrind.
89450         (Makefile.am): Distribute it.
89451
89452 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
89453
89454         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
89455         with errno == ERANGE if the buffer is too small.
89456         Problem reported by Mark D. Baushke.
89457
89458 2004-11-03  Albert Chin  <china@thewrittenword.com>
89459             Paul Eggert  <eggert@cs.ucla.edu>
89460
89461         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
89462         equivalent, substitute $ac_type for equivalent type rather than
89463         blindly using uint32_t *always* which won't work if uint32_t is not
89464         available.  Define _UINT32_T to work around typedef of uint32_t if
89465         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
89466         2.5.1.
89467
89468 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89469
89470         * m4/jm-macros.m4: Sync from coreutils.
89471         (gl_MACROS): Check for mbrlen, for pathchk.
89472         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
89473
89474 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89475
89476         * lib/xreadlink.c (MAXSIZE): New macro.
89477         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
89478         size does not exceed MAXSIZE.  Avoid cast.
89479         As suggested by Mark D. Baushke in
89480         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
89481         if readlink fails with buffer size just under MAXSIZE, try again
89482         with MAXSIZE.
89483
89484 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89485
89486         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
89487
89488 2004-11-02  Derek R. Price  <derek@ximbiot.com>
89489         and  Paul Eggert  <eggert@cs.ucla.edu>
89490
89491         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
89492         (get_date): Overparenthesize to avoid GCC warning.
89493
89494 2004-11-02  Bruno Haible  <bruno@clisp.org>
89495
89496         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
89497         returns void.
89498
89499 2004-11-02  Bruno Haible  <bruno@clisp.org>
89500
89501         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
89502         function returns void.
89503
89504 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
89505
89506         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
89507         fflush_unlocked, flockfile, funlockfile, funlockfile,
89508         fputs_unlocked, putc_unlocked.
89509
89510 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
89511
89512         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
89513         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
89514         already declared.
89515
89516 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89517
89518         * modules/getdate (Files): Add doc/getdate.texi.
89519         (Depends-on): Add setenv, xalloc.
89520
89521 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89522
89523         * lib/getdate.y: Add support for TZ="foo" within a date string.
89524         Fix some bugs near time_t boundaries.  Reject dates with
89525         out-of-range components, e.g., "Sept 31".
89526         Include <stdlib.h>, "setenv.h", "xalloc.h".
89527         (ISDIGIT_LOCALE): Remove; unused.
89528         Note that the TZ and time functions used here are not reentrant.
89529         (mktime_ok, get_tz): New functions.
89530         (TZBUFSIZE): New constant.
89531         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
89532         This requires that we sometimes generate our own TZ="XXX..." setting.
89533
89534 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89535
89536         * doc/getdate.texi: New file, from coreutils with modifications for
89537         the new TZ parsing.
89538
89539 2004-10-27  Derek R. Price  <derek@ximbiot.com>
89540
89541         * lib/mktime.c (not_equal_tm): Remove redundant check.
89542
89543 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
89544
89545         * modules/regex (lib_SOURCES): Add regex.c.
89546         Reported by James Youngman in
89547         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
89548
89549 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
89550
89551         * lib/getdate.y: Use Bison 1.875 features, and some minor
89552         code cleanups.  This change does not affect semantics.
89553         Don't include <stdlib.h>; no longer needed.
89554         Don't include unlocked-io.h; only the "#if TEST" code uses
89555         stdio, and performance isn't crucial there.
89556         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
89557         Bison 1.875 features as described below.
89558         All uses of "PC." replaced by "pc->".
89559         (YYSTYPE): Add a forward declaration.
89560         (yylex, yyerror): Use full prototypes in forward decls.
89561         Use "%pure-parser" rather than obsolescent "%pure_parser".
89562         Use %parse-param and %lex-param instead of obsolescent
89563         YYPARSE_PARAM and YYLEX_PARAM.
89564         (meridian_table, month_and_day_table, time_units_table,
89565         relative_time_table, time_zone_table, military_table,
89566         lookup_zone, lookup_word, get_date):
89567         Use NULL instead of 0 where appropriate.
89568         (to_hour): Avoid abort (), to avoid a dependency on
89569         stdlib.h.
89570         (yyerror, yylex): Now accepts parser_control * arg.
89571         (main) [TEST]: Use '\0' rather than 0 for char.
89572
89573 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89574
89575         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
89576
89577 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89578
89579         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
89580         It's now the caller's responsibility to handle the case where
89581         !HAVE_GETPAGESIZE && !defined getpagesize.
89582
89583         * lib/mktime.c (leapyear): Arg is long int, not int.
89584
89585 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
89586
89587         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
89588
89589 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
89590
89591         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
89592         missing.  Problem reported by James Youngman.
89593
89594 2004-10-16  Simon Josefsson  <jas@extundo.com>
89595
89596         * gnulib-tool: Fix comments.  Fix parse problem.
89597         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
89598
89599 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
89600
89601         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
89602         implementation of getopt_long.  Problem reported by Alexander Taler in:
89603         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
89604
89605 2004-10-15  Bruno Haible  <bruno@clisp.org>
89606
89607         * gnulib-tool: Untabify. Initialize supplied_libname.
89608         (func_usage): More homogenous output.
89609         (func_modules_transitive_closure, func_modules_to_filelist,
89610         func_emit_lib_Makefile_am): New functions.
89611         (func_import): New function, extracted from big case statement. Use
89612         func_get_license, func_modules_transitive_closure,
89613         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
89614         opt_lgpl. Don't use test -a, as it's not portable.
89615         (func_create_testdir): Use func_modules_transitive_closure,
89616         func_modules_to_filelist, func_emit_lib_Makefile_am.
89617
89618 2004-10-15  Bruno Haible  <bruno@clisp.org>
89619
89620         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
89621
89622 2004-10-15  Bruno Haible  <bruno@clisp.org>
89623
89624         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
89625         the portions belonging to each module.
89626         Suggested by Derek Robert Price <derek@ximbiot.com>.
89627
89628 2004-10-12  Simon Josefsson  <jas@extundo.com>
89629
89630         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
89631         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
89632         to real functions.
89633
89634 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89635
89636         * modules/vsnprintf: New file.
89637
89638 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89639
89640         * m4/vsnprintf.m4: New file.
89641
89642 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89643
89644         * lib/vsnprintf.h: New file.
89645         * lib/vsnprintf.c: New file.
89646
89647 2004-10-11  Bruno Haible  <bruno@clisp.org>
89648
89649         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
89650         vsnprintf.
89651
89652 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
89653
89654         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
89655
89656 2004-10-07  Bruno Haible  <bruno@clisp.org>
89657
89658         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
89659         fits into the provided buffer.
89660
89661 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
89662
89663         * lib/diacrit.c, diacrit.h: Add GPL notice.
89664
89665         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
89666         notice.
89667         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
89668         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
89669         This avoids a potential constant-folding bug.
89670
89671 2004-10-05  Bruno Haible  <bruno@clisp.org>
89672
89673         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
89674         for the declaration of strsep.
89675
89676 2004-10-05  Bruno Haible  <bruno@clisp.org>
89677
89678         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
89679
89680 2004-10-04  Simon Josefsson  <jas@extundo.com>
89681
89682         * modules/memmem: New file.
89683         * tests/test-memmem.c: New file.
89684         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
89685
89686 2004-10-04  Simon Josefsson  <jas@extundo.com>
89687
89688         * m4/memmem.m4: New file.
89689
89690 2004-10-04  Simon Josefsson  <jas@extundo.com>
89691
89692         * lib/memmem.h: New file.
89693         * lib/memmem.c: New file, taken from glibc.
89694
89695 2004-10-04  Simon Josefsson  <jas@extundo.com>
89696
89697         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
89698         '#ifdef USE_UNLOCKED_IO'.
89699
89700 2004-10-04  Simon Josefsson  <jas@extundo.com>
89701
89702         * config/srclist.txt: Add memmem from glibc.
89703
89704 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89705
89706         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
89707
89708         * modules/argmatch, modules/argp, modules/closeout, modules/error,
89709         modules/exclude, modules/getdate, modules/getline,
89710         modules/getndelim2, modules/getpass, modules/getpass-gnu,
89711         modules/getusershell, modules/linebuffer, modules/md5,
89712         modules/mountlist, modules/posixtm, modules/readtokens,
89713         modules/readutmp, modules/regex, modules/sha1,
89714         modules/version-etc, modules/yesno:
89715         Remove dependency on unlocked-io.
89716
89717 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89718
89719         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
89720
89721         * m4/unlocked-io.m4: Add copyright notice.
89722         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
89723
89724 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89725
89726         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
89727         * lib/xmalloc.c (xmemdup): Likewise.
89728         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
89729         XFREE): Remove these long-obsolescent macros.
89730         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
89731         * lib/xstrdup.c: Remove.
89732
89733         * lib/regex.c (re_comp): Cast gettext return value to char *,
89734         Problem reported by Martin Neitzel via Mark D. Baushke.
89735
89736 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89737
89738         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
89739         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
89740         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
89741         regex.c, sha1.c, version-etc.c, yesno.c:
89742         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
89743         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
89744         the includer's responsibility.
89745
89746         Sync from coreutils.
89747
89748         * lib/modechange.c (mode_compile): Don't decrement a pointer that
89749         points to the start of a string, as the C Standard says the
89750         resulting behavior is undefined.
89751
89752         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
89753         simple -> simple_backups, numbered_existing ->
89754         numbered_existing_backups, numbered -> numbered_backups
89755         to avoid shadowing problems.  All uses changed.
89756         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
89757         * lib/backupfile.c (check_extension, numbered_backup):
89758         Rename locals to avoid shadowing 'basename'.
89759         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
89760         once.
89761
89762         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
89763         * lib/.cvsignore: Add getopt.h.
89764
89765 2004-10-04  Bruno Haible  <bruno@clisp.org>
89766
89767         * modules/README: New file.
89768         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
89769         not a module.
89770
89771 2004-10-02  Jim Meyering  <jim@meyering.net>
89772
89773         * lib/dirfd.h, getpagesize.h: Add copyright notice.
89774
89775 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89776
89777         * modules/strsep: New file.
89778
89779 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89780
89781         * m4/strsep.m4: New file.
89782
89783 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89784
89785         * lib/strsep.h: New file.
89786         * lib/strsep.c: New file.
89787
89788 2004-10-01  Simon Josefsson  <jas@extundo.com>
89789
89790         * lib/snprintf.c (snprintf): Handle size==0.
89791
89792 2004-10-01  Simon Josefsson  <jas@extundo.com>
89793             Bruno Haible  <bruno@clisp.org>
89794
89795         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
89796         (snprintf): Declare 'args'.
89797
89798 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
89799
89800         * lib/snprintf.c: Remove comments as to why each header is needed.
89801
89802 2004-10-01  Bruno Haible  <bruno@clisp.org>
89803
89804         * MODULES.html.sh: Add strsep.
89805
89806 2004-09-30  Simon Josefsson  <jas@extundo.com>
89807
89808         * modules/snprintf: New file.
89809
89810 2004-09-30  Simon Josefsson  <jas@extundo.com>
89811
89812         * m4/snprintf.m4: New file.
89813
89814 2004-09-30  Simon Josefsson  <jas@extundo.com>
89815
89816         * lib/snprintf.h, lib/snprintf.c: New files.
89817
89818 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89819
89820         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
89821         (hol_entry_help): Never translate an empty string.
89822         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
89823         * lib/argp.h (OPTION_NO_TRANS): New option.
89824
89825 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89826
89827         * modules/argp (Maintainer): Replace Simon Josefsson
89828         by Sergey Poznyakoff.
89829
89830 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89831
89832         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
89833         changes merged back into glibc.
89834
89835 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89836
89837         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
89838
89839 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
89840
89841         * lib/xvasprintf.c: Include xalloc.h.
89842         (xvasprintf): Use xalloc_die, not xmalloc_die.
89843
89844 2004-09-29  Bruno Haible  <bruno@clisp.org>
89845
89846         * modules/alloca-opt: New file, derived from modules/alloca.
89847         * modules/allocsa: Depend on alloca-opt instead of alloca.
89848         * modules/setenv: Likewise.
89849         * modules/vasnprintf: Likewise.
89850         * MODULES.html.sh: Add alloca-opt.
89851
89852 2004-09-28  Simon Josefsson  <jas@extundo.com>
89853
89854         * gnulib-tool: New parameter --lgpl, to asseert that modules are
89855         LGPL, and to replace license template from GPL to LGPL.
89856
89857 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89858
89859         * modules/dummy: Change license to LGPL.
89860
89861 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89862
89863         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
89864
89865 2004-09-24  Simon Josefsson  <jas@extundo.com>
89866
89867         * modules/minmax (License): Change from GPL to LGPL.
89868
89869 2004-09-23  Simon Josefsson  <jas@extundo.com>
89870
89871         * gnulib-tool (--import): Typo.
89872
89873 2004-09-23  Simon Josefsson  <jas@extundo.com>
89874
89875         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
89876
89877 2004-09-22  Bruno Haible  <bruno@clisp.org>
89878
89879         * modules/*: Add 'License' field.
89880         * gnulib-tool: Accept --extract-license option.
89881         (func_get_license): New function.
89882
89883 2004-09-21  Bruno Haible  <bruno@clisp.org>
89884
89885         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
89886         Reported by Simon Josefsson.
89887
89888 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89889
89890         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
89891         gl_AC_TYPE_LONG_LONG.
89892
89893 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89894
89895         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
89896
89897 2004-09-18  Simon Josefsson  <jas@extundo.com>
89898         and  Paul Eggert  <eggert@cs.ucla.edu>
89899
89900         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
89901         calls with autoreconf.  Define GL_LIB.
89902
89903 2004-09-14  Karl Berry  <karl@gnu.org>
89904
89905         * config/srclist.txt: unsync setenv.c, sigh.
89906
89907 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89908
89909         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
89910         Problem reported by Bruno Haible in:
89911         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
89912
89913 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89914
89915         * config/srclist.txt: Comment out argp-pvh.c.
89916
89917 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
89918
89919         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
89920         in case some system header has #define'd it.  Problem reported by
89921         Soeren D. Schulze in
89922         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
89923
89924 2004-09-09  Karl Berry  <karl@gnu.org>
89925
89926         * regex.[ch]: delete from the root.  These were supposed to be
89927                 synced with emacs cvs, but this has not happened for about
89928                 a year, and anyway nothing else uses emacs regex.[ch].
89929                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
89930                 lib/regex[.ch] is untouched.
89931
89932 2004-09-09  Bruno Haible  <bruno@clisp.org>
89933
89934         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
89935
89936 2004-09-09  Bruno Haible  <bruno@clisp.org>
89937
89938         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
89939         modifications.
89940         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
89941
89942 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89943
89944         * modules/xvasprintf: New file.
89945         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
89946
89947 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89948
89949         * lib/xvasprintf.h: New file.
89950         * lib/xvasprintf.c: New file.
89951         * lib/xasprintf.c: New file.
89952
89953 2004-09-08  Bruno Haible  <bruno@clisp.org>
89954
89955         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
89956
89957 2004-09-08  Bruno Haible  <bruno@clisp.org>
89958
89959         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
89960         length is > INT_MAX.
89961         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
89962         more.
89963
89964 2004-09-08  Bruno Haible  <bruno@clisp.org>
89965
89966         * lib/stdint_.h: New file, taken from GNU clisp.
89967
89968 2004-09-08  Bruno Haible  <bruno@clisp.org>
89969             Oskar Liljeblad  <oskar@osk.mine.nu>
89970
89971         * modules/stdint: New file.
89972         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
89973
89974 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89975
89976         Import from coreutils.
89977         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
89978         strings on unbounded length.  alloca's performance benefits aren't
89979         that important here.
89980         (V_STRDUP): Remove.
89981         (parse_with_separator): New function, with most of the internals
89982         of the old parse_user_spec.  Allow user to omit both user and group,
89983         for compatibility with FreeBSD.
89984         Clone only the user name, not the entire spec.
89985         Do not set *uid, *gid unless entirely successful.
89986         Avoid memory leak in some failing cases.
89987         Fix regression for USER.GROUP reported by Dmitry V. Levin in
89988         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
89989         (parse_user_spec): Rewrite to use parse_with_separator.
89990
89991 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89992
89993         * modules/userspec: Don't depend on alloca.
89994
89995 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89996
89997         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
89998
89999 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
90000
90001         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
90002         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
90003         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
90004
90005 2004-08-16  Simon Josefsson  <jas@extundo.com>
90006
90007         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
90008         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
90009         Add --dry-run for --import.
90010         Let user provided command line parameters override configure.ac
90011         settings.
90012
90013 2004-08-12  Simon Josefsson  <jas@extundo.com>
90014
90015         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
90016         as discussed with Paul Eggert in threads rooted at
90017         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
90018         and
90019         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
90020         Before, the test was empty, and relied on ELIDE_CODE in source
90021         code.)
90022         (gl_PREREQ_GETOPT): New macro.
90023         (gl_GETOPT): Use them.
90024
90025 2004-08-12  Simon Josefsson  <jas@extundo.com>
90026
90027         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
90028         * lib/getopt_.h: Renamed from getopt.h.
90029
90030 2004-08-12  Simon Josefsson  <jas@extundo.com>
90031
90032         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
90033         Change default library name from libfoo to libgnu.
90034         Now, if you have a configure.ac that says:
90035                 gl_SOURCE_BASE(gl)
90036                 gl_M4_BASE(gl/m4)
90037                 gl_MODULES(error getopt etcetera)
90038                 gl_INIT
90039         you can import all you need by running:
90040                 ../gnulib/gnulib-tool --import
90041
90042         * modules/getopt (Files): Rename getopt.h to getopt_.h.
90043         (Makefile.am): Rewrite, use logic from argz.
90044         (Include): Use <getopt.h> instead of "getopt.h".
90045
90046 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
90047
90048         * modules/argp (Files): Add m4/unlocked-io.m4.
90049         (Depends-on): Add extensions.
90050
90051 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
90052
90053         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
90054         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
90055         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
90056         Check for program_invocation_name, program_invocation_short_name,
90057         flockfile, funlockfile, features.h, _getopt_long_only_r.
90058
90059 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
90060
90061         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
90062         its complicated substitute.
90063         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
90064         and program_invocation_name.
90065         (__argp_basename) [!_LIBC]: Remove; the only use was
90066         replaced by its body.
90067         (__argp_short_program_name): Change condition from
90068         !defined __argp_short_program_name to
90069         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
90070         to match argp-namefrob.h.
90071         (__argp_failure): Don't assume strerror_r returns char *.
90072         * lib/argp-parse.c (N_): Define unconditionally.
90073         (argp_default_options): Fill out initializers with 0 to avoid
90074         gcc warnings.
90075
90076 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
90077
90078         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
90079         getopt1.c.
90080
90081 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
90082
90083         Merge from coreutils.
90084
90085         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
90086
90087         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
90088         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
90089
90090 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
90091
90092         Merge from coreutils.
90093
90094         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
90095         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
90096         for Reliant Unix 5.43.
90097
90098         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
90099         (union fooround): Use uintmax_t, not long int.
90100         The rest is a merge from libc:
90101         [defined _LIBC]: Include <shlib-compat.h>.
90102         (_obstack) [defined _LIBC]: Remove after 2.3.4.
90103
90104         * lib/settime.c (settime): Recode to avoid warning with
90105         Sun Forte C 6U2.
90106
90107         * lib/strverscmp.c: Convert to UTF-8.
90108
90109 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
90110
90111         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
90112         m4/uintmax_t.m4.
90113
90114 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
90115
90116         * modules/xalloc-die: New file.
90117         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
90118
90119         * modules/md5 (Files): Add m4/uint32_t.m4.
90120         * modules/sha1: Renamed from modules/sha.
90121         (Files):
90122         Rename lib/sha.h to lib/sha1.h.
90123         Rename lib/sha.c to lib/sha1.c.
90124         Rename m4/sha.m4 to m4/sha1.m4.
90125         (lib_SOURCES): Likewise.
90126         (configure.ac): Rename gl_SHA to gl_SHA1.
90127         (Include): sha.h -> sha1.h.
90128
90129 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
90130
90131         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
90132         * m4/sha1.m4: Renamed from sha.m4.
90133         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
90134
90135 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
90136
90137         * lib/obstack.h (obstack_empty_p):
90138         Don't assume that chunk->contents is suitably aligned.
90139         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
90140         Likewise. Problem reported by Benno in
90141         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
90142
90143         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
90144         readable.  This could be improved further but it'd take some work.
90145
90146 2004-08-08  Simon Josefsson  <jas@extundo.com>
90147
90148         * modules/xgethostname (Depends-on): Remove exit and error (not
90149         used).
90150
90151         * modules/getpass-gnu: Add getpass.h.
90152         (Depends-on): Add stdbool.
90153         * modules/getpass: Add getpass.h.
90154
90155 2004-08-08  Simon Josefsson  <jas@extundo.com>
90156
90157         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
90158         Check getpass declaration.
90159
90160 2004-08-08  Simon Josefsson  <jas@extundo.com>
90161
90162         * lib/xgethostname.c: Don't include error.h (not used).
90163
90164         * lib/getpass.h: Add.
90165         * lib/getpass.c: Include getpass.h first.
90166
90167 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
90168
90169         * lib/xalloc-die.c: New file.
90170         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
90171         All uses removed.
90172         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
90173         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
90174         xalloc-die.c.
90175         (_, N_, xalloc_die): Move to xalloc-die.c.
90176         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
90177         so that we needn't mess with xalloc_msg_memory_exhausted.
90178
90179         * lib/sha1.h: Renamed from sha.h.
90180         (SHA1_H): Renamed from _SHA_H.
90181         (sha1_ctx): Renamed from sha_ctx.
90182         (sha1_init_ctx): Renamed from sha_init_ctx.
90183         (sha1_process_block): Renamed from sha_process_block.
90184         (sha1_process_bytes): Renamed from sha_process_bytes.
90185         (sha1_finish_ctx): Renamed from sha_finish_ctx.
90186         (sha1_read_ctx): Renamed from sha_read_ctx.
90187         (sha1_stream): Renamed from sha_stream.
90188         (sha1_buffer): Renamed from sha_buffer.
90189         * lib/sha1.c: Likewise; renamed from sha.c.
90190         Do not include <sys/types.h>.
90191         Include <stddef.h> rather than <stdlib.h>.
90192
90193 2004-08-08  Bruno Haible  <bruno@clisp.org>
90194
90195         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
90196         FILESYSTEM_PREFIX_LEN.
90197         * lib/progreloc.c: Likewise.
90198         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
90199
90200 2004-08-06  Simon Josefsson  <jas@extundo.com>
90201
90202         * modules/progname (Depends-on): Don't depend on stdbool.
90203
90204 2004-08-06  Simon Josefsson  <jas@extundo.com>
90205
90206         * modules/getsubopt: New file.
90207         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
90208         getsubopt.
90209
90210 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
90211
90212         More merge from coreutils.
90213
90214         * m4/utimens.m4, m4/utimecmp.m4: New files.
90215         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
90216         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
90217         prereq.m4, sha.m4: Import changes from coreutils.
90218
90219 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
90220
90221         More merge from coreutils.
90222         * modules/raise, modules/readtokens0, modules/utimens:
90223         * modules/utimecmp, module/xnanosleep: New files.
90224         * modules/strftime: Add lib/strftime.h.
90225         Change include from <time.h> to "strftime.h".
90226         * modules/yesno: Add lib/yesno.h.
90227         * modules/backupfile: Remove lib/addext.c.
90228         * modules/euidaccess: Add stat-macros.h.
90229         * modules/canonicalize, modules/euidaccess,
90230         modules/filemode, modules/lchown, modules/makepath,
90231         modules/rmdir, modules/stat: Likewise.
90232
90233 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
90234
90235         Merge from tar.
90236         * lib/argp-help.c (make_hol, hol_append): Don't assume that
90237         SIZE_MAX is a valid preprocessor constant.
90238         (__argp_basename): Change from "#ifndef _LIBC"
90239         to "#ifndef __argp_short_program_name", so that
90240         we don't compile these functions for tar.
90241
90242         More merges from coreutils.
90243         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
90244         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
90245         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
90246         * lib/addext.c: Remove; no longer needed.
90247         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
90248         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
90249         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
90250         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
90251         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
90252         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
90253         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
90254         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
90255         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
90256         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
90257         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
90258         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
90259         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
90260         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
90261         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
90262         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
90263         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
90264         Import changes from coreutils.
90265
90266 2004-08-05  Simon Josefsson  <jas@extundo.com>
90267
90268         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
90269
90270 2004-08-05  Simon Josefsson  <jas@extundo.com>
90271
90272         * m4/getsubopt.m4: New file.
90273
90274 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90275
90276         Merge from coreutils.
90277
90278         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
90279         * m4/getcwd-path-max.m4: New files.
90280
90281         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
90282         FILESYSTEM_PREFIX_LEN ->
90283         FILE_SYSTEM_PREFIX_LEN.
90284         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
90285         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
90286         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
90287         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
90288
90289         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
90290         prerequisite modules now handle the DOS stuff.
90291         Don't check for unistd.h.
90292
90293 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90294
90295         Merge from coreutils.
90296
90297         * lib/.gdb-history: Remove; this doesn't belong here.
90298
90299         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
90300         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
90301         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
90302         * lib/getcwd.c: New files.
90303
90304         * lib/dirname.h: Include <stdbool.h>.
90305         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
90306         for consistency with POSIX terminology.  All uses changed.
90307         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
90308         (strip_trailing_slashes): Use bool for booleans.
90309         * lib/stripslash.c (strip_trailing_slashes): Likewise.
90310
90311         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
90312         sometimes returns a positive errno value even when it succeeds.
90313         (print_errno_message) [!LIBC]: Fall back on strerror if
90314         __strerror_r fails.
90315
90316         * lib/path-concat.c (mempcpy): Don't define if a system header defines
90317         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
90318         (longest_relative_suffix): New function.
90319         (path_concat): Use it.  Assume first argument is not NULL.
90320         Port to DOS.  Omit redundant separators.
90321         Report an error instead of returning NULL.
90322         Use mempcpy instead of memcpy.
90323         (xpath_concat): Remove: not declared or used.
90324
90325         * lib/same.h: Include <stdbool.h>
90326         (same_name): Return bool, not int.
90327         * lib/same.c (same_name): Likewise.
90328         (errno): Don't declare; we assume C89 or better now.
90329
90330         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
90331         if not already defined.
90332
90333         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
90334         * lib/dup-safer.c (errno): Likewise.
90335
90336 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90337
90338         Merge from coreutils.
90339         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
90340         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
90341         * modules/path-concat: Don't depend on strdup.
90342
90343 2004-08-03  Simon Josefsson  <jas@extundo.com>
90344
90345         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
90346         * lib/progname.h: Don't include stdbool.h.
90347
90348 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90349
90350         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
90351         * MODULES.html.sh (func_all_modules): Remove fatal.
90352
90353 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90354
90355         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
90356
90357 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90358
90359         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
90360         working.
90361
90362 2004-08-02  Simon Josefsson  <jas@extundo.com>
90363
90364         * lib/getsubopt.h: New file, with comments from Bruno Haible.
90365         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
90366         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
90367
90368 2004-08-01  Simon Josefsson  <jas@extundo.com>
90369
90370         * lib/xgetdomainname.c: Include stdlib.h, for free().
90371
90372 2004-07-19  Bruno Haible  <bruno@clisp.org>
90373
90374         * MODULES.html.sh (func_all_modules): Add dummy.
90375
90376 2004-07-16  Simon Josefsson  <jas@extundo.com>
90377
90378         * modules/dummy: New file.
90379
90380 2004-07-16  Simon Josefsson  <jas@extundo.com>
90381
90382         * lib/dummy.c: New file.
90383
90384 2004-07-16  Bruno Haible  <bruno@clisp.org>
90385
90386         * lib/backupfile.h: Add extern "C" for C++.
90387         * lib/closeout.h: Likewise.
90388         * lib/copy-file.h: Likewise.
90389         * lib/findprog.h: Likewise.
90390         * lib/full-write.h: Likewise.
90391         * lib/pathname.h: Likewise.
90392         * lib/progname.h: Likewise.
90393         * lib/stpcpy.h: Likewise.
90394         * lib/stpncpy.h: Likewise.
90395         * lib/strcase.h: Likewise.
90396         * lib/strstr.h: Likewise.
90397         * lib/xalloc.h: Likewise.
90398
90399         * lib/mbswidth.h: Add extern "C" for C++.
90400         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
90401
90402 2004-07-13  Robert Millan  <robertmh@gnu.org>
90403
90404         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
90405
90406 2004-07-09  Simon Josefsson  <jas@extundo.com>
90407
90408         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
90409         failed without this.)
90410
90411 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
90412
90413         * modules/chown (Files): Add lib/fchown-stub.c, since
90414         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
90415
90416 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
90417
90418         * lib/fchown-stub.c: New file.
90419
90420 2004-06-24  Jim Meyering  <jim@meyering.net>
90421
90422         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
90423
90424 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90425
90426         * modules/argz: Omit "#include".
90427
90428         * MODULES.html.sh (func_all_modules): Add calloc, to match
90429         2004-06-01 addition of calloc module.
90430
90431 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90432
90433         * m4/argz.m4: New file, which is autoupdated from libtool.
90434
90435 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90436
90437         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
90438         libtool.
90439
90440 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90441
90442         * config/srclist-update: Don't insist on "USA." before the
90443         close-comment, as libtool omits the period and puts the */ on a
90444         separate line.
90445         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
90446         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
90447
90448 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
90449
90450         * modules/argz: New file.
90451         * MODULES.html.sh (func_all_modules): Add argz.
90452
90453 2004-06-12  Jim Meyering  <jim@meyering.net>
90454         and  Paul Eggert  <eggert@cs.ucla.edu>
90455
90456         * modules/hash (Files): Add lib/xalloc.h.
90457         * modules/pipe (Depends-on): Add wait-process.
90458         * modules/stat (Depends-on): Add xalloc.
90459         * modules/userspec (Files): Add lib/userspec.h.
90460         * modules/xstrto
90461
90462         Upgrade from gettext-0.13.
90463         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
90464         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
90465         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
90466
90467 2004-06-10  Jim Meyering  <jim@meyering.net>
90468
90469         * lib/calloc.c: New file.
90470
90471 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
90472
90473         * lib/getdate.y (yylex): Allow space between sign and number.
90474         Problem reported by Dan Jacobson.
90475
90476 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
90477
90478         Merge from coreutils CVS.
90479
90480         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
90481         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
90482         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
90483         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
90484         xstrtol.m4: Fix copyright date and/or serial number.
90485
90486         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
90487         See if we need an fchown replacement.
90488         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
90489         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
90490         and use the replacement function if we detect either defect.
90491
90492         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
90493         gl_UTIMECMP.
90494
90495 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
90496         and  Jim Meyering  <jim@meyering.net>
90497
90498         Merge from coreutils CVS.
90499
90500         * lib/stat-macros.h: New file, with contents from file-type.h
90501         and coreutils' system.h.
90502         * lib/file-type.c: Include "stat-macros.h".
90503         * lib/file-type.h (file_type): Move all macro definitions to new file,
90504         stat-macros.h.
90505
90506         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
90507         Wrap old code with this conditional.
90508         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
90509         function that does not dereference symlinks.
90510         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
90511
90512         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
90513         dependency problems.
90514         (xreadlink): Accept new arg SIZE, for efficiency.
90515         All decls and uses changed.
90516         * lib/xreadlink.h: Include <stddef.h>, for size_t.
90517
90518         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
90519         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
90520
90521         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
90522         sysexits.h.
90523
90524 2004-06-01  Jim Meyering  <jim@meyering.net>
90525
90526         * m4/calloc.m4: New file.
90527
90528 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
90529
90530         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
90531         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
90532         Also, fix a typo in a diagnostic.
90533
90534 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
90535
90536         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
90537         or AC_FUNC_REALLOC.
90538
90539 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
90540
90541         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
90542         macros to be defined.
90543         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
90544         the allocator returns NULL because the requested size is zero.
90545
90546 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
90547
90548         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
90549         var.  Add comment explaining why libc still defines it.  This
90550         merges the following patch from glibc:
90551         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
90552
90553 2004-05-20  Andreas Schwab  <schwab@suse.de>
90554
90555         * m4/free.m4: Replace free if it not known to work, not the other
90556         way round.
90557
90558 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
90559
90560         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
90561         present in glibc since revision 1.1 of this file.
90562         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
90563         obstack_alignment_mask, obstack_alloc, obstack_base,
90564         obstack_blank, obstack_blank_fast, obstack_chunk_size,
90565         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
90566         obstack_grow0, obstack_init, obstack_int_grow,
90567         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
90568         obstack_next_free, obstack_object_size, obstack_ptr_grow,
90569         obstack_ptr_grow_fast, obstack_room): Remove declarations of
90570         nonexistent functions.
90571
90572 2004-05-18  Karl Berry  <karl@gnu.org>
90573
90574         * config/srclist.txt: break link for vasnprintf.c.
90575
90576 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90577
90578         Port obstack to the AS/400, where pointers are 16 bytes wide and
90579         you cannot cast an integer to a valid pointer.  This patch is
90580         currently waiting to be integrated into glibc; see
90581         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
90582
90583         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
90584         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
90585         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
90586         (struct obstack): temp member is now a union of a pointer and
90587         an integer, instead of an integer.  All integer uses changed.
90588         This does not affect the physical layout of struct obstack,
90589         except on hosts (like the AS/400) where the size or alignment of
90590         void * is greater than that of ptrdiff_t.
90591         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
90592         __STDC__)]: Store temporary in pointer member of union, not
90593         integer member.
90594         * lib/obstack.c: Include <stddef.h>, for offsetof.
90595         (struct fooalign): Remove; it doesn't need a name.
90596         (union fooround): Change double to long double, and add void *.
90597         (DEFAULT_ALIGNMENT): Use offsetof to compute.
90598         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
90599         not a macro.  Hence the values are always int; so remove all
90600         casts-to-int in uses.
90601
90602 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90603
90604         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
90605         we can get this patch merged into glibc.
90606
90607 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90608             Paul Eggert  <eggert@cs.ucla.edu>
90609
90610         * m4/argp: Depend on alloca.
90611
90612 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90613             Paul Eggert  <eggert@cs.ucla.edu>
90614
90615         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
90616         freecoding.
90617
90618 2004-05-17  Bruno Haible  <bruno@clisp.org>
90619
90620         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
90621         precision that consists of a '.' followed by an empty digit string.
90622         Patch by Tor Lillqvist <tml@iki.fi>.
90623
90624 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90625
90626         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
90627         for backward compatibility with older code.  We need our own
90628         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
90629         it under some other name, and our alloca.h will define it.
90630
90631 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90632             Derek Price  <derek@ximbiot.com>
90633
90634         * lib/alloca.c: Include <alloca.h>, to get our interface.
90635         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
90636         include <alloca.h> first.  Use C89 prototype for alloca; this
90637         requires including <stddef.h> for size_t.  Use extern "C" if C++.
90638         Use #elif for simplicity, since we can assume C89 now.
90639         Don't try to source the system alloca.h since it will not be found
90640         and to prevent recursively including its replacement.
90641         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
90642         * lib/regex.c: Likewise.
90643
90644 2004-05-16  Derek Price  <derek@ximbiot.com>
90645             Paul Eggert  <eggert@cs.ucla.edu>
90646
90647         getline cleanup.  This changes the getndelim2 API: both order of
90648         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
90649         no delimiter).
90650
90651         * lib/getline.c: Don't include stddef.h or stdio.h, since our
90652         interface does that.
90653         (getline): Always use getdelim, so that we don't have two
90654         copies of this code.
90655         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
90656         if available.
90657         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
90658         (GETNDELIM2_MAXIMUM): New macro.
90659         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
90660         instead of the old practice of delim2==0.  All callers changed.
90661         Return -1 on overflow, instead of returning junk.
90662         Do not set *linesize unless allocation succeeds.
90663         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
90664         that we include sys/types.h.
90665         * lib/getnline.h: Likewise.
90666         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
90667         (getndelim2): Reorder arguments.
90668         * lib/getnline.c (getnline, getndelim):
90669         Don't discard the NMAX argument.
90670         (getnline): Invoke getndelim, to avoid code duplication.
90671         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
90672         of (size_t) -1 by callers of the getnline family.
90673
90674 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90675
90676         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
90677         Check for gettimeofday.
90678         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
90679         Check for settimeofday, stime.
90680
90681 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90682
90683         * lib/nanosleep.c (suspended): Change its type from int to
90684         sig_atomic_t volatile.
90685         (first_call): Make it private to rpl_nanosleep, and have it
90686         be zero initially as that's a bit faster.
90687         (my_usleep): Round up fractional times instead of truncating them,
90688         as this is the usual meaning for 'sleep'.
90689
90690         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
90691         doesn't work.
90692         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
90693         (ENOSYS): Define if not defined.
90694         (settime): Fall back on stime if it exists and settimeofday fails.
90695         But don't bother with fallbacks if a method fails with errno == EPERM.
90696
90697 2004-05-11  Jim Meyering  <jim@meyering.net>
90698
90699         Prior to this change, the save_cwd caller required read access to the
90700         current directory on most systems (ones with the fchdir function).
90701
90702         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
90703         fails, try write-only, and finally, resort to using xgetcwd.
90704
90705 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
90706
90707         * lib/obstack.c, obstack.h: Import changes from libc.
90708
90709 2004-04-28  Bruno Haible  <bruno@clisp.org>
90710
90711         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
90712         also implicitly appends .exe to executables.
90713         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
90714         accepts Windows pathnames.
90715         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90716         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90717         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90718         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90719         Reported by Derek Robert Price <derek@ximbiot.com>.
90720
90721 2004-04-21  Karl Berry  <karl@gnu.org>
90722
90723         * config/srclist.txt (localcharset.c): break sync.
90724
90725 2004-04-20  Paul Eggert  <eggert@twinsun.com>
90726
90727         * m4/host-os.m4: Add a copyright notice.
90728
90729 2004-04-20  Jim Meyering  <jim@meyering.net>
90730
90731         Change UTILS_ to gl_ in AC_DEFINE'd names.
90732         Change utils_- and jm_-prefixed variables, too.
90733         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
90734         UTILS_FUNC_MKDIR_TRAILING_SLASH.
90735         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
90736
90737         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
90738         Don't emit trailing blanks.
90739         Also rename jm_-prefixed variables to have gl_ prefix.
90740
90741         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
90742         Also rename jm_-prefixed variables to have gl_ prefix.
90743
90744         * m4/jm-macros.m4: Reflect the renamings.
90745         * m4/prereq.m4: Likewise.
90746
90747 2004-04-20  Jim Meyering  <jim@meyering.net>
90748
90749         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
90750         memory.
90751
90752 2004-04-20  Jim Meyering  <jim@meyering.net>
90753             Bruno Haible  <bruno@clisp.org>
90754
90755         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
90756         memory when realloc fails.
90757
90758 2004-04-19  Jim Meyering  <jim@meyering.net>
90759
90760         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
90761         now that readutmp.c may call `free (0)'.
90762
90763 2004-04-19  Bruno Haible  <bruno@clisp.org>
90764
90765         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
90766         * m4/inttypes_h.m4: Likewise.
90767         * m4/stdint_h.m4: Likewise.
90768         * m4/intmax_t.m4: Likewise.
90769         * m4/uintmax_t.m4: Likewise.
90770
90771 2004-04-18  Jim Meyering  <jim@meyering.net>
90772
90773         * m4/prereq.m4: Don't forbid jm_ prefix.
90774
90775         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
90776         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
90777         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
90778         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
90779         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
90780         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
90781         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
90782         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
90783         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
90784         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
90785         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
90786         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
90787         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
90788         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
90789         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
90790         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
90791         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
90792         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
90793         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
90794
90795 2004-04-18  Jim Meyering  <jim@meyering.net>
90796
90797         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
90798         failure, don't leak memory and do call END_UTMP_ENT.
90799
90800 2004-04-16  Jim Meyering  <jim@meyering.net>
90801
90802         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
90803         coreutils' stat program.
90804         (gl_PREREQ): Don't require jm_PREREQ_STAT.
90805
90806 2004-04-11  Paul Eggert  <eggert@twinsun.com>
90807
90808         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
90809         C89.
90810         (CHAR_BIT): Remove, since we assume C89.
90811         Include <stdint.h> if available, as per current Autoconf CVS advice.
90812
90813 2004-03-31  Jim Meyering  <jim@meyering.net>
90814
90815         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
90816         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
90817         * m4/xalloc.m4: Likewise.
90818
90819 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90820
90821         Merge from coreutils.
90822
90823         * m4/inttostr.m4: New file.
90824         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
90825         Require AM_STDBOOL_H and gl_TIMESPEC instead.
90826         Require gl_CLOCK_TIME.
90827         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
90828
90829 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90830
90831         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
90832         not bool, to be more consistent with Unix conventions.
90833         Suggested by Bruno Haible.
90834
90835         Merge from coreutils.
90836
90837         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
90838         * lib/umaxtostr.c: New files.
90839
90840         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
90841         the usual <time.h> dance.
90842         (get_date): Change signature to support fractional time stamps.
90843         All callers changed.
90844         * lib/getdate.y: Include "getdate.h" first, as we can now
90845         assume C89 and don't need to worry about 'const'.
90846         Similarly, include "unlocked-io.h" near start, not in middle.
90847         Include <limits.h>.
90848         (textint.value): Use long int rather than int.
90849         (textint.digits): Use size_t rather than int.
90850         (BILLION, LOG10_BILLION): New constants.
90851         (parser_control): New member rel_ns.  Members day_ordinal,
90852         time_zone, month, day, hour, minutes, rel_year, rel_month,
90853         rel_day, rel_hour, rel_minutes, rel_seconds
90854         are now long int, not int.  Member seconds is now struct timespec,
90855         not int.  New member timespec_seen.  Members dates_seen, days_seen,
90856         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
90857         not int.
90858         (%union.intval): Now long int, not int.
90859         New member timespec.
90860         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
90861         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
90862         (spec): Now is a timespec or an item list.
90863         (timespec, items): New nonterminals.
90864         (time, rel, relunit, number, get_date):
90865         Add support for fractional seconds.
90866         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
90867         (gmtime, localtime, mktime): Remove decls; not needed with C89.
90868         (to_hour): First arg is now long int, not int.
90869         (to_year): Returns long int, not int.
90870         Don't treat year -70 like 70.
90871         (tm_diff): Returns long int, not int.
90872         (lookup_word): Use bool instead of int when appropriate.
90873         (yylex): Use size_t for count, not int.
90874         Detect overflow when parsing large integer constants.
90875         Add support for fractions.
90876         (get_date): Make pointers 'const' if possible.
90877         Use more-portable code to detect integer overflow.
90878         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
90879         Don't use ctime; it's not reliable if the year has >4 digits.
90880
90881         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
90882         This is for compatibility with BSD.
90883
90884         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
90885         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
90886         From coreutils' system.h.
90887
90888         * lib/userspec.c: Don't include "posixver.h".
90889         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
90890         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
90891         compatible extension.  Simplify code by removing a boolean int
90892         that was always nonzero if a string was nonnull.
90893
90894 2004-03-30  Jim Meyering  <jim@meyering.net>
90895
90896         Merge from coreutils.
90897
90898         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
90899         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
90900         on some systems one must include <grp.h> before it.
90901         Reported by Christian Krackowizer.
90902
90903 2004-03-30  Jim Meyering  <jim@meyering.net>
90904
90905         Merge from coreutils.
90906
90907         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
90908
90909         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
90910         an empty input stream.
90911
90912         * lib/readtokens.c: Include <stdbool.h>.
90913         (readtoken): Use `size_t' rather than int/long.
90914         All callers adjusted.
90915         Use `bool' rather than `int' where appropriate.
90916         Use memset rather than an explicit loop.
90917         Use x2nrealloc rather than xrealloc.
90918         Allow the use of `\0' as a delimiter.
90919         (readtokens): Likewise.
90920         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
90921
90922 2004-03-30  Jim Meyering  <jim@meyering.net>
90923
90924         * m4/realloc.m4: Remove file, since now it does no more than
90925         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
90926         the `configure.ac' section of module/realloc.
90927         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
90928
90929 2004-03-30  Bruno Haible  <bruno@clisp.org>
90930
90931         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
90932         nonnull.
90933
90934 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90935
90936         Merge changes to getloadavg.c from coreutils and Emacs.
90937
90938         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
90939         Define to an expression, not to the empty string.
90940         Include cloexec.h and xalloc.h.
90941         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
90942         Use set_cloexec_flag rather than rolling our own.
90943         * lib/cloexec.c, lib/cloexec.h: New files.
90944
90945 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90946
90947         * m4/cloexec.m4: New file.
90948
90949 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90950
90951         * lib/getopt.h: Sync with libc CVS.
90952
90953 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90954             Bruno Haible  <bruno@clisp.org>
90955
90956         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
90957         mbswidth.
90958
90959 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90960             Bruno Haible  <bruno@clisp.org>
90961
90962         * lib/mbswidth.h: Include <wchar.h> only if
90963         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
90964         <wchar.h>.
90965         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
90966
90967 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90968
90969         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
90970         Sync with libc CVS.
90971         * lib/getopt_int.h: New file, also synced from libc.
90972
90973 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90974
90975         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
90976         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
90977         Bring back getopt.c, getopt.h, getopt1.c.
90978
90979 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90980
90981         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
90982         All uses changed.  Check for sa_sigaction member; this fixes
90983         a bug first reported by Jason Andrade in
90984         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90985
90986 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90987
90988         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
90989         '#if' expressions.  Unlike the code it replaces, it does not
90990         depend on (defined _SC_PAGESIZE).  However, it does depend on
90991         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
90992         first reported by Jason Andrade in
90993         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90994
90995 2004-02-25  Simon Josefsson  <jas@extundo.com>
90996
90997         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
90998
90999 2004-02-25  Simon Josefsson  <jas@extundo.com>
91000
91001         * lib/strdup.h: New file.
91002         * lib/strdup.c: Include it.
91003         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
91004         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
91005
91006 2004-02-23  Karl Berry  <karl@gnu.org>
91007
91008         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
91009         (from fencepost.gnu.org:/gd/gnuorg).
91010
91011 2004-02-23  Karl Berry  <karl@gnu.org>
91012
91013         * config/srclistvars.sh (GNUORG) [karl]: redefine.
91014         * config/srclist.txt: add maintain/standards documents.
91015
91016 2004-02-18  Bruno Haible  <bruno@clisp.org>
91017
91018         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
91019         Reported by Derek Robert Price <derek@ximbiot.com>.
91020
91021 2004-02-16  Karl Berry  <karl@gnu.org>
91022
91023         * config/mkinstalldirs, install-sh: update from automake.
91024
91025 2004-02-06  Karl Berry  <karl@gnu.org>
91026
91027         * m4/po.m4: update from gettext 0.14.1.
91028
91029 2004-02-06  Karl Berry  <karl@gnu.org>
91030
91031         * lib/config.charset: update from gettext 0.14.1.
91032
91033 2004-02-05  Paul Eggert  <eggert@twinsun.com>
91034
91035         Add comments and code, prompted by suggestions from Bruno Haible
91036         for sh-quote.
91037         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
91038         describing the enum quoting_style values.
91039         * lib/quotearg.c (quotearg_alloc): New function.
91040         (quotearg_buffer_restyled): Treat lone { and } as special.
91041         Treat = as special.  Work around bug with older shells
91042         that "see" a '\' that is really the 2nd byte of a multibyte char.
91043         Quote empty string with shell_quoting_style.
91044
91045 2004-02-03  Bruno Haible  <bruno@clisp.org>
91046
91047         * m4/pipe.m4: New file, from GNU gettext.
91048
91049 2004-02-03  Bruno Haible  <bruno@clisp.org>
91050
91051         * lib/pipe.h: New file, from GNU gettext.
91052         * lib/pipe.c: New file, from GNU gettext.
91053
91054 2004-01-27  Bruno Haible  <bruno@clisp.org>
91055
91056         * m4/execute.m4: New file, from GNU gettext.
91057
91058 2004-01-27  Bruno Haible  <bruno@clisp.org>
91059
91060         * lib/execute.h: New file, from GNU gettext.
91061         * lib/execute.c: New file, from GNU gettext.
91062         * lib/w32spawn.h: New file, from GNU gettext.
91063
91064 2004-01-24  Paul Eggert  <eggert@twinsun.com>
91065
91066         Merge from diffutils.
91067
91068         * lib/file-type.c (file_type): Add typed memory objects.
91069         * lib/file-type.h (S_TYPEISTMO): New macro.
91070
91071         * lib/c-stack.h (c_stack_action): Remove argv argument.
91072         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
91073         (die): Don't calculate message unless segv_action returns.
91074         (get_stack_location, min_address_from_argv, max_address_from_argv,
91075         volatile stack_base, volatile_stack_size): Remove.
91076         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
91077         that every segmentation violation is a stack overflow.  (Ouch!)
91078         See Debian bug 136249 (still outstanding) for more info about why
91079         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
91080
91081 2004-01-24  Paul Eggert  <eggert@twinsun.com>
91082
91083         Exit-status fix from coreutils.
91084
91085         Use exit_failure consistently in place of EXIT_FAILURE,
91086         so that program exit statuses are consistent on failure.
91087
91088         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
91089         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
91090         * lib/argmatch.h: Comment fix to match the above.
91091         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
91092         Now a macro referring to exit_failure, instead of a separate
91093         variable.  Include "exitfail.h" to get it.
91094         * lib/xstrtol.h: Include "exitfail.h".
91095         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
91096
91097         * lib/long-options.c (parse_long_options): Use prototype
91098         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
91099         for clarity.
91100
91101 2004-01-21  Jim Meyering  <jim@meyering.net>
91102
91103         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
91104         so as not to conflict with a different-sized __mktime_internal
91105         function in GNU libc.
91106         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
91107         Problem building statically-linked `ls' reported by Michael Brunnbauer.
91108
91109 2004-01-20  Karl Berry  <karl@gnu.org>
91110
91111         * config/config.guess: update from config.
91112
91113         * config/srclistvars.sh: GNUWWWLICENSES for karl.
91114
91115 2004-01-20  Bruno Haible  <bruno@clisp.org>
91116
91117         Safer stack allocation.
91118         * lib/setenv.c: Include allocsa.h.
91119         (alloca): Remove fallback definition.
91120         (freea): Remove macro.
91121         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
91122         instead of freea.
91123
91124 2004-01-20  Bruno Haible  <bruno@clisp.org>
91125
91126         * m4/eealloc.m4: New file, from GNU gettext.
91127
91128 2004-01-20  Bruno Haible  <bruno@clisp.org>
91129
91130         * m4/allocsa.m4: New file, from GNU gettext.
91131
91132 2004-01-20  Bruno Haible  <bruno@clisp.org>
91133
91134         * lib/xallocsa.h: New file, from GNU gettext.
91135         * lib/xallocsa.c: New file, from GNU gettext.
91136
91137 2004-01-20  Bruno Haible  <bruno@clisp.org>
91138
91139         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
91140
91141 2004-01-20  Bruno Haible  <bruno@clisp.org>
91142
91143         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
91144         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
91145         specially.
91146
91147 2004-01-20  Bruno Haible  <bruno@clisp.org>
91148
91149         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
91150         patch.
91151
91152 2004-01-20  Bruno Haible  <bruno@clisp.org>
91153
91154         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
91155
91156 2004-01-20  Bruno Haible  <bruno@clisp.org>
91157
91158         * lib/eealloc.h: New file.
91159
91160 2004-01-20  Bruno Haible  <bruno@clisp.org>
91161
91162         * lib/binary-io.h: Avoid warnings on Cygwin.
91163
91164 2004-01-20  Bruno Haible  <bruno@clisp.org>
91165
91166         * lib/allocsa.h: New file, from GNU gettext.
91167         * lib/allocsa.c: New file, from GNU gettext.
91168
91169 2004-01-18  Karl Berry  <karl@gnu.org>
91170
91171         * doc/gpl.texi, doc/lgpl.texi: new files.
91172
91173 2004-01-18  Karl Berry  <karl@gnu.org>
91174
91175         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
91176         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
91177
91178 2004-01-15  Paul Eggert  <eggert@twinsun.com>
91179
91180         Merge from coreutils.
91181
91182         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
91183         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
91184         (gl_DEFAULT_POSIX2_VERSION): Move
91185         the documentation from 'configure' into 'config.hin',
91186         so that 'configure --help' isn't burdened by it and
91187         we don't have to worry about its formatting there.
91188         Reword the documentation so that it's more succinct
91189         and can be run together into a single paragraph.
91190         * m4/same.m4 (gl_SAME): Check for pathconf.
91191
91192 2004-01-15  Paul Eggert  <eggert@twinsun.com>
91193
91194         Merge from coreutils.
91195
91196         * lib/posixver.c: Include posixver.h.
91197
91198         * lib/same.c: Include <stdbool.h>, <limits.h>.
91199         (_POSIX_NAME_MAX): Define if not defined.
91200         (MIN): New macro.
91201         (same_name): If file names are silently truncated, report
91202         that the file names are the same if they are the same after
91203         the silent truncation.
91204
91205         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
91206         conversion function.
91207         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
91208         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
91209         longer needed.
91210
91211 2004-01-15  Jim Meyering  <jim@meyering.net>
91212
91213         Merge from coreutils.
91214
91215         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
91216         if no library is required.
91217         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
91218         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
91219         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
91220         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
91221         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
91222         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
91223         value, $ac_cv_search_crypt, if it's "none required".
91224         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
91225         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
91226         not gl_FUNC_GETLOADAVG.
91227         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
91228         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
91229
91230 2004-01-15  Jim Meyering  <jim@meyering.net>
91231
91232         Merge from coreutils.
91233
91234         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
91235         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
91236         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
91237
91238         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
91239         optional configure-time default.
91240
91241         * lib/version-etc.c (version_etc_copyright): Update copyright date.
91242
91243         * lib/xreadlink.c (xreadlink): Correct outdated comment.
91244
91245 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
91246
91247         Merge from coreutils.
91248
91249         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
91250         value, $ac_cv_search_nanosleep, if it's "none required".
91251
91252 2004-01-14  Paul Eggert  <eggert@twinsun.com>
91253
91254         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
91255         with like-named macro in fnmatch.c.
91256         (EXT): Use an internal constant instead.
91257
91258         Merge fnmatch patches from glibc.
91259         * lib/fnmatch.c (mbsinit): Remove define.
91260         Add libc_hidden_ver (__fnmatch, fnmatch).
91261         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
91262         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
91263
91264 2004-01-14  Karl Berry  <karl@gnu.org>
91265
91266         * config/install-sh: update from automake.
91267
91268 2004-01-13  Karl Berry  <karl@gnu.org>
91269
91270         * config/install-sh: update from automake.
91271
91272 2004-01-09  Karl Berry  <karl@gnu.org>
91273
91274         * config/install-sh: update from automake.
91275
91276 2004-01-05  Karl Berry  <karl@gnu.org>
91277
91278         * config/config.{sub,guess}: update from config.
91279
91280 2003-12-31  Karl Berry  <karl@gnu.org>
91281
91282         * config/depcomp: update from automake.
91283
91284 2003-12-14  Karl Berry  <karl@gnu.org>
91285
91286         * lib/config.charset: update from gettext-runtime.
91287
91288 2003-12-03  Paul Eggert  <eggert@twinsun.com>
91289
91290         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
91291         Bug reported by Alfred M. Szmidt.
91292
91293 2003-12-03  Bruno Haible  <bruno@clisp.org>
91294
91295         * m4/gettext.m4: Upgrade from gettext-0.13.
91296         * m4/po.m4: Upgrade from gettext-0.13.
91297         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
91298         * m4/intmax.m4: New file, from gettext-0.13.
91299         * m4/printf-posix.m4: New file, from gettext-0.13.
91300
91301 2003-11-29  Karl Berry  <karl@gnu.org>
91302
91303         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
91304
91305 2003-11-25  Paul Eggert  <eggert@twinsun.com>
91306             Bruno Haible  <bruno@clisp.org>
91307
91308         * lib/printf-parse.h: Don't include sys/types.h.
91309         (ARG_NONE): New macro.
91310         (char_directive): Change type of *arg_index fields to size_t.
91311         * lib/printf-parse.c: Don't include sys/types.h.
91312         (SSIZE_MAX): Remove macro.
91313         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
91314         Remove unnecessary overflow check.
91315         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
91316         fields.
91317
91318 2003-11-25  Bruno Haible  <bruno@clisp.org>
91319
91320         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
91321
91322 2003-11-25  Bruno Haible  <bruno@clisp.org>
91323
91324         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
91325         gt_TYPE_SSIZE_T.
91326
91327 2003-11-24  Paul Eggert  <eggert@twinsun.com>
91328
91329         * modules/alloca: Remove dependency on xalloc.
91330
91331 2003-11-24  Paul Eggert  <eggert@twinsun.com>
91332
91333         * lib/alloca.c: Remove dependency on xalloc module.
91334         (xalloc_die): Remove.
91335         (memory_full) [!defined emacs]: New macro.
91336         [!defined emacs]: Don't include xalloc.h.
91337         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
91338         address arithmetic overflows.  Change datatypes a bit to avoid
91339         unnecessary casts.
91340
91341 2003-11-22  Jim Meyering  <jim@meyering.net>
91342
91343         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
91344         s/size/size_t/.
91345
91346 2003-11-21  Karl Berry  <karl@gnu.org>
91347
91348         * config/config.{sub,guess}: update from config.
91349
91350 2003-11-18  Karl Berry  <karl@gnu.org>
91351
91352         * config/config.{sub,guess}: update from config.
91353
91354         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
91355
91356 2003-11-17  Paul Eggert  <eggert@twinsun.com>
91357
91358         * README: Mention that S+T cannot overflow if S is the size of
91359         an existing object and T is sufficiently small.
91360
91361 2003-11-17  Jim Meyering  <jim@meyering.net>
91362
91363         On systems without utime and without a utimes function capable of
91364         dealing with a NULL struct utimbuf* argument, this utime replacement
91365         could -- in unusual circumstances -- leak a file descriptor.
91366         * lib/utime.c: Include <unistd.h> and <errno.h>.
91367         (utime_null): Be sure to close `fd' and to preserve errno.
91368         Reported by Geoff Collyer via Arnold Robbins.
91369
91370 2003-11-17  Bruno Haible  <bruno@clisp.org>
91371
91372         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
91373         (Depends-on): Add xsize.
91374
91375 2003-11-17  Bruno Haible  <bruno@clisp.org>
91376
91377         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
91378
91379 2003-11-17  Bruno Haible  <bruno@clisp.org>
91380
91381         * lib/vasnprintf.c (alloca): Remove fallback definition.
91382         (freea): Remove definition.
91383         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
91384         Reported by Paul Eggert.
91385
91386 2003-11-16  Paul Eggert  <eggert@twinsun.com>
91387             Bruno Haible  <bruno@clisp.org>
91388
91389         Protect against address arithmetic overflow.
91390         * lib/printf-args.h: Include stddef.h.
91391         (arguments): Change type of field 'count' to size_t.
91392         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
91393         'unsigned int' where appropriate.
91394         * lib/printf-parse.h: Include sys/types.h.
91395         (char_directive): Change type of *arg_index fields to ssize_t.
91396         (char_directives): Change type of fields 'count', max_*_length to
91397         size_t.
91398         * lib/printf-parse.c: Include sys/types.h and xsize.h.
91399         (SSIZE_MAX): Define fallback value.
91400         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
91401         instead of 'int' where appropriate. Check a_allocated, d_allocated
91402         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
91403         * lib/vasnprintf.c: Include xsize.h.
91404         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
91405         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
91406         overflow. Avoid wraparound when converting a width or precision from
91407         decimal to binary.
91408
91409 2003-11-16  Bruno Haible  <bruno@clisp.org>
91410
91411         Update from GNU gettext.
91412         * lib/printf-parse.c: Generalize to it can be compiled for wide
91413         strings.
91414         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
91415         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
91416         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
91417         SNPRINTF): New macros.
91418         Don't include <alloca.h> if the file is used inside libintl.
91419         (local_wcslen): New function, for Solaris 2.5.1.
91420         (VASNPRINTF): Use it instead of wcslen.
91421
91422 2003-11-16  Bruno Haible  <bruno@clisp.org>
91423
91424         * lib/xsize.h (xmax): New function.
91425         (xsum, xsum3, xsum4): Declare as "pure" functions.
91426
91427 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91428
91429         * modules/xalloc (Files): Undo latest change, since xalloc.h
91430         no longer needs SIZE_MAX or PTRDIFF_MAX.
91431
91432 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91433
91434         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
91435         gl_PTRDIFF_MAX.
91436
91437 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91438
91439         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
91440         "return", to pacify some unknown compiler.  Problem reported
91441         by Joerg Schilling.
91442
91443 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91444
91445         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
91446         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
91447         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
91448         heuristic is just as accurate as far as we know, and it removes a
91449         dependency on size_max.m4 and ptrdiff_max.m4.
91450
91451 2003-11-11  Bruno Haible  <bruno@clisp.org>
91452
91453         * modules/xsize (Files): Add m4/size_max.m4.
91454         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
91455
91456 2003-11-11  Bruno Haible  <bruno@clisp.org>
91457
91458         * m4/size_max.m4: New file.
91459         * m4/ptrdiff_max.m4: New file.
91460         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
91461         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
91462         (gl_XALLOC): Invoke it.
91463
91464 2003-11-11  Bruno Haible  <bruno@clisp.org>
91465
91466         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
91467         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
91468         defined.
91469
91470 2003-11-10  Paul Eggert  <eggert@twinsun.com>
91471
91472         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
91473         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
91474         rejected some allocations of exactly SIZE_MAX - 2 bytes.
91475         From Bruno Haible.
91476         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
91477         not (size_t) -1, since it's defined here.
91478
91479 2003-11-09  Karl Berry  <karl@gnu.org>
91480
91481         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
91482
91483 2003-11-06  Paul Eggert  <eggert@twinsun.com>
91484
91485         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
91486         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
91487         Reject sizes of exactly SIZE_MAX bytes.
91488         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
91489         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
91490
91491 2003-11-05  Bruno Haible  <bruno@clisp.org>
91492
91493         * lib/xsize.h: Include limits.h, to avoid a possible collision with
91494         SIZE_MAX defined in <limits.h> on Solaris.
91495
91496 2003-11-04  Jim Meyering  <jim@meyering.net>
91497
91498         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
91499         variable names, rather than @VAR@.
91500         * modules/poll: Likewise.
91501
91502 2003-11-04  Bruno Haible  <bruno@clisp.org>
91503
91504         * modules/xsize: New file.
91505         * modules/linebreak: Depend on xsize.
91506         * MODULES.html.sh (func_all_modules): Add xsize.
91507
91508 2003-11-04  Bruno Haible  <bruno@clisp.org>
91509
91510         * m4/xsize.m4: New file.
91511
91512 2003-11-04  Bruno Haible  <bruno@clisp.org>
91513
91514         * lib/xsize.h: New file.
91515         * lib/linebreak.c: Include xsize.h.
91516         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
91517         argument for overflow.
91518         Suggested by Paul Eggert.
91519
91520 2003-11-03  Karl Berry  <karl@gnu.org>
91521
91522         * config/config.{guess,sub}: update from config.
91523
91524 2003-11-03  Jim Meyering  <jim@meyering.net>
91525
91526         * modules/userspec (lib_SOURCES): Add userspec.h.
91527         (Include): Add "userspec.h".
91528         Improve description.
91529
91530 2003-11-03  Jim Meyering  <jim@meyering.net>
91531
91532         * lib/userspec.c: Include "userspec.h".
91533         * lib/userspec.h: New file.
91534
91535 2003-11-03  Bruno Haible  <bruno@clisp.org>
91536
91537         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
91538
91539 2003-11-03  Bruno Haible  <bruno@clisp.org>
91540
91541         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
91542         available, to avoid (extremely rare) race condition.
91543         Suggested by Paul Eggert.
91544
91545 2003-11-02  Karl Berry  <karl@gnu.org>
91546
91547         * config/srclist.txt (vasprintf.c): sync broken, sigh.
91548
91549 2003-10-31  Paul Eggert  <eggert@twinsun.com>
91550
91551         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
91552         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
91553         (read_filesystem_list): Set and use me_type_malloced.
91554         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
91555         whatever the type happens to be), for brevity and consistency.
91556         Check for size calculation overflow on Alphas running OSF/1.
91557
91558 2003-10-31  Jim Meyering  <jim@meyering.net>
91559
91560         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
91561
91562         * lib/linebuffer.c: Include <string.h> for declaration of memset.
91563
91564 2003-10-30  Paul Eggert  <eggert@twinsun.com>
91565             Bruno Haible  <bruno@clisp.org>
91566
91567         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
91568         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
91569
91570 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
91571
91572         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
91573         netbsd*-gnu*.  Suggested by Robert Millan.
91574
91575 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91576
91577         * modules/group-member: Depend on stdbool.
91578
91579 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91580
91581         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
91582
91583 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91584
91585         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
91586         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
91587         after the 'gnu' in these cases.  This fixes some bugs in the
91588         previous change, and is based on suggestions by Robert Millan.
91589
91590 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91591
91592         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
91593         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
91594         no longer needed.
91595         * lib/quotearg.c (quotearg_n_options): Use it.
91596         * lib/group-member.c: Include <stdbool.h>.
91597         (free_group_info): Arg is now const *; don't free arg.
91598         (get_group_info): Now returns bool and accepts struct group_info *,
91599         rather than returning a malloc'ed struct group_info *.
91600         All uses changed.  Check for overflow in internal size calculation.
91601
91602         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
91603         rather than xmalloc/xrealloc.
91604         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
91605         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
91606         conformance bug: the old code used a pointer after freeing the
91607         storage that it addressed.
91608         * lib/hash.c (hash_initialize): Simplify the code by using
91609         xalloc_oversized rather than doing it by hand.
91610         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
91611         the buffer preserved.  Use free and xmalloc instead.
91612         * lib/quotearg.c (quotearg_n_options): Likewise.
91613         Use a simpler test for size overflow.  Don't use xalloc_oversized
91614         because unsigned int might be wider than size_t (!); this suggests
91615         that we should switch from unsigned int to size_t for slot numbers.
91616
91617 2003-10-28  Paul Eggert  <eggert@twinsun.com>
91618
91619         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
91620         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
91621         NetBSD kernels.  Requested by Richard Stallman.
91622
91623 2003-10-27  Paul Eggert  <eggert@twinsun.com>
91624
91625         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
91626         to allocate the returned structure.  Do not allocate a subarray,
91627         as x2nrealloc will do that.
91628         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
91629         instead of xnrealloc.
91630         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
91631
91632 2003-10-27  Bruno Haible  <bruno@clisp.org>
91633
91634         * lib/stdbool_.h: Better support for BeOS.
91635
91636 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91637
91638         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
91639         now uses inline.
91640
91641 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91642
91643         * lib/xalloc.h (xalloc_oversized): New static inline function, for
91644         callers that want to do their own size-overflow checking.  Include
91645         <stdbool.h>, since xalloc_oversized returns bool.
91646         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
91647         to use xalloc_oversized.
91648
91649         Add two functions x2realloc, x2nrealloc, for programs that grow
91650         arrays dynamically by doubling their sizes.
91651         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
91652         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
91653         New functions.
91654
91655         Port to C99 semantics for 'inline' of external functions.
91656         Bug reported by Bruno Haible.
91657         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
91658         with the old contents of xnmalloc.
91659         (xnmalloc, xmalloc): Use it.
91660         (xnrealloc_inline): New static inline function,
91661         with the old contents of xnrealloc.
91662         (xnrealloc, xrealloc): Use it.
91663
91664         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
91665         that.
91666
91667 2003-10-26  Karl Berry  <karl@gnu.org>
91668
91669         * config/srclist.txt (COPYING.DOC): no longer available from
91670         /gd/gnuorg; don't know where the ultimate source is.
91671
91672 2003-10-25  Paul Eggert  <eggert@twinsun.com>
91673
91674         Fix several address-calculation bugs in the hash modules,
91675         plus some minor code cleanup.
91676
91677         * lib/hash.h: Include <stdbool.h>, for bool.
91678         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
91679         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
91680         hash_get_n_entries, hash_get_max_bucket_length,
91681         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
91682         hash_rehash): Use size_t rather than unsigned.
91683         * lib/hash.c (struct hash_table, hash_get_n_buckets,
91684         hash_get_n_buckets_used, hash_get_n_entries,
91685         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
91686         hash_get_entries, hash_do_for_each, hash_string, is_prime,
91687         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
91688         Likewise.
91689         (SIZE_MAX): Define if not defined.
91690         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
91691         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
91692         hash_print):
91693         Use const * when possible.
91694         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
91695         (check_tuning): Fix bug: if tuning parameters were very close to
91696         0 or 1, rounding errors could have caused subscript violations.
91697         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
91698         (hash_initialize): Add 'fail:' label
91699         to free table and return NULL, and use it to simplify code.
91700         Use calloc rather than clearing the storage ourself.
91701         (hash_initialize, hash_rehash): Check for arithmetic overflow in
91702         buffer size calculations.
91703         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
91704         Include <stddef.h>, for size_t.
91705         * lib/hash-pjw.c (hash_pjw): Likewise.
91706         Switch to method described by Bruno Haible.
91707         Include <limits.h>, for CHAR_BIT.
91708         (SIZE_BITS): New macro.
91709
91710 2003-10-23  Paul Eggert  <eggert@twinsun.com>
91711
91712         * m4/getline.m4 (AM_FUNC_GETLINE):
91713         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
91714         hosts.  Problem reported by Derek Robert Price in
91715         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
91716         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
91717         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
91718
91719 2003-10-21  Paul Eggert  <eggert@twinsun.com>
91720
91721         * lib/getndelim2.c (getndelim2): When size calculation overflows,
91722         ceiling the allocation at NMAX bytes rather than silently
91723         discarding input bytes before NMAX is reached.  This makes
91724         a difference only if NMAX exceeds SIZE_MAX / 2.
91725
91726         * lib/obstack.c: Merge from glibc.
91727         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
91728         Add libc_hidden_def (_obstack_newchunk).
91729         (_obstack_free) [! defined _LIBC]: Remove.
91730         [defined _LIBC]: Make a strong alias from obstack_free, rather than
91731         a clone of the function body.
91732         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
91733         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
91734
91735         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
91736         glibc.
91737         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
91738         arg to memcpy.
91739
91740         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
91741         (obstack_ptr_grow_fast, obstack_int_grow_fast):
91742         Don't use lvalue casts, as GCC plans to remove support for them
91743         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
91744         was also present in the non-GCC version, indicating that this
91745         code had always been buggy and had never been widely used.
91746         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
91747         Use the fast variant of each macro, rather than copying the
91748         definiens of the fast variant; that way, we'll be more likely to
91749         catch future bugs in the fast variants.
91750
91751 2003-10-20  Bruno Haible  <bruno@clisp.org>
91752
91753         * modules/wait-process: New file.
91754         * MODULES.html.sh (func_all_modules): Add wait-process.
91755
91756 2003-10-20  Bruno Haible  <bruno@clisp.org>
91757
91758         * m4/wait-process.m4: New file.
91759
91760 2003-10-20  Bruno Haible  <bruno@clisp.org>
91761
91762         * lib/wait-process.h: New file, from GNU gettext.
91763         * lib/wait-process.c: New file, from GNU gettext.
91764
91765 2003-10-19  Jim Meyering  <jim@meyering.net>
91766
91767         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
91768         HPUX 10.20.
91769
91770 2003-10-18  Karl Berry  <karl@gnu.org>
91771
91772         * config/config.guess: update from config.
91773
91774 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91775
91776         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
91777         (getgroups): First arg is int, not size_t.
91778         Don't let 'free' mangle errno.
91779
91780 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91781
91782         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
91783
91784 2003-10-16  Karl Berry  <karl@gnu.org>
91785
91786         * config/config.{guess,sub}: update from config.
91787
91788 2003-10-16  Jim Meyering  <jim@meyering.net>
91789
91790         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
91791         memcpy.
91792
91793 2003-10-15  Paul Eggert  <eggert@twinsun.com>
91794
91795         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
91796         (SIZE_MAX): Remove.
91797         (new_exclude, add_exclude_file): Initial size no longer needs to
91798         be a power of 2.
91799         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
91800         our own address arithmetic overflow checking.
91801
91802         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
91803         (fnmatch): Do not alloca more than 2000 wide characters;
91804         instead, use malloc for large buffers.
91805         Check for address arithmetic overflow, and return -1
91806         with errno set to ENOMEM in that case.
91807         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
91808         (NEW_PATTERN): Do not alloca more than 8000 bytes;
91809         instead, return -1.  Check for address arithmetic overflow.
91810
91811 2003-10-14  Paul Eggert  <eggert@twinsun.com>
91812
91813         Handle invalid suffixes and overflow independently, so that
91814         callers can treat them independently as needed.  Fix some bugs in
91815         suffix handling, e.g., "100k@" was not diagnosed as an invalid
91816         suffix for a human-readable blocksize.  The major caller-visible
91817         change is the addition of a new
91818         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
91819         that both overflow and suffix chars were found.
91820
91821         * lib/human.c (humblock): Don't check separately for invalid suffix
91822         char; that is xstrtoumax's job (now that its bug is fixed).
91823         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
91824         INTMAX_MAX]: New macros.
91825         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
91826         TYPE_MAXIMUM): New macros.
91827         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
91828         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
91829         if overflow occurs, as it's what __strtol does and it's more useful
91830         in practice.
91831         (__xstrtol): If __strtol reports some error other than ERANGE,
91832         reflect it to the caller as LONGINT_INVALID.  If it reports
91833         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
91834         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
91835         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
91836         value.
91837         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
91838         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
91839         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
91840         [defined UINTMAX_MAX]: New macros.
91841
91842 2003-10-14  Bruno Haible  <bruno@clisp.org>
91843
91844         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
91845
91846 2003-10-14  Bruno Haible  <bruno@clisp.org>
91847
91848         * m4/sig_atomic_t: New file, from GNU gettext.
91849         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
91850
91851 2003-10-14  Bruno Haible  <bruno@clisp.org>
91852
91853         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
91854         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
91855         Also use volatile where needed.
91856
91857 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91858
91859         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
91860         Change maintainer from Bruno Haible to 'all'.
91861
91862 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91863
91864         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
91865
91866 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91867
91868         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
91869         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
91870         and define in terms of the other primitives.
91871         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
91872         (SIZE_MAX): Define if not already defined.
91873         (array_size_overflow): New function.
91874         (xalloc_die): Abort instead of exiting if 'error' returns.
91875         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
91876         (xmalloc, xrealloc): Use them.
91877         (xcalloc): Check for address arithmetic overflow.
91878         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
91879         a bit faster than strcpy.
91880
91881 2003-10-10  Simon Josefsson  <jas@extundo.com>
91882
91883         * modules/argp (Depends-on): Add restrict and strcase.
91884
91885 2003-10-10  Simon Josefsson  <jas@extundo.com>
91886
91887         * m4/argp.m4: Add AC_C_INLINE.
91888
91889 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91890
91891         Merge getpass from libc, plus a few fixes.
91892
91893         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
91894         Include <stdbool.h>.
91895         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
91896         __fsetlocking to empty.
91897         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
91898         do include <bits/libc-lock.h>.
91899         Do not include <fcntl.h>; not needed.
91900         [_LIBC]: Include <wchar.h>.
91901         (NOTCANCEL_MODE): New macro.
91902         (flockfile, funlockfile) [_LIBC]: New macros.
91903         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
91904         [!_LIBC]: New macros.
91905         (call_fclose): New function.
91906         (getpass): Use it.  Save tty stream separately; this simplifies the
91907         code and makes it more reliable if stdin happens to equal stdout.
91908         Invoke __fsetlocking on tty.
91909         Handle thread cancellation if needed.
91910         Namespace cleanup (use __tcgetattr, __getline).
91911         Use bool for Booleans.
91912         [USE_IN_LIBIO]: Handle wide streams.
91913         [!_LIBC]: Unconditionally do the fseek, since we don't know what
91914         stream might go where.
91915
91916         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
91917         doesn't have to include <stdio.h> before us.
91918         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
91919         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
91920         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
91921         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
91922         if not declared, so that we can use getpass.c code from libc without
91923         rewriting it.
91924         (flockfile, ftrylockfile, funlockfile): New macros.
91925
91926 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91927
91928         * modules/getpass: Depend on stdbool.
91929
91930 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91931
91932         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
91933
91934 2003-10-07  Karl Berry  <karl@gnu.org>
91935
91936         * config/config.{guess,sub}: update from config.
91937
91938 2003-10-06  Jim Meyering  <jim@meyering.net>
91939             Bruno Haible  <bruno@clisp.org>
91940
91941         This lets translators provide better translations for the
91942         "Written by ..." part of --version output.
91943         * lib/version-etc.h: Include stdarg.h.
91944         (version_etc_copyright): Declare as readonly.
91945         (version_etc): Make this function variadic with a NULL-terminated list
91946         of author name strings.
91947         (version_etc_va): New declaration.
91948         * lib/version-etc.c: Include stdarg.h, stdlib.h.
91949         (version_etc_copyright): Declare as readonly.
91950         (version_etc_va): New function. Provide a different translatable string
91951         for each possible number of authors < 10. Abbreviate when there are 10
91952         authors or more.
91953         (version_etc): Make this function variadic. Call version_etc_va.
91954         Suggestion from Gary V. Vaughan.
91955
91956         * lib/long-options.h (parse_long_options): Change prototype: the
91957         authors string is moved to the end and becomes variadic.
91958         * lib/long-options.c: Include stdarg.h.
91959         (parse_long_options): Make this function variadic, too.
91960         Call version_etc_va, not version_etc.
91961
91962 2003-10-06  Bruno Haible  <bruno@clisp.org>
91963
91964         * modules/version-etc-2: Remove file.
91965         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
91966
91967 2003-10-06  Bruno Haible  <bruno@clisp.org>
91968
91969         * modules/fatal-signal: New file.
91970         * MODULES.html.sh (func_all_modules): Add fatal-signal.
91971
91972 2003-10-06  Bruno Haible  <bruno@clisp.org>
91973
91974         * m4/fatal-signal.m4: New file.
91975         * m4/signalblocking.m4: New file, from GNU gettext.
91976
91977 2003-10-06  Bruno Haible  <bruno@clisp.org>
91978
91979         * lib/version-etc-2.h: Remove file.
91980         * lib/version-etc-2.c: Remove file.
91981
91982 2003-10-06  Bruno Haible  <bruno@clisp.org>
91983
91984         * lib/fatal-signal.h: New file, from GNU gettext.
91985         * lib/fatal-signal.c: New file, from GNU gettext.
91986
91987 2003-10-05  Paul Eggert  <eggert@twinsun.com>
91988
91989         * README: Rework advice for preventing empty .o files.
91990         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
91991         not <sys/types.h>.
91992
91993 2003-10-04  Karl Berry  <karl@gnu.org>
91994
91995         * lib/argp*: update from libc.
91996
91997 2003-10-04  Karl Berry  <karl@gnu.org>
91998
91999         * config/config.{guess,sub}: update from config.
92000
92001 2003-10-02  Bruno Haible  <bruno@clisp.org>
92002
92003         * modules/lchown (Include): Add lchown.h.
92004         * modules/time_r (Include): Use "..." syntax.
92005         * modules/xgetdomainname (Include): Add xgetdomainname.h.
92006
92007 2003-10-01  Simon Josefsson  <jas@extundo.com>
92008
92009         * MODULES.html.sh (func_all_modules): Move gethostname from section
92010         'based on' to section 'lacking' POSIX:2001.
92011
92012 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
92013
92014         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
92015         to output mode on the same stream.
92016
92017 2003-09-29  Paul Eggert  <eggert@twinsun.com>
92018
92019         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
92020         Fix arg typo in previous patch.
92021
92022 2003-09-28  Jim Meyering  <jim@meyering.net>
92023
92024         * lib/error.c: Correct cpp indentation.
92025
92026 2003-09-27  Paul Eggert  <eggert@twinsun.com>
92027
92028         * modules/free: New file.
92029
92030 2003-09-27  Paul Eggert  <eggert@twinsun.com>
92031
92032         * m4/free.m4: New file.
92033
92034 2003-09-27  Paul Eggert  <eggert@twinsun.com>
92035
92036         * lib/minmax.h (MIN, MAX)
92037         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
92038         Omit the special code that used __typeof__, since we worry that
92039         it could be more trouble than it's worth.  See:
92040         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
92041         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
92042
92043         * lib/free.c: New file.
92044
92045 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
92046
92047         Trivial fixes to Makefile.am parts of module listings.
92048         * modules/strstr: Append strstr.h to lib_SOURCES.
92049         * modules/strcase: Likewise, for strcase.h.
92050
92051 2003-09-27  Karl Berry  <karl@gnu.org>
92052
92053         * config/mkinstalldirs: update from automake.
92054
92055 2003-09-26  Paul Eggert  <eggert@twinsun.com>
92056
92057         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
92058         (error_tail): Do not loop, reallocating temporary buffer, since
92059         the output cannot contain more wide characters than the input
92060         contains bytes, the size must be big enough already.  This avoids
92061         one potential size overflow calculation.  Check for size overflow
92062         when calculating temporary buffer size.  Free temporary buffer
92063         when done, if it was allocated with malloc; this plugs a memory
92064         leak.  Remove casts from void * to pointers, that are no longer
92065         needed now that we're assuming C89 or better.
92066
92067         Merge error changes from glibc.
92068
92069         * lib/error.c, error.h: Update copyright notice header to match glibc.
92070         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
92071         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
92072         Disable cancellation while printing error.
92073         * lib/error.h: Prepend __ to parameter names.
92074
92075 2003-09-26  Jim Meyering  <jim@meyering.net>
92076
92077         * lib/error.c (error_tail): Move some declarations
92078         into inner scope where the local variables are used.
92079
92080 2003-09-26  Bruno Haible  <bruno@clisp.org>
92081
92082         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
92083         stpncpy().
92084         Don't define stpncpy through config.h; it's now done through stpncpy.h.
92085
92086 2003-09-26  Bruno Haible  <bruno@clisp.org>
92087
92088         * lib/stpncpy.h (gnu_stpncpy): New declaration.
92089         (stpncpy): Define as alias for gnu_stpncpy.
92090         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
92091
92092 2003-09-25  Simon Josefsson  <jas@extundo.com>
92093
92094         * lib/xgetdomainname.h: New file.
92095         * lib/xgetdomainname.c: New file.
92096
92097 2003-09-25  Simon Josefsson  <jas@extundo.com>
92098             Bruno Haible  <bruno@clisp.org>
92099
92100         * modules/getdomainname: New file.
92101         * modules/xgetdomainname: New file.
92102         * MODULES.html.sh (func_all_modules): Add getdomainname,
92103         xgetdomainname.
92104
92105 2003-09-25  Simon Josefsson  <jas@extundo.com>
92106             Bruno Haible  <bruno@clisp.org>
92107
92108         * m4/getdomainname.m4: New file.
92109
92110 2003-09-25  Simon Josefsson  <jas@extundo.com>
92111             Bruno Haible  <bruno@clisp.org>
92112
92113         * lib/getdomainname.h: New file.
92114         * lib/getdomainname.c: New file.
92115
92116 2003-09-25  Karl Berry  <karl@gnu.org>
92117
92118         * lib/argp-fmtstream.c, argp-help.c: update from libc.
92119
92120 2003-09-25  Karl Berry  <karl@gnu.org>
92121
92122         * config/install-sh: update from automake.
92123
92124 2003-09-25  Bruno Haible  <bruno@clisp.org>
92125
92126         * modules/version-etc-2: New file, from modules/version-etc with
92127         modifications.
92128         * MODULES.html.sh (func_all_modules): Add version-etc-2.
92129
92130 2003-09-25  Bruno Haible  <bruno@clisp.org>
92131
92132         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
92133         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
92134
92135 2003-09-24  Simon Josefsson  <jas@extundo.com>
92136
92137         * modules/xgethostname: Add xgethostname.h.
92138
92139 2003-09-24  Paul Eggert  <eggert@twinsun.com>
92140
92141         * lib/linebuffer.c (freebuffer): Don't free the argument, just
92142         the buffer associated with the argument.  Bug reported by
92143         Simon Josefsson.
92144
92145 2003-09-24  Paul Eggert  <eggert@twinsun.com>
92146
92147         * README: Document assumptions that 'int' is at least 32 bits
92148         wide, that integer arithmetic is 2's complement without overflow,
92149         that there are no holes in integer values, that adding sizes of
92150         two nonoverlapping objects can't overflow, and that all-bits-zero
92151         yields scalar zero.  Fix spelling and capitalization typos.
92152
92153 2003-09-19  Karl Berry  <karl@gnu.org>
92154
92155         * lib/argp.h: update from libc.
92156
92157 2003-09-17  Paul Eggert  <eggert@twinsun.com>
92158
92159         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
92160         to avoid spurious warnings like "AC_RUN_IFELSE was called before
92161         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
92162
92163 2003-09-17  Paul Eggert  <eggert@twinsun.com>
92164
92165         * gnulib-tool: Use "test -h", not "test -L", for portability
92166         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
92167         (tags_regexp): Remove, since \| doesn't conform to POSIX.
92168         (sed_extract_prog): Issue s commands one-by-one, rather than
92169         using \| in one s command.
92170
92171 2003-09-16  Paul Eggert  <eggert@twinsun.com>
92172
92173         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
92174         input error, instead of returning NULL the next time we are called
92175         (and therefore losing track of errno).
92176
92177 2003-09-16  Bruno Haible  <bruno@clisp.org>
92178
92179         * gnulib-tool (func_create_testdir): Warn about duplicated
92180         dependencies.
92181
92182 2003-09-15  Paul Eggert  <eggert@twinsun.com>
92183
92184         * modules/argmatch, modules/fatal, modules/obstack,
92185         modules/xalloc, modules/xgethostname: Sort dependencies by
92186         importance, not alphabetically.
92187
92188 2003-09-15  Paul Eggert  <eggert@twinsun.com>
92189
92190         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
92191         fails, so that the caller gets the proper errno.
92192
92193         * lib/readutmp.c (read_utmp): Likewise.
92194         Check for fstat error.  Close stream and free storage
92195         when failing.
92196
92197 2003-09-14  Karl Berry  <karl@gnu.org>
92198
92199         * config/srclist.txt (strdup.c): disable for c89 changes.
92200
92201 2003-09-14  Jim Meyering  <jim@meyering.net>
92202
92203         * lib/getloadavg.c: Correct cpp indentation.
92204         * lib/strdup.c: Likewise.
92205         * lib/vasnprintf.c: Likewise.
92206
92207 2003-09-14  Bruno Haible  <bruno@clisp.org>
92208
92209         * modules/fwriteerror: New file.
92210         * MODULES.html.sh (func_all_modules): Add fwriteerror.
92211
92212 2003-09-14  Bruno Haible  <bruno@clisp.org>
92213
92214         * lib/fwriteerror.h: New file.
92215         * lib/fwriteerror.c: New file.
92216
92217 2003-09-12  Paul Eggert  <eggert@twinsun.com>
92218
92219         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
92220         modules/xgethostname, modules/xalloc: Depend on exit.
92221
92222 2003-09-12  Paul Eggert  <eggert@twinsun.com>
92223
92224         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
92225
92226         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
92227         and AC_MINIX, too, so that their extensions are available.
92228
92229         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
92230         This macro has been superseded by gl_BACKUPFILE.
92231
92232         More patches to assume C89 or better.
92233
92234         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
92235
92236         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
92237         unconditionally.
92238         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
92239         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
92240         Include <string.h>, <stdlib.h> unconditionally.
92241         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
92242         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
92243         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
92244         headers or for string.h.
92245         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
92246         or strtoul.
92247
92248         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
92249         headers.
92250         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
92251         * m4/userspec.m4 (gl_USERSPEC): Likewise.
92252         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
92253         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
92254         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
92255         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
92256         memcpy, memset.
92257         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
92258         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
92259         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
92260         strtol.
92261         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
92262         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
92263         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
92264         strtoul.
92265
92266 2003-09-12  Paul Eggert  <eggert@twinsun.com>
92267
92268         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
92269         * lib/obstack.c [!defined _LIBC]: Likewise.
92270         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
92271         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
92272         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
92273
92274         More changes to assume C89 or better.
92275
92276         * lib/error.c (error_tail): Assume vprintf.
92277
92278         * lib/argmatch.c (getenv): Remove decl.
92279         * lib/progreloc.c (get_full_program_name): Define via prototype.
92280         * lib/setenv.c (clearenv): Likewise.
92281         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
92282         needed.
92283         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
92284         (malloc, memcpy): Remove decls.
92285         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
92286         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
92287         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
92288         (memcpy): Remove macro.
92289         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
92290         (__P): Remove.  All uses removed.
92291         (PTR): Remove.  All uses changed to void *.
92292         (CHAR_BIT, NULL): Remove.
92293         (spaces, zeros, memset_space, memset_zero)
92294         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
92295         Remove.
92296         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
92297         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
92298         Define with prototype.
92299         Remove now-unnecessary prototype decl.
92300         (extra_args_spec): Assume ANSI C.  All uses changed.
92301         (extra_args_spec_iso): Remove.
92302         (my_strftime, emacs_strftimeu): Define via prototype.
92303         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
92304         unconditionally.
92305         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
92306         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
92307         (strtoul, strtol): Remove decls.
92308         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
92309         LONG_MAX): Remove.
92310         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
92311         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
92312         (LOCALE_PARAM_PROTO): New macro.
92313         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
92314         (INTERNAL (strtol), strtol): Define with a prototype.
92315         (PARAMS): Remove.  All uses removed.
92316         * lib/tempname.c: Include <string.h> unconditionally.
92317         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
92318         * lib/xgethostname.c (main): Define with a prototype.
92319         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
92320         Include <stdlib.h> unconditionally.
92321         (calloc, malloc, realloc, free): Remove decls.
92322         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
92323         Include <stdlib.h> unconditionally.  Sort include file names.
92324         (strtod): Remove.
92325         (xstrtod): Define with a prototype.
92326         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
92327         (strtol, strtoul): Remove decls.
92328
92329 2003-09-11  Paul Eggert  <eggert@twinsun.com>
92330
92331         More patches to assume C89 or better.
92332         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
92333         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
92334         string.h, memchr, STDC_HEADERS.
92335
92336 2003-09-11  Paul Eggert  <eggert@twinsun.com>
92337
92338         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
92339         Include <stdlib.h>, <string.h> unconditionally.
92340         Remove now-unnecessary cast to char *.
92341         * lib/strnlen.c: Include <string.h> unconditionally.
92342         * lib/yesno.c (yesno): Define with a prototype.
92343
92344 2003-09-11  Bruno Haible  <bruno@clisp.org>
92345
92346         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
92347
92348 2003-09-10  Jim Meyering  <jim@meyering.net>
92349
92350         * lib/error.c: Correct indentation of cpp directives.
92351
92352 2003-09-10  Bruno Haible  <bruno@clisp.org>
92353
92354         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
92355         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
92356         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
92357         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
92358         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
92359         <stdlib.h> and <string.h> checks.
92360         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
92361         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
92362
92363 2003-09-10  Bruno Haible  <bruno@clisp.org>
92364
92365         * lib/strcspn.c: Include <string.h> unconditionally.
92366         * lib/strpbrk.c: Include <string.h> unconditionally.
92367         * lib/strstr.c: Include <string.h> unconditionally.
92368         * lib/unicodeio.c: Include <string.h> unconditionally.
92369         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
92370         * lib/unsetenv.c: Likewise.
92371         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
92372         * lib/yesno.c: Include <stdlib.h> unconditionally.
92373         (rpmatch): Add prototype.
92374
92375 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92376
92377         More patches to assume C89 or better.
92378         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
92379         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
92380         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
92381         or for string.h.
92382         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
92383         stdlib.h.
92384         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
92385         C headers.
92386         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
92387         string.h.
92388         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
92389         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
92390         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
92391         or for string.h.
92392         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
92393         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
92394         C headers.
92395         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
92396         memcpy.
92397         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
92398         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
92399         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
92400         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
92401         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
92402         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
92403         string.h, free.
92404         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
92405         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
92406         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
92407         C headers, or for string.h.
92408         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
92409         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
92410         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
92411         headers, memory.h, stdlib.h, string.h, strings.h.
92412         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
92413         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
92414         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
92415         strchr.
92416         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
92417         headers, memory.h, string.h.
92418         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
92419         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
92420         free.
92421         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
92422         headers.
92423         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
92424         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
92425         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
92426         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
92427         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
92428
92429 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92430
92431         More K&R removal.
92432
92433         * lib/acosl.c (main): Use a prototype.
92434         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
92435         tanl.c: Likewise.
92436
92437         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
92438
92439         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
92440         (getopt, etopt_long, getopt_long_only, _getopt_internal)
92441         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
92442         with a prototype.
92443         * lib/getopt.c (const): Remove macro.
92444         Include <string.h> unconditionally.
92445         (my_index): Remove; all uses changed to strchr.
92446         (strlen): Remove decl.
92447         (exchange): Remove forward decl; no longer needed.
92448         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
92449         Define with prototype.
92450         * lib/getopt1.c (const): Remove macro.
92451         (getopt_long, getopt_long_only, main): Define with prototype.
92452
92453         * lib/getugroups.c: Include <string.h> unconditionally.
92454
92455         * lib/getusershell.c: Include <stdlib.h> unconditionally.
92456         (getusershell, setusershell, endusershell, readname, main):
92457         Define with prototypes.
92458
92459         * lib/group-member.c: Include group-member.h first.
92460         Include <stdlib.h> unconditionally.
92461
92462         * lib/hard-locale.c: Include hard-locale.h first.
92463         Include <stdlib.h>, <string.h> unconditionally.
92464
92465         * lib/hash.c (free, malloc): Remove decls.
92466         Include <stdlib.h> unconditionally.
92467
92468         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
92469         (getenv): Do not declare.
92470
92471         * lib/idcache.c: Include <string.h> unconditionally.
92472
92473         * lib/long-options.c: Include long-options.h first, to test interface.
92474         Include <stdlib.h> unconditionally.
92475
92476         * lib/makepath.c: Include makepath.h first, to test interface.
92477         Include <stdlib.h> and <string.h> unconditionally.
92478
92479         * lib/linebuffer.c: Include <stdlib.h>.
92480         (free): Remove decl.
92481
92482         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
92483         stddef.h. rpl_malloc returns void *, not char *.
92484         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
92485         prototype.
92486
92487         * lib/md5.h: Include <limits.h> unconditionally.
92488         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
92489         (__P): Remove; all uses removed.
92490         * lib/md5.c: Include "md5.h" first.
92491         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
92492         md5_buffer, md5_process_bytes, md5_process_block):
92493         Define with prototypes.
92494         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
92495         * lib/sha.c: Include "sha.h" first.
92496         Include <stdlib.h>, <string.h> unconditionally.
92497
92498         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
92499         * lib/memcmp.c (__ptr_t): Likewise.
92500         * lib/memrchr.c (__ptr_t): Likewise.
92501         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
92502         Include <string.h> unconditionally.
92503         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
92504         * lib/memchr.c: Include <stdlib.h> unconditionally.
92505         * lib/memchr.c (LONG_MAX): Remove.
92506         * lib/memrchr.c (LONG_MAX): Likewise.
92507         * lib/memchr.c (__memchr): Define via a prototype.
92508         * lib/memrchr.c (__memrchr): Likewise.
92509         * lib/memcmp.c (__P): Remove, and remove all uses.
92510         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
92511         Remove forward decls; no longer needed.
92512         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
92513         Use types required by C89 in prototype.
92514
92515         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
92516         * lib/savedir.c: Likewise.
92517         * lib/mkdir.c (free): Remove decl.
92518         * lib/rmdir.c (rmdir): Define with a prototype.
92519         * lib/savedir.c: Include savedir.h first, to test interface.
92520
92521         * lib/mktime.c (STDC_HEADERS): Remove.
92522         Include <stdlib.h>, <string.h> unconditionally.
92523
92524         * lib/modechange.c: Include <stdlib.h> unconditionally.
92525         (malloc): Remove decl.
92526
92527         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
92528         (free): Remove decl.
92529
92530         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
92531         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
92532         (This type really should be intptr_t, but that's a C99ism.)
92533         (_obstack_memcpy): Remove: all uses changed to memcpy.
92534         Include <string.h> unconditionally.
92535         (struct obstack): Assume __STDC__ for types of members
92536         chunkfun, freefun, extra_arg.
92537         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
92538         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
92539         obstack_begin, obstack_specify_allocation,
92540         obstack_specify_allocation_with_arg, obstack_chunkfun,
92541         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
92542         Remove unprototyped decls and the macros that use them.
92543         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
92544         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
92545         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
92546         (defined __STDC__ && __STDC__)]:
92547         Remove nonprototyped code.
92548         Include <stdlib.h> unconditionally.
92549         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
92550         _obstack_allocated_p, _obstack_free, obstack_free,
92551         _obstack_memory_used, print_and_abort):
92552         Define using prototypes.
92553         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
92554         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
92555         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
92556         obstack_next_free, obstack_object_size, obstack_room) [0]:
92557         Remove unused, unprototyped code.
92558
92559         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
92560
92561         * lib/physmem.c (physmem_total, physmem_available, main): Define
92562         with prototypes.
92563
92564         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
92565         (main): Define with a prototype.
92566
92567         * lib/posixver.c (getenv): Remove decl.
92568
92569         * lib/putenv.c (malloc): Returns void *, not char *.
92570         Include <string.h> unconditionally.
92571         (strchr, memcpy, NULL): Do not define.
92572
92573         * lib/readtokens.c: Include readtokens.h first, to test interface.
92574         Include <stdlib.h>, <string.h> unconditionally.
92575         (init_tokenbuffer): Define with a prototype.
92576
92577         * lib/regex.c (PARAMS): Remove.  All uses removed.
92578         All uses of _RE_ARGS removed, too.
92579         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
92580         unconditionally.
92581         (bzero): Assume memset exists.
92582         (memcmp, memcpy, NULL): Remove.
92583         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
92584         char, or assignments to local vars of type signed char.
92585         (init_syntax_once, PREFIX(extract_number_and_incr),
92586         PREFIX(print_partial_compiled_pattern),
92587         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
92588         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
92589         PREFIX(regex_grow_registers), PREFIX(regex_compile),
92590         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
92591         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
92592         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
92593         wcs_compile_range, byte_compile_range, truncate_wchar,
92594         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
92595         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
92596         count_mbs_length, wcs_re_match_2_internal,
92597         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
92598         PREFIX(alt_match_null_string_p),
92599         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
92600         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
92601         regfree, PREFIX(extract_number)): Define with prototype.  Remove
92602         now-unnecessary declaration, if any.
92603         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
92604         regcomp, regexec):
92605         Remove now-unnecessary casts among pointer types.
92606         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
92607
92608         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
92609         (free): Remove decl.
92610
92611         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
92612
92613         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
92614         (free): Remove decl.
92615
92616         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
92617         * lib/xgetcwd.c: Likewise.
92618
92619         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
92620         (free): Remove decl.
92621
92622         * lib/strchrnul.c (strchrnul): Define with a prototype.
92623         Fix bug: c_in was not converted to char before searching.
92624
92625         The following changes are not K&R related:
92626
92627         * lib/group-member.h: Include <sys/types.h>, so that this file is
92628         self-contained.
92629         * lib/makepath.h: Likewise.
92630
92631         * lib/getusershell.c (readname, default_index, line_size, readname):
92632         Use size_t, not int, for sizes.
92633         (readname): If the size overflows, report an error instead of
92634         looping forever.
92635
92636 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92637
92638         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
92639         libc.
92640
92641 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92642
92643         * README: New section: portability guidelines.
92644
92645 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92646
92647         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
92648         C89 spec.
92649
92650 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92651
92652         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
92653
92654 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92655
92656         Assume C89 or better; remove K&R cruft.
92657         A few of these changes were first proposed by Derek Robert Price
92658         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
92659
92660         * lib/addext.c: Include <string.h> unconditionally.
92661         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
92662         Don't declare getenv or malloc.
92663
92664         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
92665         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
92666         (NULL): Remove.
92667         (find_stack_direction, alloca): Use prototypes.
92668
92669         * lib/atexit.c (atexit): Define using a prototype.
92670
92671         * lib/basename.c, dirname.c, stripslash.c:
92672         Include <string.h> unconditionally.
92673
92674         * lib/bcopy.c: Include <stddef.h>.
92675         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
92676
92677         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
92678
92679         * lib/error.h (error, error_at_line, error_print_progname)
92680         [! (defined (__STDC__) && __STDC__)]: Remove decls.
92681         * lib/error.c: Include error.h first, to check interface.
92682         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92683         (VA_START): Remove; all uses changeed to va_start.
92684         (exit, strerror): Remove decls.
92685         (error_print_progname): Prototype uncondionally.
92686         Don't include <errno.h>; no longer needed.
92687         (private_strerror): Remove.
92688         (error_tail): Always define.
92689         (error, error_at_line): Assume C89 or better; always use prototypes.
92690         * lib/fatal.c: Include "fatal.h" first, to test interface.
92691         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92692         (VA_START): Remove; all uses changed to va_start.
92693         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
92694         this case.
92695         (exit): Remove decl.
92696         (fatal): Prototype unconditionally.  Assume va_start works.
92697         Abort at end, to pacify gcc.
92698
92699         * lib/euidaccess.c (main): Define with a prototype.
92700
92701         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
92702
92703         * lib/exitfail.c: Include <stdlib.h> unconditionally.
92704
92705         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
92706         prototypes.
92707         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
92708         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
92709         (getenv): Remove decl.
92710         (fnmatch): Define using a prototype.
92711         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
92712         (FCT): Define using a prototype.
92713
92714         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
92715
92716         * lib/gethostname.c: Include <stddef.h>.
92717         (gethostname): Define with prototype.  Length is size_t, not int.
92718
92719 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92720
92721         Assume C89 or better; remove K&R cruft.
92722         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
92723         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
92724         string.h, getenv, malloc.
92725         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
92726         headers.
92727         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
92728         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
92729         do not check for strerror.
92730         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
92731         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
92732         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
92733         do not check for doprnt or vprintf.
92734         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
92735         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
92736
92737 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92738
92739         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
92740         getversion.c should have been removed then, but was accidentally
92741         preserved.
92742
92743         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
92744         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
92745
92746 2003-09-08  Karl Berry  <karl@gnu.org>
92747
92748         * config/config.sub, config.guess, srclistvars.sh: update from savannah
92749                 config, forget about prep.
92750
92751         * config/depcomp, missing: update from automake.
92752
92753 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92754
92755         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
92756         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92757
92758 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92759
92760         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
92761         copy_tm_result.  Bug reported by Simon Josefsson in
92762         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92763
92764 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92765
92766         * m4/time_r.m4: New file.
92767         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
92768         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
92769         is. Check for timegm declaration.
92770         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
92771         Do not check for gmtime_r.
92772         Replace mktime if __mktime_internal does not exist and if mktime
92773         hasn't been replaced already.
92774
92775 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92776
92777         * lib/time_r.c, lib/time_r.h: New files.
92778
92779         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
92780         __localtime_r.
92781         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
92782         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
92783
92784         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
92785         __gmtime_r.
92786         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
92787         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
92788         Include <time_r.h>.
92789
92790         * lib/timegm.c: Switch to glibc implementation, with the following
92791         changes:
92792         [defined HAVE_CONFIG_H]: Include <config.h>.
92793         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
92794         (__mktime_internal) [!defined _LIBC]: New decl.
92795         (__gmtime_r) [!defined _LIBC]: New macro and function.
92796         (timegm): Use a prototype, since gnulib assumes C89.
92797         Do not bother declaring tmp to be const, as it's not really usefu.
92798         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
92799         (timegm): Declare only if HAVE_DECL_TIMEGM.
92800
92801 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92802
92803         * MODULES.html.sh (func_all_modules): Add time_r.
92804         * modules/time_r: New file.
92805         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
92806         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
92807
92808 2003-09-03  Paul Eggert  <eggert@twinsun.com>
92809
92810         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
92811         Bug reported by Lute Kamstra in
92812         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
92813
92814         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
92815         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
92816         course with correspondingly smaller numbers for tomorrow and
92817         yesterday.  From Tadayoshi Funaba.  Originally installed into
92818         sh-utils on 1999-08-07, but the patch got lost (I guess during the
92819         coreutils merge?).
92820
92821 2003-08-31  Simon Josefsson  <jas@extundo.com>
92822
92823         * modules/timegm: New file.
92824         * MODULES.html.sh (func_all_modules): Add timegm.
92825
92826 2003-08-31  Simon Josefsson  <jas@extundo.com>
92827
92828         * m4/timegm.m4: New file.
92829
92830 2003-08-31  Simon Josefsson  <jas@extundo.com>
92831
92832         * lib/timegm.h: New file.
92833         * lib/timegm.c: New file.  Based on
92834         wget-1.8.2/src/http.c:mktime_from_utc.
92835
92836 2003-08-31  Karl Berry  <karl@gnu.org>
92837
92838         * lib/argp.h: update from libc.
92839
92840 2003-08-28  Bruno Haible  <bruno@clisp.org>
92841
92842         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
92843         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
92844         followed by '#define fnmatch fnmatch_posix' gives an error.
92845
92846 2003-08-28  Bruno Haible  <bruno@clisp.org>
92847
92848         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
92849         warning on QNX, which defines O_BINARY to 000000.
92850
92851 2003-08-27  Jim Meyering  <jim@meyering.net>
92852
92853         * m4/mkstemp.m4: Require that the system mkstemp be able to create
92854         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
92855         would fail after 32.  Reported by Danny Levinson.  Details here:
92856         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
92857
92858 2003-08-24  Bruno Haible  <bruno@clisp.org>
92859
92860         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
92861         MSVC7 <stdio.h> is included later.
92862
92863 2003-08-22  Simon Josefsson  <jas@extundo.com>
92864
92865         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
92866
92867 2003-08-20  Karl Berry  <karl@gnu.org>
92868
92869         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
92870
92871 2003-08-20  Bruno Haible  <bruno@clisp.org>
92872
92873         * modules/progname: New file.
92874         * MODULES.html.sh (func_all_modules): Add progname.
92875
92876 2003-08-20  Bruno Haible  <bruno@clisp.org>
92877
92878         * lib/progname.h: New file, from GNU gettext.
92879         * lib/progname.c: New file, from GNU gettext.
92880         * lib/progreloc.c: New file, from GNU gettext.
92881
92882 2003-08-19  Jim Meyering  <jim@meyering.net>
92883
92884         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
92885         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
92886
92887 2003-08-19  Bruno Haible  <bruno@clisp.org>
92888
92889         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
92890         more.
92891
92892 2003-08-19  Bruno Haible  <bruno@clisp.org>
92893
92894         * lib/xstrdup.c: Assume <string.h> exists.
92895
92896 2003-08-18  Paul Eggert  <eggert@twinsun.com>
92897
92898         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
92899         in makefile rules.
92900
92901 2003-08-18  Jim Meyering  <jim@meyering.net>
92902
92903         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
92904         * m4/lib-ld.m4: Likewise.
92905
92906 2003-08-18  Jim Meyering  <jim@meyering.net>
92907
92908         * lib/setenv.h: Indent nested cpp directive.
92909         * lib/vasnprintf.c: Remove trailing blanks.
92910
92911 2003-08-17  Simon Josefsson  <jas@extundo.com>
92912
92913         * modules/xstrndup: New file.
92914         * MODULES.html.sh (func_all_modules): Add xstrndup.
92915
92916 2003-08-17  Simon Josefsson  <jas@extundo.com>
92917
92918         * modules/argp: Fix autoconf macro name. Add more dependencies.
92919
92920 2003-08-17  Simon Josefsson  <jas@extundo.com>
92921
92922         * m4/xstrndup.m4: New file.
92923
92924 2003-08-17  Simon Josefsson  <jas@extundo.com>
92925
92926         * m4/argp.m4: New file.
92927
92928 2003-08-17  Simon Josefsson  <jas@extundo.com>
92929             Bruno Haible  <bruno@clisp.org>
92930
92931         * lib/xstrndup.h: New file.
92932         * lib/xstrndup.c: New file.
92933
92934 2003-08-17  Bruno Haible  <bruno@clisp.org>
92935
92936         * modules/strndup (Files, Include): Add lib/strndup.h.
92937
92938 2003-08-17  Bruno Haible  <bruno@clisp.org>
92939
92940         * modules/euidaccess (Files): Add lib/euidaccess.h.
92941
92942 2003-08-17  Bruno Haible  <bruno@clisp.org>
92943
92944         * lib/strndup.h: New file.
92945
92946 2003-08-17  Bruno Haible  <bruno@clisp.org>
92947
92948         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
92949         like AC_GNU_SOURCE.
92950         * modules/extensions (configure.ac): Comment out the invocation of
92951         gl_USE_SYSTEM_EXTENSIONS.
92952
92953 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92954
92955         Merges from coreutils, etc.
92956         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
92957         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
92958         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
92959         fixing a typo.
92960         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
92961         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
92962
92963 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92964
92965         Document merge from coreutils.
92966         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
92967         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
92968         * modules/utime: Add m4/utimes-null.m4.
92969
92970 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92971
92972         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
92973         space, undoing this 2003-08-12 change:
92974         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92975
92976 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92977
92978         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
92979         strtoul.c from libc, undoing this 2003-08-12 change:
92980         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92981
92982 2003-08-16  Jim Meyering  <jim@meyering.net>
92983
92984         Merges from coreutils.
92985         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
92986         prefix.  Adjust cache variables similarly.  Create 500 rather than
92987         just 300 files, to exercise bug on Darwin6.5, too.
92988         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
92989         $missing_dir.
92990         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
92991         AM_SYS_POSIX_TERMIOS.
92992         Reported by mkc@mathdogs.com.
92993         Also change use of $am_cv_sys_posix_termios
92994         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
92995         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
92996         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
92997         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
92998         in /proc/mounts until it finds one with matching device number.  This
92999         is unnecessary when the FILE argument *is* a mount point.  No stat call
93000         is necessary in that case.  So, disable the statvfs-testing code on
93001         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
93002         as RedHat bug# 84846.
93003         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
93004         to 1MB, so as not to render systems with no stack size limit (e.g.,
93005         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
93006         Include <unistd.h>.  On some systems,
93007         it is required for the definition of _SC_PAGESIZE.
93008
93009 2003-08-16  Jim Meyering  <jim@meyering.net>
93010
93011         Merge from coreutils.
93012         * lib/xstrtoimax.c: #else #if -> #elif.
93013         * lib/xstrtoumax.c: Likewise.
93014
93015 2003-08-16  Jim Meyering  <jim@meyering.net>
93016
93017         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
93018         * m4/utimes.m4: Removed.
93019         * m4/utimes-null.m4: Renamed from utimes.m4.
93020
93021         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
93022         to 1MB, so as not to render systems with no stack size limit (e.g.,
93023         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
93024         Include <unistd.h>.  On some systems,
93025         it is required for the definition of _SC_PAGESIZE.
93026
93027 2003-08-16  Jim Meyering  <jim@meyering.net>
93028         and Paul Eggert  <eggert@cs.ucla.edu>
93029
93030         Merges from coreutils, etc.
93031
93032         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
93033         using the latest version from cvs.  This avoids problems with #line
93034         directives using a vendor (Sun) compiler.
93035         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
93036         Don't set GETGROUPS_LIB here; now it's
93037         done via getgroups.m4's wrapper function.
93038         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
93039         rather than just in sh-util/configure.in, so that the
93040         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
93041         same.
93042         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
93043         AC_FUNC_GETLOADAVG where to find getloadavg.c.
93044         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
93045         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
93046         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
93047         Remove code that is now done by the newly-required macros.
93048         Append $(EXEEXT) to DF_PROG.
93049         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
93050         Do not invoke or require the following here,
93051         since prereq.m4 or some gnulib .m4 now does this for us:
93052         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
93053         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
93054         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
93055         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
93056         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
93057         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
93058         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
93059         AC_FUNC_OBSTACK.
93060         Do not replace the following functions, as this is now the job
93061         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
93062         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
93063         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
93064         atexit getpass, strdup, getpagesize.
93065         Replace 'raise'.
93066         Do not check for the following functions, as this is now the job
93067         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
93068         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
93069         setregid.
93070         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
93071         Check for sys/sysctl.h.
93072         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
93073         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
93074         of checking for ssize_t ourselves.
93075
93076         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
93077         Require every macro that gnulib/modules/* suggests for us.
93078         (jm_PREREQ_ADDEXT): New macro.
93079         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
93080         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
93081
93082         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
93083         (gl_PHYSMEM): Use it.
93084         Also check for `table' function.
93085         Check for new headers and functions.
93086         Add check for sys/sysmp.h.
93087         With suggestions from Kaveh Ghazi.
93088         Ignore headers that are present but cannot be compiled.  This
93089         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
93090         C 5.4.
93091
93092 2003-08-15  Paul Eggert  <eggert@twinsun.com>
93093
93094         Document merge from coreutils.
93095         * modules/userspec: Depend on posixver.
93096         * modules/strftime: Depend on tzset.
93097
93098 2003-08-15  Paul Eggert  <eggert@twinsun.com>
93099
93100         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
93101         rather than tab, after '#' in shell-script copyright notices.
93102         Suggested by Bruno Haible.
93103
93104 2003-08-15  Paul Eggert  <eggert@twinsun.com>
93105
93106         * config/srclist-update: Use three spaces, rather than tab, after '#'
93107         in shell-script copyright notices.  Suggested by Bruno Haible.
93108         Remove unnecessary parenthesization in regular expression.
93109
93110 2003-08-15  Jim Meyering  <jim@meyering.net>
93111
93112         Merge from coreutils.
93113         * lib/xgethostname.c: Include <stdlib.h>.
93114         (xghostname): Don't exit for anything other than memory-related
93115         failure; just return NULL.
93116         * lib/userspec.c: Include "posixver.h".
93117         (parse_user_spec): Accept `.' as a separator only
93118         in pre-POSIX-200112 mode.
93119         * lib/strtoimax.c: Use #elif rather than #else #if.
93120         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
93121         Remove function, now that we can rely on a working tzset function.
93122         [!_LIBC]: Ensure that the required autoconf test has been run.
93123         [!defined _NL_CURRENT && HAVE_STRFTIME]:
93124         Use underlying_strftime for %r.
93125         * lib/sha.c: Merge in some clean-up and optimization changes from
93126         glibc.
93127         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
93128         Ensure that it is a multiple of 64.
93129         Rearrange loop exit tests so as to avoid performing an
93130         additional fread after encountering an error or EOF.
93131         * lib/realloc.c: Update copyright date.
93132
93133 2003-08-15  Jim Meyering  <jim@meyering.net>
93134         and Paul Eggert  <eggert@twinsun.com>
93135
93136         Merge from coreutils.
93137         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
93138         member but strut utmpx does not.  Needed for AIX 4.3.3.
93139         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
93140
93141 2003-08-15  Jim Meyering  <jim@meyering.net>
93142         and Paul Eggert  <eggert@cs.ucla.edu>
93143
93144         Merges from coreutils, etc.
93145         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
93146         Require gl_FUNC_TZSET_CLOBBER.
93147         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
93148         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
93149         members.
93150
93151 2003-08-14  Paul Eggert  <eggert@twinsun.com>
93152
93153         Help the merge from coreutils.
93154         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
93155         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
93156         * m4/tzset.m4: Use it too.
93157
93158 2003-08-14  Paul Eggert  <eggert@twinsun.com>
93159
93160         * modules/tzset: New file.
93161
93162 2003-08-14  Jim Meyering  <jim@meyering.net>
93163
93164         Merges from coreutils.
93165         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
93166         variable names, rather than @FNMATCH_H@.
93167         * modules/alloca: Likewise for $(ALLOCA_H).
93168
93169         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
93170         the three copies of the literal target, `fnmatch.h'.
93171         * modules/alloca (alloca.h): Likewise.
93172
93173 2003-08-14  Jim Meyering  <jim@meyering.net>
93174
93175         Merge from coreutils.
93176         * m4/tzset.m4: New file.
93177         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
93178         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
93179         otherwise, AIX 5.1 systems would end up using the latter.
93180         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
93181         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
93182         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
93183         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
93184
93185 2003-08-14  Jim Meyering  <jim@meyering.net>
93186
93187         Merge from coreutils.
93188         * lib/obstack.h: Whitespace changes.
93189         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
93190         and xcalloc return values.
93191         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
93192         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
93193         hang on OSF/1 5.1 for DIR on both local and remote file systems.
93194         Reported by (and fix confirmed by) Nelson H. F. Beebe.
93195         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
93196         error from mntctl.
93197         Use mntctl's return value to drive the entry-processing loop, since
93198         we can't rely on the value of the vmt_length member in the last
93199         entry.  On some systems doing so could result in exhausting
93200         virtual memory.  Based in part on a patch from Mike Jetzer.
93201
93202 2003-08-14  Jim Meyering  <jim@meyering.net>
93203         and Paul Eggert  <eggert@twinsun.com>
93204
93205         Merges from coreutils, plus other fixes.
93206         * lib/physmem.c: Merge in portability changes from gcc/libiberty
93207         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
93208         for credits and details.  Thanks to Kaveh Ghazi for helping
93209         to keep these files in sync.
93210         (ARRAY_SIZE): Define it.
93211         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
93212         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
93213         (memcasecmp): Don't assume size_t fits in unsigned int.
93214         Remove casts and duplicate code.
93215         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
93216         (memcpy): Remove definition.
93217         Merge in some clean-up and optimization changes from glibc.
93218         [BLOCKSIZE]: Move definition to top of file.
93219         Ensure that it is a multiple of 64.
93220         Rearrange loop exit tests so as to avoid performing an
93221         additional fread after encountering an error or EOF.
93222         * lib/md5.h (md5_uintptr): Define.
93223         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
93224         return to the initial working directory.  Preserve errno
93225         for caller.
93226         * lib/idcache.c: Include "xalloc.h".
93227         (xmalloc, xrealloc): Remove decls.
93228         (getuser): Remove casts no longer required in C89.
93229         * lib/human.c: Include stdio.h, for sprintf.
93230         * lib/group-member.c: Include "xalloc.h".
93231         (xmalloc, xrealloc): Remove decls.
93232         (get_group_info): Remove casts no longer required in C89.
93233         * lib/getusershell.c (readname): Remove casts no longer required in
93234         C89.
93235         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
93236         * lib/getline.c: Whitespace fix, from coreutils.
93237
93238 2003-08-13  Paul Eggert  <eggert@twinsun.com>
93239
93240         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
93241         Check for isascii.
93242
93243         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
93244         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
93245         Undo previous (whitespace-only) change.
93246
93247 2003-08-13  Paul Eggert  <eggert@twinsun.com>
93248
93249         * lib/exclude.c: Include <ctype.h>
93250         (IN_CTYPE_DOMAIN): New macro.
93251         (is_space): New fn.
93252         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
93253         and empty lines.
93254
93255         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
93256         Undo previous (whitespace-only) change.
93257
93258 2003-08-13  Paul Eggert  <eggert@twinsun.com>
93259
93260         * config/srclist-update: Change update back to the old behavior,
93261         leaving whitespace alone.  Use one 'sed' command rather than a
93262         pipeline.
93263         (fixlicense): Now a variable, not a function.
93264         (remove_trailing_blanks): Remove.
93265         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
93266         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
93267         Undo previous (whitespace-only) change.
93268
93269 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93270
93271         Merge from coreutils.
93272         * modules/euidaccess: Add lib_SOURCES, include for new
93273         file euidaccess.h
93274
93275 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93276
93277         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
93278         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
93279         Normalize leading white space and remove trailing white space.
93280
93281         Merge from coreutils
93282         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
93283
93284         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
93285         0.12.1.  These files are now being upgraded automatically by
93286         ../config/srclist-update.
93287
93288 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93289
93290         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
93291         Normalize leading white space and remove trailing white space.
93292         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
93293         notice, as per ../config/srclist-update.
93294
93295         Merge from coreutils.
93296         * lib/euidaccess.h: New file.
93297         * lib/euidaccess.c: Include it.
93298         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
93299         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
93300         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
93301
93302 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93303
93304         * config/srclist-update: Add copyright notice.
93305         (remove_id_lines, remove_trailing_blanks): New constants.
93306         (fixfile): Use them to normalize spacing a bit in copied files.
93307         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
93308         Normalize leading white space and remove trailing white space.
93309
93310         * config/texinfo.tex: Sync with texinfo.
93311
93312         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
93313         strtoul.c from libc, to merge coreutils whitespace changes.
93314
93315         * config/srclist.txt: Get the following m4 files from gettext:
93316         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
93317         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
93318         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
93319         wint_t.m4.
93320
93321 2003-08-12  Karl Berry  <karl@gnu.org>
93322
93323         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
93324         been made.
93325
93326 2003-08-11  Paul Eggert  <eggert@twinsun.com>
93327
93328         * modules/gnu-source, m4/gnu-source.m4:
93329         Remove; we're assuming Autoconf 2.54 or later now.
93330         Suggested by Bruno Haible.
93331         * MODULES.html.sh (func_all_modules): Remove gnu-source.
93332
93333 2003-08-11  Bruno Haible  <bruno@clisp.org>
93334
93335         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
93336
93337 2003-08-11  Bruno Haible  <bruno@clisp.org>
93338
93339         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
93340         (vasnprintf): Use it instead of wcslen.
93341
93342 2003-08-11  Bruno Haible  <bruno@clisp.org>
93343
93344         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
93345         value to ensure that _Bool promotes to int. Use #define for _Bool when
93346         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
93347
93348 2003-08-10  Karl Berry  <karl@gnu.org>
93349
93350         * lib/regex.h: update from libc (whitespace fix).
93351
93352 2003-08-09  Paul Eggert  <eggert@twinsun.com>
93353
93354         Merge some files from coreutils.  These changes were
93355         originally made by Jim Meyering.
93356         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
93357         many older Unixes require this.
93358         * lib/alloca.c (alloca): Remove cast to argument of free;
93359         no longer needed in C89.
93360         * lib/alloca_.h, regex.h: Fix white space to match
93361         what GNU indent does.
93362
93363 2003-08-09  Paul Eggert  <eggert@twinsun.com>
93364
93365         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
93366         apparently Emacs's Unicode mode got confused before my 2003-08-05
93367         checkin.
93368
93369 2003-08-08  Paul Eggert  <eggert@twinsun.com>
93370
93371         * m4/extensions.m4: New file.
93372         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
93373         Require gl_USE_SYSTEM_EXTENSIONS.
93374         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
93375         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
93376
93377 2003-08-08  Paul Eggert  <eggert@twinsun.com>
93378
93379         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
93380         * modules/extensions, modules/gnu-source: New files.
93381         * modules/timespec, modules/unlocked-io: Depend on extensions.
93382
93383 2003-08-07  Paul Eggert  <eggert@twinsun.com>
93384
93385         * modules/restrict: New file.
93386         * MODULES.html.sh (func_all_modules): Add restrict.
93387         * modules/regex: Depend on restrict.
93388
93389 2003-08-07  Paul Eggert  <eggert@twinsun.com>
93390
93391         * m4/restrict.m4: New file.
93392         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
93393
93394 2003-08-07  Bruno Haible  <bruno@clisp.org>
93395
93396         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
93397         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
93398
93399 2003-08-07  Bruno Haible  <bruno@clisp.org>
93400
93401         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
93402         makes the module 'getndelim2' compatible with the module 'getline'.
93403
93404 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93405
93406         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
93407         byte with "\201" to avoid glitches when editing that source file
93408         with multi-gnome-terminal.
93409
93410 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93411
93412         * lib/bumpalloc.h: Remove.
93413
93414 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93415
93416         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
93417         * modules/bumpalloc: Remove.
93418
93419 2003-08-04  Paul Eggert  <eggert@twinsun.com>
93420
93421         * lib/getloadavg.c: Change copyright notice and spacing to conform to
93422         GNU coding style.
93423
93424         Merge from coreutils.
93425         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
93426         1. From glibc.
93427         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
93428         from Karl Berry, implemented by Jim Meyering.
93429         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
93430         from Dmitry V. Levin.
93431         Remove anachronistic cast of xrealloc.
93432         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
93433         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
93434         type. Otherwise, it wouldn't compile with at least /bin/cc on
93435         ymp-cray-unicos9.0.2.X.
93436         Combine two mostly-identical uses of alloca into one.
93437         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
93438
93439 2003-08-04  Dave Love  <d.love@dl.ac.uk>
93440
93441         [From Emacs.]
93442
93443         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
93444         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
93445         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
93446         obsolete NLIST_NAME_UNION.
93447         [__GNU__]: Undef BSD and FSCALE.
93448         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
93449
93450 2003-08-03  Paul Eggert  <eggert@twinsun.com>
93451
93452         * lib/stdbool_.h (_Bool): Make it signed char, instead of
93453         an enum type, so that it's guaranteed to promote to int.  See:
93454         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
93455
93456 2003-08-03  Karl Berry  <karl@gnu.org>
93457
93458         * config/depcomp: update from automake.
93459
93460 2003-07-31  Paul Eggert  <eggert@twinsun.com>
93461
93462         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
93463         (strerror): Don't assume that a printable int fits in 14 bytes.
93464
93465 2003-07-31  Bruno Haible  <bruno@clisp.org>
93466
93467         * modules/getpass-gnu: New file.
93468         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
93469
93470 2003-07-31  Bruno Haible  <bruno@clisp.org>
93471
93472         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
93473
93474 2003-07-24  Karl Berry  <karl@gnu.org>
93475
93476         * config/missing: update from automake.
93477
93478 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
93479             Bruno Haible  <bruno@clisp.org>
93480
93481         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
93482         * lib/getline.c (getline, getdelim): Likewise.
93483         Remove _GNU_SOURCE define; now it's defined in config.h through
93484         m4/getline.m4.
93485
93486 2003-07-23  Karl Berry  <karl@gnu.org>
93487
93488         * config/config.sub: update from prep.
93489
93490 2003-07-22  Paul Eggert  <eggert@twinsun.com>
93491
93492         * modules/xalloc (Depends-on): Add exitfail.
93493         * modules/xmemcoll: Likewise.
93494
93495 2003-07-22  Paul Eggert  <eggert@twinsun.com>
93496
93497         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
93498         over-parenthesization in macros.
93499
93500         Sync with coreutils.
93501
93502         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
93503         required by C99.
93504
93505         Use `exit_failure' for xalloc and xmemcoll instead of their own
93506         private exit-failure variables.
93507         * lib/xalloc.h (xalloc_exit_failure): Remove.
93508         * lib/xmalloc.c: Likewise.  Include exitfail.h.
93509         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
93510         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
93511         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
93512         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
93513
93514 2003-07-20  Jim Meyering  <jim@meyering.net>
93515
93516         * modules/closeout (Depends-on): Add exitfail.
93517         Suggestion from Bruno Haible.
93518
93519 2003-07-19  Karl Berry  <karl@gnu.org>
93520
93521         * config/config.sub: update from prep.
93522
93523 2003-07-18  Paul Eggert  <eggert@twinsun.com>
93524
93525         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
93526         Remove.
93527         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
93528         to test that it can stand by itself.  Include "exitfail.h".
93529         Clients should set exit_failure instead.
93530         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
93531
93532 2003-07-18  Bruno Haible  <bruno@clisp.org>
93533
93534         * modules/getndelim2: New file.
93535         * modules/getline: Share files with module getndelim2.
93536         * modules/getnline: Depend on getndelim2 instead of sharing files with
93537         it. Add getnline.c to lib_SOURCES.
93538         * MODULES.html.sh (func_all_modules): Add getndelim2.
93539
93540 2003-07-18  Bruno Haible  <bruno@clisp.org>
93541
93542         * m4/getndelim2.m4: New file.
93543         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
93544         invoke gl_PREREQ_GETNDELIM2.
93545         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
93546         gl_PREREQ_GETNDELIM2.
93547         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
93548         gl_GETNDELIM2.
93549
93550 2003-07-18  Bruno Haible  <bruno@clisp.org>
93551
93552         * lib/getndelim2.h: New file.
93553         * lib/getndelim2.c: Make into a module of its own. Include config.h,
93554         getndelim2.h.
93555         (getndelim2): Make non-static. Change return type to ssize_t.
93556         * lib/getline.h: Change argument names.
93557         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
93558         * lib/getnline.c: Include getndelim2.h.
93559
93560 2003-07-18  Andreas Schwab  <schwab@suse.de>
93561
93562         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
93563
93564 2003-07-17  Karl Berry  <karl@gnu.org>
93565
93566         * config/config.sub: update from prep.
93567
93568 2003-07-17  Bruno Haible  <bruno@clisp.org>
93569
93570         * modules/getnline: New file.
93571         * modules/getline: Add lib/getndelim2.c to source file list.
93572         * MODULES.html.sh (func_all_modules): Add getnline.
93573
93574 2003-07-17  Bruno Haible  <bruno@clisp.org>
93575
93576         * m4/getnline.m4: New file.
93577
93578 2003-07-17  Bruno Haible  <bruno@clisp.org>
93579
93580         * m4/Makefile.am.in: Remove file.
93581         * m4/Makefile.am: Remove file.
93582         * m4/Makefile.in: Remove file.
93583
93584 2003-07-17  Bruno Haible  <bruno@clisp.org>
93585
93586         * lib/getnline.h: New file.
93587         * lib/getnline.c: New file.
93588         * lib/getndelim2.c: New file, extracted from getline.c.
93589         (getndelim2): Renamed from getdelim2, with added nmax argument.
93590         * lib/getline.c: Include getndelim2.c.
93591         (getdelim2): Moved out to getndelim2.c.
93592         (getline, getdelim): Update.
93593
93594 2003-07-17  Bruno Haible  <bruno@clisp.org>
93595
93596         * lib/Makefile.am: Remove file.
93597         * lib/Makefile.in: Remove file.
93598
93599 2003-07-17  Bruno Haible  <bruno@clisp.org>
93600
93601         * configure.in: Remove file.
93602         * Makefile.in: Remove file.
93603
93604 2003-07-17  Bruno Haible  <bruno@clisp.org>
93605
93606         * MODULES.html.sh: Put the </BODY> right before </HTML>.
93607
93608 2003-07-16  Karl Berry  <karl@gnu.org>
93609
93610         * config/srclist-update: was running fixlicense twice, which caused
93611                 texinfo.tex to be nullified for some reason.  Simplify,
93612                 $gplsrc is no longer needed as far as I can see?
93613
93614 2003-07-16  Jim Meyering  <jim@meyering.net>
93615
93616         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
93617
93618 2003-07-15  Paul Eggert  <eggert@twinsun.com>
93619
93620         * config/srclist.txt: Get the following files from gettext-runtime/intl
93621         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
93622         ref-del.sin.  From Bruno Haible.
93623         * config/srclist-update (fixfile): Change grep pattern again, since the
93624         previous fix didn't work (there was another trailing $).  Use
93625         '[$]' to escape the $s.
93626
93627 2003-07-15  Karl Berry  <karl@gnu.org>
93628
93629         * lib/vasnprintf.c: update from gettext.
93630
93631 2003-07-15  Karl Berry  <karl@gnu.org>
93632
93633         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
93634         gets expanded when surrounded by '$'.
93635
93636 2003-07-15  Jim Meyering  <jim@meyering.net>
93637
93638         * modules/save-cwd: Don't depend on error.  From Derek Price.
93639
93640 2003-07-15  Jim Meyering  <jim@meyering.net>
93641
93642         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
93643
93644 2003-07-14  Simon Josefsson  <jas@extundo.com>
93645
93646         * modules/mempcpy: New file.
93647         * MODULES.html.sh (func_all_modules): Add mempcpy.
93648
93649 2003-07-14  Simon Josefsson  <jas@extundo.com>
93650
93651         * m4/mempcpy.m4: New file.
93652
93653 2003-07-14  Simon Josefsson  <jas@extundo.com>
93654
93655         * lib/mempcpy.h: New file.
93656         * lib/mempcpy.c: New file.
93657
93658 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93659
93660         * modules/getdate, modules/posixtm: Depend on mktime.
93661
93662 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93663
93664         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
93665         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
93666         unicodeio.c, unicodeio.h, unlocked-io.h:
93667         Switch from LGPL to GPL.
93668
93669 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93670
93671         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
93672         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
93673         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
93674         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
93675         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
93676         updated automatically by ../config/srclist-update.  This changes
93677         their license from LPGL to GPL.
93678
93679 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93680
93681         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
93682         assumed to refer to the root of the most recent stable gettext version.
93683         * config/srclistvars.sh: Add defaults for eggert.
93684         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
93685         Match "This program" as well as "The program".  This is needed
93686         for gettext.
93687
93688 2003-07-14  Jim Meyering  <jim@meyering.net>
93689
93690         Don't emit diagnostics.  Let callers do that.
93691         * lib/save-cwd.c: Don't include "error.h".
93692         (save_cwd): Don't call error.  Ensure that errno is valid
93693         when returning nonzero.
93694
93695         * lib/save-cwd.h (restore_cwd): Update prototype.
93696         * lib/save-cwd.c (restore_cwd): Remove two parameters.
93697         Simplify.  Don't call error upon failure.  Let callers do that.
93698         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
93699         when auditing is enabled.  But don't bother updating the #if.
93700
93701 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
93702
93703         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
93704         it breaks C++ compilation.
93705         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
93706
93707 2003-07-10  Simon Josefsson  <jas@extundo.com>
93708
93709         * modules/strchrnul (Makefile.am): Add strchrnul.h.
93710
93711 2003-07-10  Jim Meyering  <jim@meyering.net>
93712
93713         * m4/clock_time.m4: Remove trailing blank.
93714         * m4/intmax_t.m4: Likewise.
93715
93716 2003-07-10  Jim Meyering  <jim@meyering.net>
93717
93718         * lib/vasnprintf.c: Remove trailing blanks.
93719         Make cpp indentation consistent.
93720
93721 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93722
93723         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
93724         posixver.c, strftime.c, strnlen.c, strverscmp.c:
93725         Switch from LGPL to GPL.
93726
93727 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93728
93729         * config/srclist.txt: Sort sublists.  Add
93730         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
93731         that differ from gnulib for one reason or another; we'd like this list
93732         to be smaller but for now let's document what we have.
93733
93734 2003-07-08  Paul Eggert  <eggert@twinsun.com>
93735
93736         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
93737         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
93738         and sweeter "eval x=$x".
93739         * config/srclist.txt: Get lib/argp* from glibc.
93740
93741 2003-07-07  Paul Eggert  <eggert@twinsun.com>
93742
93743         * lib/mktime.c: Fix some boundary cases and remove need for floating
93744         point.
93745
93746         Issue a compile-time diagnostic if time_t is floating point, or if
93747         two's complement arithmetic is not in effect, or if arithmetic
93748         right shift does not propagate the sign.  These assumptions were
93749         all in the original code but they weren't checked.
93750
93751         (TIME_T_MIDPOINT, verify): New macros.
93752         (__isleap): Remove; it has integer overflow problems.
93753         (leapyear): New function, without those problems.
93754         (ydhms_tm_diff): Remove; splitting into two parts.
93755         (ydhms_diff): New function, containing the arithmetic part of
93756         the old ydhms_tm_diff function.  Issue a compile-time
93757         diagnostic if we are not using C99 integer division.
93758         Avoid casts when possible.
93759         (guess_time_tm): New function, containing the checking part of
93760         the old ydhms_tm_diff function.  Return the new value, rather than
93761         the difference between it and the old.  Accept a new argument T
93762         so that *T specifies the old value.  Check for overflow in the result.
93763
93764         (__mktime_internal): Use a time_t offset, not a long int offset.
93765         This undoes the 2003-06-04 change, which is no longer needed now
93766         that we have better overflow checking.
93767         (localtime_offset): Likewise.
93768
93769         (__mktime_internal): Avoid harmful overflow on hosts where time_t
93770         and long are 64-bit but int is only 32-bit.
93771         (ydhms_diff): Use long int to store year1 and yday1.
93772         Issue a compile-time diagnostic if long int is not wide enough.
93773
93774         (__mktime_internal): Use long int to store adjusted year and yday.
93775         Use plain C rather than preprocessor commands, if that doesn't
93776         affect efficiency.
93777         Check for overflow (and try to repair) after each probe
93778         rather than checking only at the very end.  This avoids some bugs
93779         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
93780         does not equal GMT offset at maximum time).
93781         Use integer to check for overflow rather than floating point; this
93782         is more portable to non-IEEE hosts, and is a tad faster.
93783         When we detect that we are oscillating between two values,
93784         don't check whether tm_isdst has the requested value, since
93785         we already know the answer.  When tm_isdst has the wrong value,
93786         use a different heuristic to find the right one, based on the
93787         extreme values actually observed in practice in tz2003a,
93788         rather than the (overly optimistic) "previous 3 calendar quarters".
93789
93790         (not_equal_tm, print_tm, check_result): Use "const T" rather than
93791         "T const" to accommodate glibc style.
93792         (check_result): Use less-confusing report format.  "long" -> "long int.
93793         (main): Likewise.
93794         Don't loop if the iteration overflows time_t.
93795         Allow a negative step in the iteration.
93796
93797 2003-07-06  Karl Berry  <karl@gnu.org>
93798
93799         * config/depcomp: update from automake.
93800         * config/config.sub: update from prep.
93801
93802 2003-07-03  Karl Berry  <karl@gnu.org>
93803
93804         * config/config.guess: update from prep.
93805
93806 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93807
93808         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
93809         xreadlink.c now includes it unconditionally.
93810
93811 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93812
93813         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
93814         having it depend on HAVE_SYS_TYPES_H.
93815
93816 2003-07-01  Bruno Haible  <bruno@clisp.org>
93817
93818         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
93819         <sys/types.h> should be sufficient.
93820         Reported by Paul Eggert.
93821
93822 2003-06-26  Karl Berry  <karl@gnu.org>
93823
93824         * config/depcomp: update from automake.
93825
93826 2003-06-26  Bruno Haible  <bruno@clisp.org>
93827
93828         * modules/human: Depend on module stdbool.
93829
93830 2003-06-25  Bruno Haible  <bruno@clisp.org>
93831
93832         * modules/readlink: New file.
93833         * modules/xreadlink: Depend on it.
93834         * MODULES.html.sh (func_all_modules): Add readlink.
93835
93836 2003-06-25  Bruno Haible  <bruno@clisp.org>
93837
93838         * m4/readlink.m4: New file.
93839
93840 2003-06-25  Bruno Haible  <bruno@clisp.org>
93841
93842         * lib/readlink.c: New file.
93843
93844 2003-06-22  Karl Berry  <karl@gnu.org>
93845
93846         * config/srclist.txt: update mkinstalldirs from automake.
93847         * config/mkinstalldirs: update.
93848
93849 2003-06-22  Bruno Haible  <bruno@clisp.org>
93850
93851         Portability to mingw32.
93852         * m4/ssize_t.m4: New file, from GNU gettext.
93853         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
93854         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
93855
93856 2003-06-22  Bruno Haible  <bruno@clisp.org>
93857
93858         * modules/safe-read: Add m4/ssize_t.m4.
93859         * modules/xreadlink: Add m4/ssize_t.m4.
93860
93861 2003-06-20  Bruno Haible  <bruno@clisp.org>
93862
93863         Assume C89, so PARAMS isn't needed.
93864         * lib/unicodeio.h (PARAMS): Remove.
93865         * lib/unicodeio.c: Don't use PARAMS.
93866
93867 2003-06-18  Karl Berry  <karl@gnu.org>
93868
93869         * config/config.{guess,sub}: update from prep.
93870
93871 2003-06-18  Jim Meyering  <jim@meyering.net>
93872
93873         Merge changes from coreutils.
93874         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
93875         Remove explicit declarations of xmalloc and realloc.
93876         Include xalloc.h.
93877         (read_utmp): Remove anachronistic cast of xmalloc.
93878
93879 2003-06-17  Paul Eggert  <eggert@twinsun.com>
93880
93881         Assume C89, so PARAMS isn't needed.
93882         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
93883         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
93884         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
93885         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
93886         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
93887         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
93888         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
93889         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
93890         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
93891         lib/xstrtod.h, lib/xstrtol.h: Likewise.
93892         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
93893         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
93894         no longer needed. Anyway, config.h should always be included before any
93895         other file.
93896
93897 2003-06-11  Simon Josefsson  <jas@extundo.com>
93898
93899         * modules/sysexits: New file.
93900         * MODULES.html.sh (func_all_modules): Add sysexits.
93901
93902 2003-06-11  Simon Josefsson  <jas@extundo.com>
93903
93904         * lib/sysexit_.h: New file.
93905
93906 2003-06-11  Derek Price  <derek@ximbiot.com>
93907
93908         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
93909         necessary.
93910
93911 2003-06-11  Bruno Haible  <bruno@clisp.org>
93912
93913         * m4/sysexits.m4: New file.
93914
93915 2003-06-10  Simon Josefsson  <jas@extundo.com>
93916
93917         * lib/argp.h: New file, from glibc.
93918         * lib/argp-ba.c: New file, from glibc.
93919         * lib/argp-eexst.c: New file, from glibc.
93920         * lib/argp-fmtstream.c: New file, from glibc.
93921         * lib/argp-fmtstream.h: New file, from glibc.
93922         * lib/argp-fs-xinl.c: New file, from glibc.
93923         * lib/argp-help.c: New file, from glibc.
93924         * lib/argp-namefrob.h: New file, from glibc.
93925         * lib/argp-parse.c: New file, from glibc.
93926         * lib/argp-pv.c: New file, from glibc.
93927         * lib/argp-pvh.c: New file, from glibc.
93928         * lib/argp-xinl.c: New file, from glibc.
93929
93930 2003-06-10  Simon Josefsson  <jas@extundo.com>
93931
93932         * modules/strchrnul: New file.
93933
93934 2003-06-10  Simon Josefsson  <jas@extundo.com>
93935
93936         * modules/argp: New file.
93937
93938 2003-06-10  Simon Josefsson  <jas@extundo.com>
93939
93940         * m4/strchrnul.m4: New file.
93941
93942 2003-06-10  Simon Josefsson  <jas@extundo.com>
93943
93944         * lib/strchrnul.h: New file.
93945         * lib/strchrnul.c: New file.
93946
93947 2003-06-10  Bruno Haible  <bruno@clisp.org>
93948
93949         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
93950
93951 2003-06-07  Karl Berry  <karl@gnu.org>
93952
93953         * config/config.{guess,sub}: update from prep.
93954
93955 2003-06-07  Jim Meyering  <jim@meyering.net>
93956
93957         * modules/strtod: Use $(...) notation, not @...@ for
93958         AC_REPLACE'd variables.
93959         * modules/localcharset: Likewise.
93960
93961 2003-06-07  Jim Meyering  <jim@meyering.net>
93962
93963         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
93964         in place of my name in the copyright comment.
93965         Remove definition and uses of __P.
93966
93967         From coreutils.
93968         * lib/stat.c: Don't declare xmalloc explicitly.
93969         Instead, include "xalloc.h".
93970         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
93971         xrealloc, and xcalloc return values.
93972         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
93973         Improve comment.
93974         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
93975
93976 2003-06-07  Bruno Haible  <bruno@clisp.org>
93977
93978         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
93979         avoid AC_CONFIG_LINKS.
93980         * modules/fnmatch (Makefile.am): Use explicit creation rule for
93981         fnmatch.h, to avoid AC_CONFIG_LINKS.
93982         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
93983
93984 2003-06-07  Bruno Haible  <bruno@clisp.org>
93985
93986         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
93987         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
93988         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93989         directory.
93990         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
93991         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93992         directory.
93993
93994 2003-06-06  Jim Meyering  <jim@meyering.net>
93995
93996         Merge from coreutils.
93997         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
93998         Consolidate declarations and initializations of *_base* locals.
93999
94000         Merge from coreutils.
94001         This avoids a core dump on systems without GNU putenv,
94002         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
94003         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
94004         (unsetenv): New static function, from GNU libc.
94005         (rpl_putenv): Use it.
94006
94007         * lib/modechange.c: Remove trailing blanks.
94008
94009         Merge from coreutils.
94010         * lib/fsusage.c: Remove declaration of statfs.
94011         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
94012
94013         * lib/posixtm.c: Include <stdbool.h> unconditionally.
94014
94015 2003-06-06  Jim Meyering  <jim@meyering.net>
94016
94017         * lib/stdbool_.h: Renamed from stdbool.h.in.
94018
94019 2003-06-06  Jim Meyering  <jim@meyering.net>
94020             Bruno Haible  <bruno@clisp.org>
94021
94022         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
94023         Adjust Makefile.am snippet not to redirect directly to target.
94024         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
94025
94026 2003-06-05  Paul Eggert  <eggert@twinsun.com>
94027
94028         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
94029         mismatch, look in future quarters as well as past.  This fixes a
94030         bug when processing fall-backwards gaps immediately after a long
94031         period of daylight-saving time.
94032
94033         * lib/mktime.c: Assume freestanding C89 or better.
94034         (HAVE_LIMITS_H): Remove.  Assume it's 1.
94035         (__P): Remove; not used.
94036         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
94037         (mktime, not_equal_tm, print_tm, check_result,
94038         main): Use prototypes.  Use const * where appropriate.
94039         (main): Fix typo in testing code that uncovered by above changes.
94040         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
94041
94042 2003-06-04  Paul Eggert  <eggert@twinsun.com>
94043
94044         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
94045         locale.h, localeconv.  This merges changes from coreutils.
94046
94047         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
94048         It can be removed after the next Autoconf is released.
94049         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
94050         needed.
94051
94052 2003-06-04  Paul Eggert  <eggert@twinsun.com>
94053
94054         * lib/mktime.c: Fix Debian bug 177940
94055         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
94056         (localtime_offset): Now long int, not time_t, because we want it
94057         to be guaranteed to be signed.  All uses changed.
94058         (__mktime_internal): If overflow would occur when adding offset,
94059         don't add it.
94060
94061         Merge 'human' changes from coreutils.  Rewrite to support
94062         locale-specific notations like thousands separators.
94063         * lib/human.c: Simplify authorship notice.
94064         Include human.h immediately after config.h.
94065         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
94066         <limits.h>: Do not include, since human.h does.
94067         (SIZE_MAX, UINTMAX_MAX): New macros.
94068         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
94069         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
94070         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
94071         (power_letter): Renamed from suffixes.
94072         (generate_suffix_backwards): Remove.
94073         (adjust_value): Now takes int style (because of human.h changes)
94074         and long double value (for greater precision on some platforms).
94075         (group_number): New function.
94076         (human_readable): Use it.  Use integer options, not enum.
94077         Put the options before the sizes in the arg list.
94078         Support all the new options.
94079         The old human_readable function has been removed;
94080         use inttostr.h instead.
94081         (human_readable, default_block_size, humblock):
94082         Use uintmax_t, not int, for block sizes.
94083         (human_readable_inexact, block_size_types): Remove.
94084         (block_size_opts): New constant.
94085         (human_options): Renamed from human_block_size, with new signature
94086         that allows block sizes up to UINTMAX_MAX.  All callers changed.
94087         * lib/human.h: Add copyright and authorship notice.
94088         Include <limits.h> and <stdbool.h> unconditionally.
94089         (PARAMS): Remove.  All uses removed.
94090         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
94091         (enum human_inexact_style): Remove tag; now a nameless enum.
94092         (human_floor, human_ceiling, human_round_to_even): Now have
94093         values 2, 0, 1 rather than -1, 1, 0.
94094         (human_group_digits, human_suppress_point_zero, human_autoscale,
94095         human_base_1024, human_SI, human_B): New constants.
94096         (human_readable_inexact, human_block_size): Remove.
94097         (human_readable): Size args are now uintmax_t, not int.
94098         (human_options): New decl.
94099
94100         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
94101         unnecessary now that we assume C89 or better.  This change
94102         imported from coreutils.
94103
94104         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
94105         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
94106         in the 2003-05-30 sync from glibc.
94107
94108         .h files should stand alone, but we shouldn't include <sys/types.h>
94109         if we can get away with just <stddef.h>.
94110
94111         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
94112         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
94113         rather than <sys/types.h>, as we merely need size_t.
94114         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
94115         to get size_t.
94116         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
94117         Include <stdio.h>, to get FILE.
94118         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
94119         memcasecmp.h has included <stddef.h> and all we need is size_t.
94120         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
94121         our interface, instead of including <sys/types.h>
94122
94123 2003-06-04  Paul Eggert  <eggert@twinsun.com>
94124
94125         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
94126         now, as glibc mktime is buggy on non-glibc systems.
94127
94128 2003-06-03  Karl Berry  <karl@gnu.org>
94129
94130         * config/config.sub: update from prep.
94131
94132 2003-06-02  Paul Eggert  <eggert@twinsun.com>
94133
94134         [from coreutils]
94135         Fix some minor time-related bugs with POSIX time arguments.
94136         Some valid time stamps were being rejected (notably -1, and
94137         time stamps before 1900 on 64-bit hosts).  And some invalid
94138         time stamps were being accepted, e.g. September 31.
94139
94140         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
94141         that we can return (time_t) -1 successfully.
94142         * lib/posixtm.c: Likewise.
94143         [HAVE_STDBOOL_H]: Include <stdbool.h>.
94144         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
94145         (t): Remove static var.
94146         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
94147         of static var.  All uses changed.
94148         (year): Do not reject years before 1900; they can occur with
94149         64-bit time_t.
94150         (posix_time_parse): Do not check for out-of-range components;
94151         that is now the caller's responsibility, since our checks were
94152         only approximations.
94153         (posixtime): Use mktime to check for out-of-range components,
94154         since it knows them exactly.
94155         If mktime returns (time_t) -1, check whether an error actually occurred
94156         by invoking localtime on -1.
94157         (main) [TEST_POSIXTIME]: Check for input data errors, and report
94158         posixtime failures better.
94159         Improve the test data (in comments only).
94160
94161 2003-06-02  Karl Berry  <karl@gnu.org>
94162
94163         * config/mkinstalldirs (version): new variable.
94164         (--version): new option.
94165         (usage): improve message.
94166
94167 2003-05-30  Karl Berry  <karl@gnu.org>
94168
94169         * lib/mktime.c: update from libc.
94170
94171 2003-05-30  Bruno Haible  <bruno@clisp.org>
94172
94173         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
94174         * config/config.rpath: Upgrade to gettext-0.12.1.
94175
94176 2003-05-30  Bruno Haible  <bruno@clisp.org>
94177
94178         * m4/gettext.m4: Upgrade to gettext-0.12.1.
94179         * m4/nls.m4: New file, from gettext-0.12.1.
94180         * m4/po.m4: New file, from gettext-0.12.1.
94181         * m4/progtest.m4: Upgrade to gettext-0.12.1.
94182
94183 2003-05-30  Bruno Haible  <bruno@clisp.org>
94184
94185         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
94186         * lib/localcharset.h: Likewise.
94187         * lib/localcharset.c: Likewise.
94188
94189 2003-05-29  Karl Berry  <karl@gnu.org>
94190
94191         * config/config.rpath: update from gettext.
94192
94193 2003-05-28  Paul Eggert  <eggert@twinsun.com>
94194
94195         Assume the headers required for C89 freestanding compilers.
94196         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
94197         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
94198         * m4/human.m4 (gl_HUMAN): Likewise.
94199         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
94200         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
94201         * m4/userspec.m4 (gl_USERSPEC): Likewise.
94202         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
94203         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
94204         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
94205
94206 2003-05-28  Paul Eggert  <eggert@twinsun.com>
94207
94208         Assume the headers required for C89 freestanding compilers.
94209         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
94210         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
94211         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
94212         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
94213         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
94214         define, since <limits.h> is guaranteed to do that.
94215         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
94216         * lib/exclude.c: Include <stdbool.h> unconditionally.
94217         * lib/tempname.c: Include <stddef.h> unconditionally.
94218         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
94219         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
94220         <stddef.h> does that.
94221         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
94222         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
94223         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
94224         needed.
94225         * lib/xstrtol.c: Likewise.
94226         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
94227         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
94228
94229         * lib/addext.c (addext): Use assignment rather than cast, to avoid
94230         warnings on some platforms.
94231
94232         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
94233         arbitrarily.
94234
94235 2003-05-26  Jim Meyering  <jim@meyering.net>
94236
94237         Merge in a change from coreutils:
94238         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
94239         that is guaranteed to be `no'.  Use `no_such_member' to indicate
94240         that condition, rather than `-1' which is slightly misleading.
94241         Change the name of the cache variable to have the gl_ prefix.
94242         Prompted by a patch from Richard Dawe for DJGPP.
94243
94244 2003-05-24  Karl Berry  <karl@gnu.org>
94245
94246         * config/config.guess: update from prep.
94247
94248 2003-05-22  Karl Berry  <karl@gnu.org>
94249
94250         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
94251
94252 2003-05-20  Karl Berry  <karl@gnu.org>
94253
94254         * config/config.guess: update from prep.
94255
94256 2003-05-18  Karl Berry  <karl@gnu.org>
94257
94258         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
94259         might actually be set by the user.
94260
94261         * config/depcomp, install-sh, mdate-sh: update from automake.
94262
94263 2003-05-17  Bruno Haible  <bruno@clisp.org>
94264
94265         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
94266         invalid expansion for AC_EGREP_CPP.
94267         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
94268         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
94269         Suggested by Akim Demaille <akim@epita.fr> in
94270         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
94271
94272 2003-05-12  Jim Meyering  <jim@meyering.net>
94273
94274         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
94275         the space-padded-by-default conversion specifiers, %e, %k, %l.
94276
94277 2003-05-12  Bruno Haible  <bruno@clisp.org>
94278
94279         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
94280         the string is longer than 4 KB.
94281
94282 2003-05-11  Karl Berry  <karl@gnu.org>
94283
94284         * config/config.{guess,sub}: update from prep.
94285
94286 2003-05-09  Bruno Haible  <bruno@clisp.org>
94287
94288         * modules/error: Add m4/strerror_r.m4 to file list.
94289
94290 2003-05-03  Bruno Haible  <bruno@clisp.org>
94291
94292         Upgrade to Unicode-4.0.
94293         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
94294         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
94295         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
94296         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
94297         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
94298         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
94299         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
94300         Change width of U+E0100..U+E01EF from 1 to 0.
94301
94302 2003-04-25  Jim Meyering  <jim@meyering.net>
94303
94304         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
94305         of type size_t, not int.
94306
94307 2003-04-25  Bruno Haible  <bruno@clisp.org>
94308
94309         * lib/copy-file.c: Include <stddef.h>, for size_t.
94310
94311 2003-04-21  Paul Eggert  <eggert@twinsun.com>
94312
94313         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
94314         code which expansion is under static control.  Patch imported from
94315         Akim Demaille's patch to Bison; see
94316         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
94317
94318 2003-04-14  Bruno Haible  <bruno@clisp.org>
94319
94320         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
94321
94322 2003-04-11  Jim Meyering  <jim@meyering.net>
94323
94324         Merge changes from Coreutils.
94325
94326         2003-03-22  Jim Meyering  <jim@meyering.net>
94327
94328         * lib/strftime.c (widen): Cast alloca return value to proper type.
94329
94330         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
94331
94332         From GNU libc.
94333         * lib/strftime.c (my_strftime): Handle very large width
94334         specifications for numeric values correctly.  Improve checks for
94335         overflow.
94336
94337         2003-01-19  Jim Meyering  <jim@meyering.net>
94338
94339         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
94340         definitions.
94341         (nl_get_alt_digit) [! defined my_strftime]: Define.
94342         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
94343         _nl_get_alt_digit and _nl_get_walt_digit.
94344
94345         * lib/strftime.c (my_strftime): Merge in locale-related changes from
94346         libc. These changes have no effect outside of _LIBC.
94347
94348 2003-04-10  Bruno Haible  <bruno@clisp.org>
94349
94350         * modules/findprog: New file.
94351         * MODULES.html.sh (func_all_modules): Add it.
94352
94353 2003-04-10  Bruno Haible  <bruno@clisp.org>
94354
94355         * m4/findprog.m4: New file.
94356         * m4/eaccess.m4: New file.
94357
94358 2003-04-10  Bruno Haible  <bruno@clisp.org>
94359
94360         * lib/findprog.h: New file, from GNU gettext.
94361         * lib/findprog.c: New file, from GNU gettext.
94362
94363 2003-04-05  Jim Meyering  <jim@meyering.net>
94364
94365         Merge changes from Coreutils.
94366
94367         * lib/exclude.h (PARAMS): Remove definition and uses.
94368         * lib/exclude.c: Remove uses of `PARAMS'.
94369
94370         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
94371         Add test-cases for DOS filenames. Declare program_name.
94372         (main): Set up program_name.  Patch by Rich Dawe.
94373
94374         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
94375         error from mntctl.
94376         Use mntctl's return value to drive the entry-processing loop, since
94377         we can't rely on the value of the vmt_length member in the last
94378         entry.  On some systems doing so could result in exhausting
94379         virtual memory.  Based in part on a patch from Mike Jetzer.
94380
94381 2003-04-04  Bruno Haible  <bruno@clisp.org>
94382
94383         * modules/linebreak: New file.
94384         * MODULES.html.sh (func_all_modules): Add it.
94385
94386 2003-04-04  Bruno Haible  <bruno@clisp.org>
94387
94388         * m4/linebreak.m4: New file.
94389
94390 2003-04-04  Bruno Haible  <bruno@clisp.org>
94391
94392         * lib/linebreak.h: New file, from GNU gettext.
94393         * lib/linebreak.c: New file, from GNU gettext with slight
94394         modifications.
94395         * lib/lbrkprop.h: New file, from GNU gettext.
94396
94397 2003-04-03  Bruno Haible  <bruno@clisp.org>
94398
94399         * modules/utf8-ucs4: New file.
94400         * modules/utf16-ucs4: New file.
94401         * modules/ucs4-utf8: New file.
94402         * modules/ucs4-utf16: New file.
94403         * MODULES.html.sh (func_all_modules): Add them.
94404
94405 2003-04-03  Bruno Haible  <bruno@clisp.org>
94406
94407         * m4/utf-ucs4.m4: New file.
94408         * m4/ucs4-utf.m4: New file.
94409
94410 2003-04-03  Bruno Haible  <bruno@clisp.org>
94411
94412         * lib/utf8-ucs4.h: New file, from GNU gettext.
94413         * lib/utf16-ucs4.h: New file, from GNU gettext.
94414         * lib/ucs4-utf8.h: New file, from GNU gettext.
94415         * lib/ucs4-utf16.h: New file, from GNU gettext.
94416
94417 2003-04-02  Bruno Haible  <bruno@clisp.org>
94418
94419         * modules/binary-io: New file.
94420         * MODULES.html.sh (func_all_modules): Add it.
94421
94422 2003-04-02  Bruno Haible  <bruno@clisp.org>
94423
94424         * lib/binary-io.h: New file, from GNU gettext.
94425
94426 2003-04-01  Bruno Haible  <bruno@clisp.org>
94427
94428         * modules/pathname: New file.
94429         * MODULES.html.sh (func_all_modules): Add it.
94430
94431 2003-04-01  Bruno Haible  <bruno@clisp.org>
94432
94433         * lib/pathname.h: New file, from GNU gettext.
94434         * lib/concatpath.c: New file, from GNU gettext.
94435
94436 2003-03-30  Bruno Haible  <bruno@clisp.org>
94437
94438         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
94439
94440 2003-03-30  Bruno Haible  <bruno@clisp.org>
94441
94442         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
94443         function chown() doesn't exist.
94444
94445 2003-03-28  Bruno Haible  <bruno@clisp.org>
94446
94447         * modules/copy-file: New file.
94448         * MODULES.html.sh (func_all_modules): Add it.
94449
94450 2003-03-28  Bruno Haible  <bruno@clisp.org>
94451
94452         * m4/copy-file.m4: New file.
94453
94454 2003-03-28  Bruno Haible  <bruno@clisp.org>
94455
94456         * lib/copy-file.h: New file, from GNU gettext.
94457         * lib/copy-file.c: New file, from GNU gettext.
94458
94459 2003-03-18  Jim Meyering  <jim@meyering.net>
94460
94461         * lib/quote.c (quote_n): Fix typo in comment.
94462
94463 2003-03-18  Bruno Haible  <bruno@clisp.org>
94464
94465         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
94466         checking.
94467         * m4/onceonly_2_57.m4: Likewise.
94468
94469 2003-03-17  Bruno Haible  <bruno@clisp.org>
94470
94471         * m4/onceonly.m4: Require autoconf 2.54 or newer.
94472         (m4_quote): Remove macro.
94473         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
94474
94475 2003-03-14  Jim Meyering  <jim@meyering.net>
94476
94477         Merge changes from Coreutils.
94478         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
94479         to be const, in order to avoid warnings.
94480         (obstack_room): Likewise.
94481         (obstack_empty_p): Likewise.
94482
94483 2003-03-14  Bruno Haible  <bruno@clisp.org>
94484
94485         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
94486         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
94487
94488 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94489
94490         Merge changes from Bison.
94491         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
94492         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
94493         when compiling Bison 1.875's `bitset bset = obstack_alloc
94494         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
94495         * lib/hash.c: Include <stdbool.h> unconditionally.
94496
94497 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94498
94499         * m4/onceonly.m4 (m4_quote): New macro.
94500         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
94501         Quote AC_FOREACH variable-expansions properly.
94502
94503 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94504
94505         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
94506
94507 2003-03-09  Paul Eggert  <eggert@twinsun.com>
94508
94509         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
94510         Reported by Bruce Becker; see:
94511         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
94512
94513 2003-03-03  Paul Eggert  <eggert@twinsun.com>
94514             Bruno Haible  <bruno@clisp.org>
94515
94516         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
94517         Reported by John Hughes, see
94518         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
94519
94520 2003-02-20  Bruno Haible  <bruno@clisp.org>
94521
94522         * MODULES.html.sh (func_all_modules): Add poll.
94523
94524 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94525
94526         * modules/poll: New file.
94527
94528 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94529
94530         * lib/poll_.h: New file.
94531         * lib/poll.c: New file.
94532
94533 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94534
94535         * m4/poll.m4: New file.
94536
94537 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94538
94539         * modules/mathl: New file.
94540
94541 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94542
94543         * lib/mathl.h: New file.
94544         * lib/acosl.c: New file.
94545         * lib/asinl.c: New file.
94546         * lib/atanl.c: New file.
94547         * lib/ceill.c: New file.
94548         * lib/cosl.c: New file.
94549         * lib/expl.c: New file.
94550         * lib/floorl.c: New file.
94551         * lib/frexpl.c: New file.
94552         * lib/ldexpl.c: New file.
94553         * lib/logl.c: New file.
94554         * lib/sincosl.c: New file.
94555         * lib/sinl.c: New file.
94556         * lib/sqrtl.c: New file.
94557         * lib/tanl.c: New file.
94558         * lib/trigl.c: New file.
94559         * lib/trigl.h: New file.
94560
94561 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94562
94563         * m4/mathl.m4: New file.
94564
94565 2003-02-18  Bruno Haible  <bruno@clisp.org>
94566
94567         * MODULES.html.sh (func_all_modules): Add mathl.
94568
94569 2003-02-17  Bruno Haible  <bruno@clisp.org>
94570
94571         * modules/mkdtemp: New module.
94572         * MODULES.html.sh (func_all_modules): Add it.
94573
94574 2003-02-17  Bruno Haible  <bruno@clisp.org>
94575
94576         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
94577
94578 2003-02-17  Bruno Haible  <bruno@clisp.org>
94579
94580         * lib/mkdtemp.h: New file, from GNU gettext.
94581         * lib/mkdtemp.c: New file, from GNU gettext.
94582
94583 2003-02-02  Jim Meyering  <jim@meyering.net>
94584
94585         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
94586         e.g. glibc-2.2.93.
94587
94588 2003-01-31  Bruno Haible  <bruno@clisp.org>
94589
94590         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
94591         'rpl_rename'.
94592         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
94593         'rpl_strnlen'.
94594         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
94595         'rpl_strtod'.
94596         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
94597         'rpl_utime'.
94598
94599 2003-01-31  Bruno Haible  <bruno@clisp.org>
94600
94601         * lib/rename.c: #undef rename before defining rpl_rename.
94602         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
94603
94604 2003-01-30  Bruno Haible  <bruno@clisp.org>
94605
94606         * modules/vasnprintf, modules/vasprintf: New modules.
94607         * MODULES.html.sh (func_all_modules): Add them.
94608
94609 2003-01-30  Bruno Haible  <bruno@clisp.org>
94610
94611         * m4/signed.m4: New file, from GNU gettext.
94612         * m4/longdouble.m4: New file, from GNU gettext.
94613         * m4/wchar_t.m4: New file, from GNU gettext.
94614         * m4/wint_t.m4: New file, from GNU gettext.
94615         * m4/vasnprintf.m4: New file.
94616         * m4/vasprintf.m4: New file.
94617
94618 2003-01-30  Bruno Haible  <bruno@clisp.org>
94619
94620         * lib/printf-args.h: New file, from GNU gettext.
94621         * lib/printf-args.c: New file, from GNU gettext.
94622         * lib/printf-parse.h: New file, from GNU gettext.
94623         * lib/printf-parse.c: New file, from GNU gettext.
94624         * lib/vasnprintf.h: New file, from GNU gettext.
94625         * lib/vasnprintf.c: New file, from GNU gettext.
94626         * lib/asnprintf.c: New file, from GNU gettext.
94627         * lib/vasprintf.h: New file, from GNU gettext with modifications.
94628         * lib/vasprintf.c: New file, from GNU gettext.
94629         * lib/asprintf.c: New file, from GNU gettext.
94630
94631 2003-01-29  Bruno Haible  <bruno@clisp.org>
94632
94633         * modules/stpncpy: New module.
94634         * MODULES.html.sh (func_all_modules): Add it.
94635
94636 2003-01-29  Bruno Haible  <bruno@clisp.org>
94637
94638         * m4/stpncpy.m4: New file.
94639
94640 2003-01-29  Bruno Haible  <bruno@clisp.org>
94641
94642         * lib/stpncpy.h: New file, from GNU gettext with modifications.
94643         * lib/stpncpy.c: New file, from GNU gettext with modifications.
94644
94645 2003-01-28  Bruno Haible  <bruno@clisp.org>
94646
94647         * modules/c-ctype: New module.
94648         * MODULES.html.sh (func_all_modules): Add it.
94649
94650 2003-01-28  Bruno Haible  <bruno@clisp.org>
94651
94652         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
94653         Paul Eggert.
94654         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
94655         Paul Eggert.
94656
94657 2003-01-27  Bruno Haible  <bruno@clisp.org>
94658
94659         * modules/xsetenv: New module.
94660         * MODULES.html.sh (func_all_modules): Add it.
94661
94662 2003-01-27  Bruno Haible  <bruno@clisp.org>
94663
94664         * lib/xsetenv.h: New file, from GNU gettext.
94665         * lib/xsetenv.c: New file, from GNU gettext.
94666
94667 2003-01-23  Jim Meyering  <jim@meyering.net>
94668
94669         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
94670         from working on systems without dirfd (at least Irix and OSF1/Tru64).
94671
94672 2003-01-23  Bruno Haible  <bruno@clisp.org>
94673
94674         * modules/minmax: New module.
94675         * MODULES.html.sh (func_all_modules): Add it.
94676
94677 2003-01-23  Bruno Haible  <bruno@clisp.org>
94678
94679         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
94680         Eggert.
94681
94682 2003-01-22  Bruno Haible  <bruno@clisp.org>
94683
94684         * modules/exit: New module.
94685         * MODULES.html.sh (func_all_modules): Add it.
94686
94687 2003-01-22  Bruno Haible  <bruno@clisp.org>
94688
94689         * lib/exit.h: New file, from GNU gettext.
94690
94691 2003-01-19  Bruno Haible  <bruno@clisp.org>
94692
94693         * gnulib-tool: Recognize option --extract-maintainer.
94694         (func_get_maintainer): New function.
94695         * modules/*: Add Maintainer entry.
94696
94697 2003-01-16  Jim Meyering  <jim@meyering.net>
94698
94699         * m4/regex.m4: The `regex' struct is both input and output.
94700         Initialize it before each use.  Patch by Tim Waugh.
94701
94702 2003-01-16  Bruno Haible  <bruno@clisp.org>
94703
94704         * MODULES.html.sh: Add a table of contents. Add the module name as
94705         leftmost column. Add hyperlinks.
94706
94707 2003-01-15  Bruno Haible  <bruno@clisp.org>
94708
94709         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
94710
94711 2003-01-15  Bruno Haible  <bruno@clisp.org>
94712
94713         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
94714         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
94715         suffix.
94716
94717 2003-01-15  Bruno Haible  <bruno@clisp.org>
94718
94719         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
94720
94721 2003-01-15  Bruno Haible  <bruno@clisp.org>
94722
94723         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
94724         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
94725
94726 2003-01-14  Jim Meyering  <jim@meyering.net>
94727
94728         * lib/same.c (same_name): Tweak a comment.
94729
94730 2003-01-14  Bruno Haible  <bruno@clisp.org>
94731
94732         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
94733         when a string comparison is sufficient.
94734
94735 2003-01-14  Bruno Haible  <bruno@clisp.org>
94736
94737         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
94738         'unsigned int'.
94739
94740 2003-01-14  Bruno Haible  <bruno@clisp.org>
94741
94742         * lib/hash-pjw.c: Add comment about low quality of this function.
94743
94744 2003-01-13  Bruno Haible  <bruno@clisp.org>
94745
94746         * modules/stpcpy: Distribute lib/stpcpy.h.
94747         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
94748
94749 2003-01-13  Bruno Haible  <bruno@clisp.org>
94750
94751         * modules/*: Add a description.
94752         * modules/strpbrk: Fix Makefile.am snippet.
94753         * modules/strtoimax: Fix dependencies.
94754         * modules/strtoumax: Likewise.
94755
94756 2003-01-13  Bruno Haible  <bruno@clisp.org>
94757
94758         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
94759         * modules/alloca (Makefile.am): All object files depend on alloca.h.
94760         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
94761
94762 2003-01-13  Bruno Haible  <bruno@clisp.org>
94763
94764         * gnulib-tool (func_create_testdir): Store config/* files in the main
94765         directory.
94766         * config.rpath: Move to ...
94767         * config/config.rpath: ... here.
94768         * modules/gettext: Contains config/config.rpath, not config.rpath.
94769         * modules/iconv: Likewise.
94770
94771 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94772
94773         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94774         to avoid collisions with libcurses and libreadline.
94775
94776         * m4/getstr.m4: Remove.
94777         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
94778
94779 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94780
94781         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94782         to avoid collisions with libcurses and libreadline.
94783
94784         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
94785         * lib/getstr.h, getstr.c: Remove.
94786         * lib/getline.c: Include "getline.h", to check interface.
94787         Move body of old getstr.c here: this defines MIN_CHUNK and
94788         declares getdelim2, which is renamed from getstr.
94789         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
94790
94791         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
94792         All uses changed.
94793         * lib/linebuffer.h: Likewise.
94794         (readline): Remove backward-compatibility macro.
94795
94796 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94797
94798         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94799         to avoid collisions with libcurses and libreadline.
94800         * getstr: Remove.
94801         * MODULES.html.sh: Remove getstr.
94802         * modules/getline: Depend on unlocked-io, not getstr.
94803
94804 2003-01-12  Jim Meyering  <jim@meyering.net>
94805
94806         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
94807
94808 2003-01-10  Bruno Haible  <bruno@clisp.org>
94809
94810         * modules/alloca: Change Makefile.am requirements. Simplify Include
94811         requirements. Add lib/alloca_.h to file list.
94812
94813 2003-01-10  Bruno Haible  <bruno@clisp.org>
94814
94815         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
94816
94817 2003-01-10  Bruno Haible  <bruno@clisp.org>
94818
94819         * lib/alloca_.h: New file.
94820         * lib/getdate.y: Unconditionally include alloca.h.
94821         * lib/makepath.c: Likewise.
94822         * lib/setenv.c: Likewise.
94823         * lib/userspec.c: Likewise.
94824
94825 2003-01-09  Karl Berry  <karl@gnu.org>
94826
94827         * MODULES.html.sh: include `dirname $0` in PATH, to find
94828         gnulib-tool.
94829
94830 2003-01-09  Bruno Haible  <bruno@clisp.org>
94831
94832         * modules/stdbool: Change configure.ac, Makefile.am requirements.
94833         Simplify Include requirements. Add lib/stdbool.h.in to file list.
94834
94835 2003-01-09  Bruno Haible  <bruno@clisp.org>
94836
94837         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
94838
94839 2003-01-09  Bruno Haible  <bruno@clisp.org>
94840
94841         * lib/stdbool.h.in: New file.
94842
94843 2003-01-09  Bruno Haible  <bruno@clisp.org>
94844
94845         * gnulib-tool (func_all_modules): Ignore files ending in ~.
94846         * MODULES.html.sh: Likewise.
94847
94848 2003-01-08  Jim Meyering  <jim@meyering.net>
94849
94850         * lib/full-write.c: Undefine and define-away `const' after inclusion
94851         of errno.h, not before.  Suggestion from Bruno Haible.
94852
94853 2003-01-08  Bruno Haible  <bruno@clisp.org>
94854
94855         * modules/full-read: Depend on full-write.
94856
94857 2003-01-08  Bruno Haible  <bruno@clisp.org>
94858
94859         * lib/safe-read.c: Include specification header first, to ensure its
94860         selfcontainedness.
94861         * lib/full-write.c: Likewise.
94862
94863 2003-01-07  Jim Meyering  <jim@meyering.net>
94864
94865         * lib/full-write.c: Rework so that it may serve to define full_read,
94866         too.
94867         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
94868
94869 2003-01-07  Bruno Haible  <bruno@clisp.org>
94870
94871         * lib/strtoimax.c: Include <stdint.h> as an alternative to
94872         <inttypes.h>.
94873         * lib/xstrtol.h: Likewise.
94874         * lib/xstrtoimax.c: Likewise.
94875         * lib/xstrtoumax.c: Likewise.
94876         * lib/human.h: Likewise.
94877
94878         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
94879         on systems that have <inttypes.h> but not <stdint.h>.
94880
94881 2003-01-07  Bruno Haible  <bruno@clisp.org>
94882
94883         * MODULES.html.sh: Add copyright notice.
94884         (missed_files): Omit CVS directory entries.
94885         (func_module): Make it work with sed-3.02.
94886         * MODULES.txt: Remove file.
94887
94888 2003-01-06  Jim Meyering  <jim@meyering.net>
94889
94890         * lib/version-etc.c: Update year in translatable copyright string.
94891
94892 2003-01-03  Karl Berry  <karl@gnu.org>
94893
94894         * config/config.{guess,sub}: update from prep.
94895
94896 2003-01-02  Karl Berry  <karl@gnu.org>
94897
94898         * doc/COPYING.DOC: belatedly updated to 1.2.
94899
94900 2003-01-01  Karl Berry  <karl@gnu.org>
94901
94902         * gnulib-tool (func_verify_module): report module name $module in
94903         error message, not $1.
94904         * gnulib-tool (create-testdir): don't complain if destdir couldn't
94905         be created, only if it doesn't exist.
94906         * gnulib-tool (last_checkin_date): don't expand the $Date here.
94907
94908 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94909
94910         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
94911
94912 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94913
94914         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
94915         memcmp if strcoll doesn't work.
94916
94917 2002-12-31  Bruno Haible  <bruno@clisp.org>
94918
94919         * lib/utime.c (utime_null): No need to call ftruncate if the file was
94920         nonempty.
94921
94922 2002-12-31  Bruno Haible  <bruno@clisp.org>
94923
94924         * lib/memcoll.c (STRCOLL): New macro.
94925         (memcoll): Use it.
94926
94927 2002-12-31  Bruno Haible  <bruno@clisp.org>
94928
94929         * lib/localcharset.h: New file.
94930         * lib/localcharset.c: Include it.
94931         * lib/unicodeio.c: Likewise.
94932
94933 2002-12-31  Bruno Haible  <bruno@clisp.org>
94934
94935         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
94936         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
94937
94938 2002-12-31  Bruno Haible  <bruno@clisp.org>
94939
94940         * lib/getline.h: Include <stddef.h>, for size_t.
94941
94942         * lib/unicodeio.h: Include <stddef.h>, for size_t.
94943         * lib/unicodeio.c: Don't include <stddef.h>.
94944
94945 2002-12-31  Bruno Haible  <bruno@clisp.org>
94946
94947         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
94948         HAVE_TM_ZONE.
94949
94950 2002-12-24  Karl Berry  <karl@gnu.org>
94951
94952         * config/config.guess: update from prep.
94953
94954 2002-12-24  Bruno Haible  <bruno@clisp.org>
94955
94956         General infrasructure.
94957         * m4/README: Rewritten.
94958         * m4/onceonly.m4: New file.
94959         * m4/onceonly_2_57.m4: New file.
94960
94961         Module atexit.
94962         * m4/atexit.m4: New file.
94963
94964         Module strtod.
94965         * m4/strtod.m4: New file.
94966
94967         Module strtol.
94968         * m4/strtol.m4: New file.
94969
94970         Module strtoul.
94971         * m4/strtoul.m4: New file.
94972
94973         Module memchr.
94974         * m4/memchr.m4: New file.
94975
94976         Module memcmp.
94977         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
94978         (jm_FUNC_MEMCMP): Invoke it.
94979
94980         Module memcpy.
94981         * m4/memcpy.m4: New file.
94982
94983         Module memmove.
94984         * m4/memmove.m4: New file.
94985
94986         Module memset.
94987         * m4/memset.m4: New file.
94988
94989         Module strcspn.
94990         * m4/strcspn.m4: New file.
94991
94992         Module strpbrk.
94993         * m4/strpbrk.m4: New file.
94994
94995         Module strstr.
94996         * m4/strstr.m4: New file.
94997
94998         Module strerror.
94999         * m4/strerror.m4: New file.
95000
95001         Module mktime.
95002         * m4/mktime.m4: Renamed from jm-mktime.m4.
95003         (gl_PREREQ_MKTIME): New macro.
95004         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
95005
95006         Module malloc.
95007         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
95008         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
95009         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
95010
95011         Module realloc.
95012         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
95013         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
95014         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
95015
95016         Module strftime.
95017         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
95018         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
95019         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
95020         gl_TM_GMTOFF.
95021         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
95022
95023         Module xalloc.
95024         * m4/xalloc.m4: New file.
95025
95026         Module alloca.
95027         * m4/alloca.m4: New file.
95028
95029         Module putenv.
95030         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
95031         (jm_FUNC_PUTENV): Invoke it.
95032
95033         Module setenv.
95034         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
95035         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
95036         when invoked twice.
95037         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
95038         gt_FUNC_SETENV.
95039
95040         Module memrchr.
95041         * m4/memrchr.m4: New file.
95042
95043         Module stpcpy.
95044         * m4/stpcpy.m4: New file.
95045
95046         Module strcase.
95047         * m4/strcase.m4: New file.
95048
95049         Module strdup.
95050         * m4/strdup.m4: New file.
95051
95052         Module strnlen.
95053         * m4/strnlen.m4: New file.
95054
95055         Module strndup.
95056         * m4/strndup.m4: New file.
95057
95058         Module xstrtod.
95059         * m4/xstrtod.m4: New file.
95060
95061         Module xstrtol.
95062         * m4/xstrtol.m4: New file.
95063
95064         Module getdate.
95065         * m4/getdate.m4: New file.
95066
95067         Module unlocked-io.
95068         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
95069         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
95070         * m4/jm-glibc-io.m4n: Remove file.
95071
95072         Module long-options.
95073         * m4/long-options.m4: New file.
95074
95075         Module md5.
95076         * m4/md5.m4: New file.
95077
95078         Module sha.
95079         * m4/sha.m4: New file.
95080
95081         Module getstr.
95082         * m4/getstr.m4: New file.
95083
95084         Module getline.
95085         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
95086         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
95087         <sys/types.h>, for size_t. Use the function name gnu_getline, not
95088         simply getline. Infoke gl_PREREQ_GETLINE.
95089
95090         Module obstack.
95091         * m4/obstack.m4: New file.
95092
95093         Module hash.
95094         * m4/hash.m4: New file.
95095
95096         Module readtokens.
95097         * m4/readtokens.m4: New file.
95098
95099         Module strverscmp.
95100         * m4/strverscmp.m4: New file.
95101
95102         Module stdbool.
95103         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
95104         OSF/1.
95105
95106         Module strtoll.
95107         * m4/strtoll.m4: New file.
95108
95109         Module strtoull.
95110         * m4/strtoull.m4: New file.
95111
95112         Module strtoimax.
95113         * m4/strtoimax.m4: New file.
95114
95115         Module strtoumax.
95116         * m4/strtoumax.m4: New file.
95117
95118         Module xstrtoimax.
95119         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
95120         jm_AC_PREREQ_XSTRTOIMAX.
95121         Moved the strtol prerequisites to strtol.m4.
95122         Moved the strtoll prerequisites to strtoll.m4.
95123         Moved the strtoimax prerequisites to strtoimax.m4.
95124
95125         Module xstrtoumax.
95126         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
95127         jm_AC_PREREQ_XSTRTOUMAX.
95128         Moved the strtoul prerequisites to strtoul.m4.
95129         Moved the strtoull prerequisites to strtoull.m4.
95130         Moved the strtoumax prerequisites to strtoumax.m4.
95131
95132         Module chown.
95133         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
95134         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
95135
95136         Module dup2.
95137         * m4/dup2.m4: New file.
95138
95139         Module ftruncate.
95140         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
95141         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
95142
95143         Module getgroups.
95144         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
95145         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
95146
95147         Module gettimeofday.
95148         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
95149         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
95150         gl_PREREQ_GETTIMEOFDAY.
95151
95152         Module mkdir.
95153         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
95154         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
95155
95156         Module mkstemp.
95157         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
95158         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
95159         jm_AC_TYPE_UINTMAX_T.
95160         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
95161
95162         Module stat.
95163         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
95164         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
95165
95166         Module lstat.
95167         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
95168         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
95169
95170         Module timespec.
95171         * m4/timespec.m4 (gl_TIMESPEC): New macro.
95172         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
95173         * m4/st_mtim.m4: Indentation.
95174
95175         Module nanosleep.
95176         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
95177         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
95178         gl_PREREQ_NANOSLEEP.
95179
95180         Module regex.
95181         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
95182         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
95183         (gl_REGEX): New macro.
95184
95185         Module rename.
95186         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
95187         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
95188
95189         Module rmdir.
95190         * m4/rmdir.m4: New file.
95191
95192         Module utime.
95193         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
95194         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
95195         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
95196
95197         Module dirname.
95198         * m4/dirname.m4: New file.
95199
95200         Module getopt.
95201         * m4/getopt.m4: New file.
95202
95203         Module unistd-safer.
95204         * m4/unistd-safer.m4: New file.
95205
95206         Module fnmatch.
95207         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
95208         declaration.
95209         (gl_PREREQ_FNMATCH_EXTRA): New macro.
95210         (gl_FUNC_FNMATCH_POSIX): New macro.
95211         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
95212         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
95213         simply fnmatch.
95214
95215         Module exclude.
95216         * m4/exclude.m4: New file.
95217
95218         Module human.
95219         * m4/human.m4: New file.
95220
95221         Module acl.
95222         * m4/acl.m4: Nop.
95223
95224         Module backupfile.
95225         * m4/backupfile.m4: New file.
95226         * m4/d-ino.m4: Indentation.
95227
95228         Module fsusage.
95229         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
95230         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
95231         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
95232
95233         Module dirfd.
95234         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
95235         requirements.
95236
95237         Module euidaccess.
95238         * m4/euidaccess.m4: New file.
95239
95240         Module file-type.
95241         * m4/file-type.m4: New file.
95242
95243         Module fileblocks.
95244         * m4/fileblocks.m4: New file.
95245
95246         Module filemode.
95247         * m4/filemode.m4: New file.
95248
95249         Module isdir.
95250         * m4/isdir.m4: New file.
95251
95252         Module lchown.
95253         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
95254         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
95255
95256         Module makepath.
95257         * m4/makepath.m4: New file.
95258
95259         Module modechange.
95260         * m4/modechange.m4: New file.
95261
95262         Module mountlist.
95263         * m4/mountlist.m4: New file.
95264         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
95265         Indentation.
95266
95267         Module path-concat.
95268         * m4/path-concat.m4: New file.
95269
95270         Module pathmax.
95271         * m4/pathmax.m4: New file.
95272
95273         Module same.
95274         * m4/same.m4: New file.
95275
95276         Module save-cwd.
95277         * m4/save-cwd.m4: New file.
95278
95279         Module savedir.
95280         * m4/savedir.m4: New file.
95281
95282         Module xgetcwd.
95283         * m4/xgetcwd.m4: New file.
95284         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
95285
95286         Module xreadlink.
95287         * m4/xreadlink.m4: New file.
95288
95289         Module safe-read.
95290         * m4/safe-read.m4: New file.
95291
95292         Module safe-write.
95293         * m4/safe-write.m4: New file.
95294
95295         Module closeout.
95296         * m4/closeout.m4: New file.
95297
95298         Module stdio-safer.
95299         * m4/stdio-safer.m4: New file.
95300
95301         Module getpass.
95302         * m4/getpass.m4: New file.
95303
95304         Module getugroups.
95305         * m4/getugroups.m4: New file.
95306
95307         Module group-member.
95308         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
95309         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
95310
95311         Module idcache.
95312         * m4/idcache.m4: New file.
95313
95314         Module userspec.
95315         * m4/userspec.m4: New file.
95316
95317         Module gettime.
95318         * m4/clock_time.m4: New file.
95319         * m4/gettime.m4: New file.
95320
95321         Module settime.
95322         * m4/settime.m4: New file.
95323
95324         Module posixtm.
95325         * m4/posixtm.m4: New file.
95326
95327         Module gethostname.
95328         * m4/gethostname.m4: New file.
95329
95330         Module canon-host.
95331         * m4/canon-host.m4: New file.
95332
95333         Module gettext.
95334         * m4/codeset.m4: New file, from gettext-0.11.5.
95335         * m4/gettext.m4: New file, from gettext-0.11.5.
95336         * m4/glibc21.m4: New file, from gettext-0.11.5.
95337         * m4/iconv.m4: New file, from gettext-0.11.5.
95338         * m4/intdiv0.m4: New file, from gettext-0.11.5.
95339         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
95340         * m4/inttypes.m4: New file, from gettext-0.11.5.
95341         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
95342         * m4/isc-posix.m4: New file, from gettext-0.11.5.
95343         * m4/lcmessage.m4: New file, from gettext-0.11.5.
95344         * m4/lib-ld.m4: New file, from gettext-0.11.5.
95345         * m4/lib-link.m4: New file, from gettext-0.11.5.
95346         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
95347         * m4/progtest.m4: New file, from gettext-0.11.5.
95348         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
95349         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
95350         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
95351
95352         Module localcharset.
95353         * m4/localcharset.m4: New file.
95354
95355         Module hard-locale.
95356         * m4/hard-locale.m4: New file.
95357
95358         Module mbswidth.
95359         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
95360         onceonly macros.
95361         * m4/mbrtowc.m4: Add comment.
95362
95363         Module memcasecmp.
95364         * m4/memcasecmp.m4: New file.
95365
95366         Module memcoll.
95367         * m4/memcoll.m4: New file.
95368
95369         Module unicodeio.
95370         * m4/unicodeio.m4: New file.
95371
95372         Module rpmatch.
95373         * m4/rpmatch.m4: New file.
95374
95375         Module yesno.
95376         * m4/yesno.m4: New file.
95377
95378         Module exitfail.
95379         * m4/exitfail.m4: New file.
95380
95381         Module c-stack.
95382         * m4/c-stack.m4 (gl_C_STACK): New macro.
95383         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
95384
95385         Module error.
95386         * m4/error.m4 (gl_ERROR): New macro.
95387         (jm_PREREQ_ERROR): Use onceonly macros.
95388
95389         Module fatal.
95390         * m4/fatal.m4: New file.
95391
95392         Module getloadavg.
95393         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
95394         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
95395
95396         Module getpagesize.
95397         * m4/getpagesize.m4: New file.
95398
95399         Module getusershell.
95400         * m4/getusershell.m4: New file.
95401
95402         Module physmem.
95403         * m4/physmem.m4: New file.
95404
95405         Module posixver.
95406         * m4/posixver.m4: New file.
95407
95408         Module quotearg.
95409         * m4/quotearg.m4: New file.
95410
95411         Module quote.
95412         * m4/quote.m4: New file.
95413
95414         Module readutmp.
95415         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
95416
95417         Module sig2str.
95418         * m4/sig2str.m4: New file.
95419
95420         Other.
95421         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
95422         ulonglong.m4.
95423         * m4/intmax_t.m4: New file.
95424         * m4/d-type.m4: Indentation.
95425         * m4/jm-macros.m4: Update.
95426         * m4/prereq.m4 (jm_PREREQ): Update.
95427         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
95428         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
95429         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
95430         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
95431         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
95432         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
95433         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
95434         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
95435         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
95436         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
95437         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
95438         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
95439         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
95440         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
95441         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
95442         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
95443         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
95444         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
95445         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
95446
95447 2002-12-24  Bruno Haible  <bruno@clisp.org>
95448
95449         * MODULES.txt: Update according to m4/ changes.
95450
95451         Module gettext.
95452         * config.rpath: New file, from gettext-0.11.5.
95453
95454         * modules/*: New module descriptions.
95455         * gnulib-tool: New file.
95456         * MODULES.html.sh: New file.
95457
95458 2002-12-21  Karl Berry  <karl@gnu.org>
95459
95460         * doc/fdl.texi: update to version 1.2.
95461
95462 2002-12-19  Karl Berry  <karl@gnu.org>
95463
95464         * config/config.guess: update from prep.
95465
95466 2002-12-18  Bruno Haible  <bruno@clisp.org>
95467
95468         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
95469         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
95470
95471 2002-12-17  Bruno Haible  <bruno@clisp.org>
95472
95473         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
95474         stdlib.h, string.h.
95475
95476 2002-12-17  Bruno Haible  <bruno@clisp.org>
95477
95478         * lib/canon-host.c (strdup): Remove unused declaration.
95479
95480         * lib/fsusage.c: Include full_read.h.
95481         (get_fs_usage): Use full_read instead of safe_read.
95482
95483         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
95484
95485 2002-12-12  Karl Berry  <karl@gnu.org>
95486
95487         * config/config.guess: update from prep.
95488
95489 2002-12-11  Bruno Haible  <bruno@clisp.org>
95490
95491         * m4/setenv.m4: New file, from gettext-0.11.5.
95492
95493 2002-12-11  Bruno Haible  <bruno@clisp.org>
95494
95495         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
95496         not unsetenv().
95497         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
95498         modifications:
95499
95500         2002-12-11  Bruno Haible  <bruno@clisp.org>
95501
95502                 * setenv.c (alloca): Fall back to malloc.
95503                 (freea): New macro.
95504                 (setenv): Use freea() to free memory allocated with alloca().
95505
95506         2002-11-13  Bruno Haible  <bruno@clisp.org>
95507
95508                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
95509                 function declarations.
95510                 * unsetenv.c (unsetenv): Likewise.
95511
95512         2002-03-04  Bruno Haible  <bruno@clisp.org>
95513
95514                 Portability to AIX 4.3.3.
95515                 * unsetenv.c: New file, extracted from setenv.c.
95516                 * setenv.c: Move the unsetenv() function to unsetenv.c.
95517
95518         2001-12-20  Bruno Haible  <bruno@clisp.org>
95519
95520                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
95521                 use malloc instead. For SunOS 4.
95522
95523         2001-12-11  Bruno Haible  <bruno@clisp.org>
95524
95525                 * setenv.c: Declare alloca.
95526                 (compar_fn_t): New typedef.
95527                 (KNOWN_VALUE, STORE_VALUE): Use it.
95528
95529         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
95530         setenv.h.
95531
95532 2002-12-10  Paul Eggert  <eggert@twinsun.com>
95533
95534         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
95535         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
95536         Choose values that are less likely to collide with system fnmatch
95537         options.
95538         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
95539         defined (e.g., a pure POSIX system).
95540         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
95541         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
95542
95543 2002-12-06  Paul Eggert  <eggert@twinsun.com>
95544
95545         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
95546         a pain in practice to deal with generated m4 files.  This change
95547         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
95548
95549         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
95550         and jm-glibc-io.m4, as they are no longer a special case.
95551         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
95552         kludge and the auto-generation stuff.  Check only whether the
95553         functions are declared, not whether they exist, since older hosts
95554         that don't declare the functions can't use the optimization anyway.
95555
95556 2002-12-06  Jim Meyering  <jim@meyering.net>
95557
95558         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
95559
95560         Merge in changes from libc's misc/error.c, in preparation
95561         for the merge of gnulib's changes back into libc.
95562
95563         * lib/error.c (_): Define only if not already defined.
95564         Move definition to follow all #include directives.
95565         Include unlocked-io.h only if !_LIBC.
95566         [_LIBC]: Include <libio/libioP.h>.
95567         [USE_IN_LIBIO]: Include <libio/iolibio.h>
95568         (fflush): Tweak definition to use INTUSE.
95569         (putc): Define.
95570
95571 2002-12-05  Paul Eggert  <eggert@twinsun.com>
95572
95573         * lib/alloca.c [defined emacs]: Include "lisp.h".
95574         (xalloc_die) [defined emacs]: New macro.
95575         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
95576         [! defined emacs]: Include <xalloc.h>.
95577         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
95578         (pointer): Typedef to POINTER_TYPE *.
95579         (malloc): Remove decl; we now always use xmalloc.
95580         (alloca): Use old-style definition, since Emacs needs this.
95581         Check for arithmetic overflow when computing combined size.
95582
95583 2002-12-04  Paul Eggert  <eggert@twinsun.com>
95584
95585         Do not generate unlocked-io.h automatically, since it's easier to
95586         maintain it by hand.
95587
95588         * lib/unlocked-io.h: New file, from GNU diffutils,
95589         but with proper copyright notice and attribution.
95590         * lib/gen-uio: Remove.
95591         * lib/Makefile.am: Add copyright notice.
95592         (libfetish_a_SOURCES): Add unlocked-io.h.
95593         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
95594         (DISTCLEANFILES, io_functions): Remove macros.
95595         (EXTRA_DIST): Remove gen_uio.
95596         (unlocked-io.h): Remove rule.
95597
95598 2002-12-04  Jim Meyering  <jim@meyering.net>
95599
95600         Reflect the fact that stat.c and lstat.c are no longer generated.
95601         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
95602         (DISTCLEANFILES): Likewise.
95603         (EXTRA_DIST): Likewise.
95604         (all_local): Don't depend on stat.c or lstat.c.
95605         (stat.c, lstat.c): Remove rules.
95606         (EXTRA_DIST): Remove xstat.in.
95607
95608         * lib/xstat.in: Remove file.  Contents moved into stat.c.
95609         * lib/stat.c: New file.  Contents mostly from xstat.in.
95610         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
95611         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
95612
95613         * lib/safe-read.c: Rework so that it may serve to define safe_write,
95614         too.
95615         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
95616
95617 2002-12-03  Jim Meyering  <jim@meyering.net>
95618
95619         * lib/safe-read.c, safe-write.c: Change variable names and comments,
95620         but not semantics, to minimize the differences between these two files.
95621         (safe_read): Change comment to mention SAFE_READ_ERROR.
95622
95623         * lib/safe-read.c (IS_EINTR): Define.
95624         (safe_read): Use IS_EINTR in place of in-function cpp directives.
95625
95626 2002-12-02  Jim Meyering  <jim@meyering.net>
95627
95628         * lib/safe-read.c (EINTR): Define.
95629         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
95630         (INT_MAX): Provide fallback.
95631         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
95632
95633         * lib/safe-read.h (SAFE_READ_ERROR): Define.
95634
95635 2002-12-02  Bruno Haible  <bruno@clisp.org>
95636
95637         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
95638         Define, taken from safe-read.c.
95639         (INT_MAX): Provide fallback.
95640         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
95641         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
95642
95643         * lib/safe-read.c (EINTR): Remove definition.
95644         (safe_read): Don't use EINTR if it is absent.
95645
95646 2002-12-01  Jim Meyering  <jim@meyering.net>
95647
95648         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
95649         zero.
95650         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
95651
95652 2002-11-27  Paul Eggert  <eggert@twinsun.com>
95653
95654         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
95655         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
95656         with `if (! (value < limit)) abort ();', for readability.
95657
95658 2002-11-26  Karl Berry  <karl@gnu.org>
95659
95660         * lib/strdup.c: copy from libc again, with jim's ok.
95661         * lib/.cppi-disable: re-add strdup.c
95662
95663 2002-11-25  Karl Berry  <karl@gnu.org>
95664
95665         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
95666         instead of "strtol.c".
95667
95668 2002-11-25  Karl Berry  <karl@gnu.org>
95669
95670         * config/install-sh: update from automake for variable quoting, $0 in
95671         error msgs, etc.
95672
95673         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
95674         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
95675         entry.
95676
95677 2002-11-25  Jim Meyering  <jim@meyering.net>
95678
95679         * lib/mktime.c: Sync from libc, now that it has the latest fix.
95680
95681 2002-11-24  Karl Berry  <karl@gnu.org>
95682
95683         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
95684         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
95685
95686 2002-11-24  Jim Meyering  <jim@meyering.net>
95687
95688         Update from coreutils:
95689
95690         * lib/mktime.c: Merge in changes from libc.
95691
95692         Avoid a link-time failure on some Linux systems.
95693         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
95694         (otherwise).
95695         (__mon_yday): Declare with the STATIC attribute.
95696         (__mktime_internal): Likewise.
95697         Based on a report from Greg Schafer.
95698
95699 2002-11-23  Jim Meyering  <jim@meyering.net>
95700
95701         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
95702         Use `unsigned', not `int', as type of index.
95703
95704         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
95705
95706         * lib/fsusage.c: Remove unneeded parentheses around operands of
95707         `defined'.
95708
95709 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95710
95711         * lib/quotearg.h: Allow multiple inclusion by surrounding with
95712         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
95713         so that we can be included first.
95714         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
95715         * lib/quotearg.c: Include quotearg.h immediately after config.h.
95716         No need to include stddef.h or sys/types.h any more.
95717         Surround local include files with "", not "<>".
95718         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
95719         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
95720         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
95721         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
95722         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
95723         (ISPRINT): Remove; no longer needed now that we assume C89.
95724
95725         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
95726         Preserve errno.
95727
95728         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
95729         quotearg_char): Use SIZE_MAX rather than
95730         (size_t) -1 when we are talking about "infinity".
95731
95732         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
95733
95734 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95735
95736         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
95737         hint that one should use `if (! x) abort ();' rather than `assert
95738         (x);', and anyway it's one less thing to worry about configuring.
95739         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
95740         hash_rehash, hash_insert): Use abort rather than assert.
95741
95742 2002-11-22  Bruno Haible  <bruno@clisp.org>
95743
95744         * lib/safe-read.h: Assume C89. Add comments.
95745         (safe_read): Change return type to size_t.
95746         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
95747         byte counts > SSIZE_MAX correctly.
95748         * lib/safe-write.h: New file.
95749         * lib/safe-write.c: New file.
95750         * lib/full-read.h: New file.
95751         * lib/full-read.c: New file.
95752         * lib/full-write.h: Assume C89. Add comments.
95753         * lib/full-write.c: Include safe-write.h.
95754         (full_write): Rewritten to use safe_write.
95755         Suggested by Jim Meyering and Paul Eggert.
95756
95757 2002-11-21  Jim Meyering  <jim@meyering.net>
95758
95759         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
95760
95761         Merge in changes from the coreutils.
95762
95763         2002-09-25  Paul Eggert  <eggert@twinsun.com>
95764         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
95765         <stdint.h>.
95766         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
95767         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
95768         int.  Work more efficiently if X is the same width as uintmax_t.
95769         Do not compare X to -1, to avoid bogus compiler warning.
95770         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
95771         Don't assume that f_frsize and f_bsize are the same type.
95772
95773         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
95774         warning on FreeBSD.
95775
95776         * lib/makepath.c (make_path): Restore umask *before* creating the final
95777         component.
95778         (make_path): Minor reformatting.
95779
95780         * lib/xmalloc.c: Adjust to work with new autoconf macros,
95781         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
95782         HAVE_MALLOC/HAVE_REALLOC.
95783
95784         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
95785         dummy ones.  At least on GNU/Linux systems, `auto' means something
95786         else.
95787         From Michael Stone.
95788
95789 2002-11-21  Bruno Haible  <bruno@clisp.org>
95790
95791         Remove case insensitive option matching.
95792         * lib/argmatch.h (argcasematch): Remove declaration.
95793         (ARGCASEMATCH): Remove macro.
95794         (__xargmatch_internal): Remove case_sensitive argument.
95795         (XARGMATCH): Update.
95796         (XARGCASEMATCH): Remove macro.
95797         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
95798         case_sensitive argument.
95799         (argcasematch): Remove function.
95800         (__xargmatch_internal): Remove case_sensitive argument.
95801         (main): Use XARGMATCH instead of XARGCASEMATCH.
95802
95803         * lib/xmalloc.c: Change compile-time error message. Add comment about
95804         required autoconf version.
95805
95806 2002-11-20  Paul Eggert  <eggert@twinsun.com>
95807
95808         Merge argmatch cleanups from Bison.  Assume C89.
95809
95810         * lib/argmatch.c: Include config.h here, not in argmatch.h.
95811         Include stdlib.h, for EXIT_FAILURE.
95812         Always include <string.h>, since we assume C89.
95813         (EXIT_FAILURE): Remove pre-C89 bug workaround.
95814         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
95815         Include <stddef.h> instead, since it's all we need for size_t.
95816         (PARAMS): Remove.  All uses removed.
95817         (ARRAY_CARDINALITY): Do not bother to #undef.
95818         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
95819         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95820         Remove unnecessary parentheses.
95821         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95822         Insert necessary parentheses.
95823         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
95824         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
95825
95826 2002-11-19  Bruno Haible  <bruno@clisp.org>
95827
95828         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
95829         * lib/mbswidth.h: Include <stddef.h>, for size_t.
95830
95831         * lib/mbswidth.h (PARAMS): Remove macro.
95832         (mbswidth, mbsnwidth): Use ANSI C function declarations.
95833         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
95834
95835         * lib/gcd.h (PARAMS): Remove macro.
95836         (gcd): Use ANSI C function declarations.
95837         * lib/gcd.c (gcd): Likewise.
95838
95839 2002-11-15  Bruno Haible  <bruno@clisp.org>
95840
95841         * lib/strcspn.c: Include <stddef.h>.
95842         (strcspn): Use ANSI C function declaration. Change return type to
95843         size_t. Use NULL.
95844         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
95845         (strpbrk): Use NULL.
95846         * lib/strpbrk.h (PARAMS): Remove macro.
95847         (strpbrk): Use ANSI C function declaration.
95848         * lib/strstr.c: Don't include <sys/types.h>.
95849         * lib/strstr.h (PARAMS): Remove macro.
95850         (strstr): Use ANSI C function declarations.
95851
95852 2002-11-14  Karl Berry  <karl@gnu.org>
95853
95854         * config/mkinstalldirs: `do' on separate line, instead of
95855         `for var; do'.
95856
95857 2002-11-06  Bruno Haible  <bruno@clisp.org>
95858
95859         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
95860         * lib/gcd.c (gcd): Likewise.
95861
95862 2002-11-05  Bruno Haible  <bruno@clisp.org>
95863
95864         * lib/gcd.h: New file, from gettext-0.11.5.
95865         * lib/gcd.c: New file, from gettext-0.11.5.
95866
95867 2002-11-05  Bruno Haible  <bruno@clisp.org>
95868
95869         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95870         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95871         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95872         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95873
95874         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
95875         <libintl.h>.
95876         * lib/makepath.c: Include gettext.h instead of <locale.h> and
95877         <libintl.h>.
95878
95879         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
95880         * lib/human.c: Include gettext.h instead of <libintl.h>.
95881         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
95882         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
95883         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
95884         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
95885         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
95886         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
95887         (textdomain): Remove definition.
95888         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
95889
95890         * lib/long-options.c: Remove include of <libintl.h> and definition of
95891         _.
95892         * lib/same.c: Remove include of <libintl.h> and definition of _.
95893
95894 2002-11-04  Owen Taylor  <otaylor@redhat.com>
95895
95896         * lib/config.charset: A few additions for Solaris.
95897
95898 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95899
95900         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
95901         * lib/localcharset.c (locale_charset): Declare as extern "C".
95902
95903 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95904
95905         * lib/config.charset: msdos in uk_UA uses CP1125.
95906
95907 2002-11-04  Bruno Haible  <bruno@clisp.org>
95908
95909         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
95910         * lib/strcase.h: New file, from GNU gettext-0.11.5.
95911         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
95912         * lib/strstr.h: New file, from GNU gettext-0.11.5.
95913         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
95914
95915 2002-11-04  Bruno Haible  <bruno@clisp.org>
95916
95917         * lib/localcharset.c (locale_charset): Don't return an empty string.
95918
95919 2002-11-04  Bruno Haible  <bruno@clisp.org>
95920
95921         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
95922         aliases.
95923
95924 2002-11-04  Bruno Haible  <bruno@clisp.org>
95925
95926         * lib/config.charset: Update for newest glibc. Add canonical names
95927         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
95928
95929 2002-11-04  Bruno Haible  <bruno@clisp.org>
95930
95931         * lib/config.charset: Add support for NetBSD.
95932
95933 2002-11-04  Bruno Haible  <bruno@clisp.org>
95934
95935         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
95936
95937 2002-11-01  Bruno Haible  <bruno@clisp.org>
95938
95939         * configure.in: Add AC_CONFIG_AUX_DIR call.
95940         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
95941         test/Makefile.
95942         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
95943
95944 2002-09-28  Karl Berry  <karl@gnu.org>
95945
95946         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
95947         installed automake until the next release, since changes have been
95948         made.
95949
95950 2002-09-25  Karl Berry  <karl@gnu.org>
95951
95952         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
95953         * lib/getopt*: copy from libc/posix.
95954         * lib/gettext.h: copy from gettext.
95955         * lib/.cppi-disable: add strdup.c, gettext.h.
95956
95957 2002-09-25  Karl Berry  <karl@gnu.org>
95958
95959         * config/srclist.txt: enable gettext.h check.
95960         * config/config.{guess,sub}: update from prep.
95961         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
95962                 from automake 1.6.3.
95963         See srclist*.
95964
95965 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
95966
95967         * regex.c (PATFETCH): Remove the translating fetch.
95968         (PATFETCH_RAW): Rename to PATFETCH.
95969         (set_image_of_range): New fun.
95970         (SET_RANGE_TABLE_WORK_AREA): Use it.
95971         (regex_compile): Don't translate the pattern chars so eagerly.
95972         Only do it when inserting an `exactn' bytecode or when handling
95973         a char-range.
95974         (mutually_exclusive_p): Avoid empty statement.
95975
95976 2002-07-06  Jim Meyering  <meyering@lucent.com>
95977
95978         * m4/README: Don't mention Makefile.am.in.
95979         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
95980
95981 2002-07-01  Jim Meyering  <meyering@lucent.com>
95982
95983         * lib/c-stack.c: Include sys/time.h.
95984         From Volker Borchert.
95985
95986 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95987
95988         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
95989
95990 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95991
95992         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
95993         New macro.  Use it uniformly instead of
95994         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
95995         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
95996         reported by Vin Shelton.
95997
95998 2002-06-22  Paul Eggert  <eggert@twinsun.com>
95999
96000         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
96001         Do not assume SA_SIGINFO behavior.
96002         Bug reported by Jim Meyering on NetBSD 1.5.2.
96003
96004 2002-06-22  Jim Meyering  <meyering@lucent.com>
96005
96006         * m4/c-stack.m4: New file, from diffutils-2.8.2.
96007         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
96008
96009         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
96010         now that configure.ac uses AC_GNU_SOURCE.
96011         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
96012         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
96013
96014         Update to latest tools.  Suggestions from Paul Eggert.
96015         * m4/stdbool.m4: New file, from diffutils-2.8.2.
96016         * m4/gnu-source.m4: Update from diffutils-2.8.2.
96017         * m4/fnmatch.m4: Likewise.
96018         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
96019         to AC_HEADER_STDBOOL
96020
96021 2002-06-22  Jim Meyering  <meyering@lucent.com>
96022
96023         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
96024         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
96025
96026 2002-06-22  Jim Meyering  <meyering@lucent.com>
96027
96028         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
96029
96030         * lib/exitfail.c, exitfail.h: Likewise.
96031         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
96032
96033         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
96034         of fnmatch.h.
96035         (EXTRA_DIST): Add fnmatch_loop.c.
96036         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
96037
96038         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
96039         * lib/fnmatch.c: Update from diffutils-2.8.2.
96040         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
96041         * lib/fnmatch.h: Remove file.
96042
96043 2002-06-21  Jim Meyering  <meyering@lucent.com>
96044
96045         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
96046         * m4/mbrtowc.m4: Likewise.
96047
96048         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
96049         * m4/mbswidth.m4: Reflect name change:
96050         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
96051         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
96052
96053         * m4/lib-link.m4: Update from gettext-0.11.2.
96054         * m4/gettext.m4: Likewise.
96055
96056         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
96057         From Alfred M. Szmidt.
96058
96059 2002-06-18  Paul Eggert  <eggert@twinsun.com>
96060
96061         * lib/file-type.h: Report an error if neither S_ISREG nor
96062         S_IFREG is defined, instead of using a test specific to glibc
96063         2.2.  This should be safe, since POSIX requires S_ISREG and
96064         Unix Version 7 had S_IFREG.  We don't need to check for
96065         <sys/types.h> since we don't use any symbols that it defines.
96066
96067 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
96068
96069         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
96070         $@-t, so that each temporary file name is unique and valid in the first
96071         8 characters, for operation under DOS.
96072
96073 2002-06-15  Paul Eggert  <eggert@twinsun.com>
96074
96075         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
96076
96077 2002-06-15  Jim Meyering  <meyering@lucent.com>
96078
96079         Work even with DJGPP 2.03, which lacks support for symlinks.
96080         From Richard Dawe.
96081         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
96082         is defined.
96083         * lib/lchown.c (S_ISLNK): Likewise.
96084
96085 2002-06-15  Jim Meyering  <meyering@lucent.com>
96086
96087         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
96088         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
96089         have been included before this file.
96090
96091 2002-06-14  Jim Meyering  <meyering@lucent.com>
96092
96093         * lib/file-type.h: Use the version from diffutils-2.8.2.
96094         * lib/file-type.c: Likewise.
96095
96096 2002-06-07  Jim Meyering  <meyering@lucent.com>
96097
96098         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
96099         They're needed at least for NetBSD 1.5.2.
96100         ($statxfs_includes): Include those same headers.
96101         ($statxfs_includes): Include sys/vfs.h if available.
96102         ($statxfs_includes): Likewise for sys/statvfs.h.
96103         Check for the following members in both structs statfs and statvfs:
96104         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
96105
96106 2002-06-01  Jim Meyering  <meyering@lucent.com>
96107
96108         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
96109         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
96110
96111 2002-05-28  Jim Meyering  <meyering@lucent.com>
96112
96113         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
96114         Reported by Volker Borchert.
96115
96116 2002-05-27  Jim Meyering  <meyering@lucent.com>
96117
96118         Fix a problem seen only on nonconforming systems whereby ls.c's
96119         use of localtime, and then of gettimeofday would cause trouble:
96120         the localtime call used to initialize rpl_gettimeofday's save
96121         mechanism would clobber ls's current local time information so
96122         that in any long listing the first file would always be listed
96123         with date 1970-01-01.  Analysis by Volker Borchert.
96124
96125         * lib/gettimeofday.c (localtime): Undefine.
96126         (rpl_localtime): New function.
96127
96128 2002-05-27  Jim Meyering  <meyering@lucent.com>
96129
96130         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
96131         localtime.
96132
96133         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
96134         use the replacement function; it wouldn't resolve at link time.
96135         Reported by Volker Borchert.
96136
96137 2002-05-22  Jim Meyering  <meyering@lucent.com>
96138
96139         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
96140         file-type.h.
96141         * lib/file-type.h: New file.
96142         * lib/file-type.c (file_type): New file/function.  Extracted from
96143         diffutils.
96144
96145 2002-04-30  Jim Meyering  <meyering@lucent.com>
96146
96147         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
96148
96149 2002-04-29  Paul Eggert  <eggert@twinsun.com>
96150
96151         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
96152
96153 2002-04-29  Paul Eggert  <eggert@twinsun.com>
96154
96155         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
96156         Do not check for alloca.h (no longer used) or stdbool.h (was never
96157         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
96158
96159 2002-04-29  Paul Eggert  <eggert@twinsun.com>
96160
96161         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
96162
96163 2002-04-29  Jim Meyering  <meyering@lucent.com>
96164
96165         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
96166         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
96167         Use AC_FUNC_STRNLEN here instead.
96168
96169         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
96170         With autoconf-2.53a, it's part of AC_PROG_CC.
96171
96172 2002-04-28  Paul Eggert  <eggert@twinsun.com>
96173
96174         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
96175         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
96176
96177 2002-04-28  Paul Eggert  <eggert@twinsun.com>
96178
96179         * lib/sig2str.h, lib/sig2str.c: New files.
96180         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
96181
96182 2002-04-28  Paul Eggert  <eggert@twinsun.com>
96183
96184         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
96185         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
96186         of 127, since 64 is the largest conceivable number for ancient
96187         nonstandard hosts.
96188         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
96189
96190 2002-04-28  Jim Meyering  <meyering@lucent.com>
96191
96192         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
96193
96194 2002-04-24  Jim Meyering  <meyering@lucent.com>
96195
96196         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
96197         (jm_PREREQ): Use it.
96198
96199         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
96200         mach/mach.h fcntl.h.
96201         Check for this function: setlocale.
96202
96203 2002-04-24  Jim Meyering  <meyering@lucent.com>
96204
96205         * lib/gettext.h: New file, from Gettext.
96206         * lib/Makefile.am (INCLUDES): Remove -I../intl.
96207         (libfetish_a_SOURCES): Add gettext.h.
96208
96209 2002-04-16  Jim Meyering  <meyering@lucent.com>
96210
96211         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
96212         ut_pid, ut_id, ut_exit.
96213
96214 2002-04-16  Jim Meyering  <meyering@lucent.com>
96215
96216         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
96217         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
96218         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
96219
96220 2002-04-12  Jim Meyering  <meyering@lucent.com>
96221
96222         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
96223         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
96224         existence of the getmntinfo function.  Needed for Darwin 5.3.
96225
96226         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
96227         This is necessary at least on Darwin 5.3.
96228
96229         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
96230         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
96231         strnlen.o in the library, and that makes some versions of ranlib
96232         object.
96233
96234 2002-04-12  Jim Meyering  <meyering@lucent.com>
96235
96236         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
96237
96238 2002-04-09  Jim Meyering  <meyering@lucent.com>
96239
96240         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
96241         to be more precise.  Rather than saying we're checking whether the
96242         function `works', say what we're testing.
96243         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
96244         Reported by Bruno Haible.
96245
96246 2002-03-10  Jim Meyering  <meyering@lucent.com>
96247
96248         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
96249         Suggestion from Santiago Vila.
96250
96251 2002-03-08  Jim Meyering  <meyering@lucent.com>
96252
96253         * lib/rename.c: Mention that this wrapper is needed also on
96254         mips-dec-ultrix4.4 systems.
96255
96256 2002-03-02  Jim Meyering  <meyering@lucent.com>
96257
96258         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
96259         not HAVE_CLOCK_SETTIME.
96260
96261 2002-02-27  Paul Eggert  <eggert@twinsun.com>
96262
96263         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
96264         Check for clock_settime.
96265
96266 2002-02-27  Paul Eggert  <eggert@twinsun.com>
96267
96268         * lib/nanosleep.h: Rename to....
96269         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
96270
96271         * lib/gettime.c: New file.
96272         * lib/settime.c: New file.
96273         * lib/stime.c: Remove.
96274
96275         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
96276         timespec.h.  Remove nanosleep.h.
96277
96278 2002-02-25  Paul Eggert  <eggert@twinsun.com>
96279
96280         * m4/acl.m4: New file.
96281         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
96282         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
96283
96284 2002-02-25  Paul Eggert  <eggert@twinsun.com>
96285
96286         * lib/acl.c, lib/acl.h: New files.
96287         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
96288
96289 2002-02-24  Jim Meyering  <meyering@lucent.com>
96290
96291         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
96292         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
96293         cause trouble.  Reported by Nelson Beebe.
96294
96295 2002-02-23  Paul Eggert  <eggert@twinsun.com>
96296
96297         * lib/path-concat.c (xpath_concat): Reorder code to pacify
96298         compilers that don't know that xalloc_die never returns.
96299
96300 2002-02-20  Jim Meyering  <meyering@lucent.com>
96301
96302         * lib/getdate.c: Regenerate using bison-1.33.
96303
96304 2002-02-17  Jim Meyering  <meyering@lucent.com>
96305
96306         * config/config.guess (main): Don't use `head -1'; it's no longer
96307         portable. Use `sed 1q' instead.
96308
96309 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
96310
96311         * m4/codeset.m4: Upgrade to gettext-0.11.
96312         * m4/gettext.m4: Upgrade to gettext-0.11.
96313         * m4/glibc21.m4: Upgrade to gettext-0.11.
96314         * m4/iconv.m4: Upgrade to gettext-0.11.
96315         * m4/isc-posix.m4: Upgrade to gettext-0.11.
96316         * m4/lcmessage.m4: Upgrade to gettext-0.11.
96317         * m4/lib-ld.m4: New file, from gettext-0.11.
96318         * m4/lib-link.m4: New file, from gettext-0.11.
96319         * m4/lib-prefix.m4: New file, from gettext-0.11.
96320         * m4/progtest.m4: Upgrade to gettext-0.11.
96321
96322 2002-02-15  Paul Eggert  <eggert@twinsun.com>
96323
96324         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
96325         (jm_PREREQ): Use it.
96326
96327 2002-02-15  Paul Eggert  <eggert@twinsun.com>
96328
96329         * lib/posixver.c, lib/posixver.h: New files.
96330         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
96331
96332 2002-02-02  Paul Eggert  <eggert@twinsun.com>
96333             Bruno Haible  <bruno@clisp.org>
96334
96335         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
96336         (fwrite_success_callback): New declaration.
96337         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
96338         print_unicode_char. Call failure callback instead of error.
96339         (fwrite_success_callback): New function.
96340         (exit_failure_callback): New function.
96341         (fallback_failure_callback): New function.
96342         (print_unicode_char): Call unicode_to_mb.
96343
96344 2002-01-26  Jim Meyering  <meyering@lucent.com>
96345
96346         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
96347         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
96348
96349 2002-01-26  Jim Meyering  <meyering@lucent.com>
96350
96351         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
96352
96353 2002-01-22  Paul Eggert  <eggert@twinsun.com>
96354
96355         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
96356
96357 2002-01-22  Jim Meyering  <meyering@lucent.com>
96358
96359         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
96360         Otherwise, some versions of automake would omit the rule that makes
96361         Makefile from Makefile.in.
96362
96363 2002-01-21  Paul Eggert  <eggert@twinsun.com>
96364
96365         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
96366         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
96367         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
96368         (memcoll): Set errno to zero if there is no error.
96369
96370         * lib/quotearg.c (quotearg_buffer_restyled):
96371         Fix bug with quoting buffers containing NUL when backslashing escapes.
96372         This bug was exposed by the other changes in this patch.
96373         (quotearg_n_options): New arg ARGSIZE.
96374         All callers changed.
96375         (quoting_options_from_style): New function.
96376         (quotearg_n_style): Use it.
96377         (quotearg_n_style_mem): New function.
96378
96379         * lib/quotearg.h (quotearg_n_style_mem): New function.
96380
96381 2002-01-19  Jim Meyering  <meyering@lucent.com>
96382
96383         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
96384         Remove useless quotes: DF_PROG="df".
96385         * m4/strnlen.m4: New file.
96386
96387 2002-01-16  Paul Eggert  <eggert@twinsun.com>
96388
96389         * lib/backupfile.c (ISDIGIT): Comment fix.
96390         * lib/getdate.y (ISDIGIT): Likewise.
96391         * lib/posixtm.c (ISDIGIT, year): Likewise.
96392         * lib/strverscmp.c (ISDIGIT): Likewise.
96393         * lib/userspec.c (ISDIGIT): Likewise.
96394
96395 2002-01-16  Jim Meyering  <meyering@lucent.com>
96396
96397         * lib/getdate.y: Add three semicolons, each just before a closing
96398         brace. Bison (as of version 1.31) no longer papers over that mistake.
96399
96400 2002-01-05  Jim Meyering  <meyering@lucent.com>
96401
96402         * lib/version-etc.c (version_etc_copyright): Update copyright year.
96403
96404 2001-12-19  Paul Eggert  <eggert@twinsun.com>
96405
96406         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
96407         not silently exit merely because the output buffer happens to
96408         have nothing pending.
96409
96410 2001-12-18  Paul Eggert  <eggert@twinsun.com>
96411
96412         See the big note in ../ChangeLog.
96413         * lib/human.c (suffixes): Prefer K to k for 1024.
96414         (generate_suffix_backwards): New function.
96415         (human_readable_inexact): Use it.
96416         * lib/xstrtol.c (__xstrtol): If there is no number but there
96417         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
96418         Accept 'K' as well as 'k'.
96419
96420 2001-12-15  Jim Meyering  <meyering@lucent.com>
96421
96422         * lib/regex.h (__restrict_arr): Update from libc.
96423
96424         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
96425         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
96426         (STREQ): Define.
96427
96428 2001-12-14  Jim Meyering  <meyering@lucent.com>
96429
96430         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
96431         Suggestion from Bruno Haible.
96432
96433 2001-12-10  Jim Meyering  <meyering@lucent.com>
96434
96435         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
96436         xrealloc, Instead, include "xalloc.h".
96437         (initbuffer): Don't cast xmalloc return value to char*.
96438         (readline): Reword comment.
96439         Don't cast xrealloc return value to char*
96440         Return NULL, not 0.
96441
96442 2001-12-09  Jim Meyering  <meyering@lucent.com>
96443
96444         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
96445         about `signed and unsigned type in conditional expression'.
96446         * lib/posixtm.c (posix_time_parse): Likewise.
96447
96448         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
96449
96450         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
96451         to avoid a pedantic warning.
96452
96453         * lib/getstr.c: Don't include assert.h.
96454         (getstr): Remove warning-evoking assertions.
96455         Return -1 if offset parameter is out of bounds.
96456         Change the type of a local from int to size_t.
96457
96458         * lib/strftime.c (my_strftime_localtime_r): Include this function
96459         definition in the `#if ! HAVE_TM_GMTOFF' block.
96460
96461         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
96462         Include xalloc.h instead.
96463
96464 2001-12-02  Jim Meyering  <meyering@lucent.com>
96465
96466         * lib/tempname.c: Don't declare getenv, thus reverting the change of
96467         2001-11-18.  It's no longer necessary, now that stdlib.h is always
96468         included.
96469
96470         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
96471         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
96472
96473 2001-11-30  Akim Demaille  <akim@epita.fr>
96474
96475         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
96476         before being defined.
96477
96478 2001-11-27  Paul Eggert  <eggert@twinsun.com>
96479
96480         * lib/quotearg.h (quotearg_n, quotearg_n_style):
96481         First arg is int, not unsigned.
96482         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
96483         (SIZE_MAX, UINT_MAX): New macros.
96484         (quotearg_n_options): Abort if N is negative.
96485         Avoid overflow check on hosts where size_t is 64 bits and int
96486         is 32 bits, as overflow is impossible there.
96487         Fix off-by-one typo that caused unnecessary reallocation.
96488
96489 2001-11-27  Jim Meyering  <meyering@lucent.com>
96490
96491         * lib/tempname.c: Merge with version from libc.
96492         * lib/regex.c: Likewise.
96493
96494         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
96495         systems for which STDC_HEADERS is 0, it was not included, resulting in
96496         a warning about an integer-to-pointer conversion problem with getenv.
96497         Reported by Volker Borchert.
96498
96499 2001-11-26  Jim Meyering  <meyering@lucent.com>
96500
96501         * lib/gtod.h: Remove file.
96502         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
96503         * lib/gettimeofday.c: Don't include gtod.h.
96504         (GTOD_init): Remove function.
96505         (rpl_gettimeofday): Do its job here instead, rather than aborting.
96506         Suggestion from Volker Borchert.
96507
96508 2001-11-23  Jim Meyering  <meyering@lucent.com>
96509
96510         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
96511         it.
96512         * lib/hash.c (struct hash_table): Define it here instead.
96513
96514 2001-11-22  Jim Meyering  <meyering@lucent.com>
96515
96516         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
96517
96518 2001-11-20  Jim Meyering  <meyering@lucent.com>
96519
96520         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
96521         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
96522
96523 2001-11-19  Jim Meyering  <meyering@lucent.com>
96524
96525         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
96526         directory.  Use "conftestXXXXXX" as the template.
96527         Suggestion from Paul Eggert.
96528
96529         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
96530         immediately, so the test doesn't mistakenly hit the max-open-files
96531         limit.
96532
96533 2001-11-18  Paul Eggert  <eggert@twinsun.com>
96534
96535         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
96536         (TEMPORARIES): New macro.
96537         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
96538         removes an artificial limitation (e.g. HP-UX 10.20, where
96539         TMP_MAX is 17576).
96540
96541 2001-11-18  Jim Meyering  <meyering@lucent.com>
96542
96543         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
96544
96545 2001-11-18  Jim Meyering  <meyering@lucent.com>
96546
96547         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
96548         on SunOS 4.
96549
96550         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
96551         files will be created before anything else.
96552
96553 2001-11-17  Paul Eggert  <eggert@twinsun.com>
96554
96555         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
96556         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
96557
96558 2001-11-17  Jim Meyering  <meyering@lucent.com>
96559
96560         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
96561         Prompted by a report from Bob Proulx.
96562
96563         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
96564         Instead, require UTILS_FUNC_MKSTEMP.
96565
96566 2001-11-17  Jim Meyering  <meyering@lucent.com>
96567
96568         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
96569         Now, that's done as part of AC_FUNC_STRTOD.
96570
96571 2001-11-17  Jim Meyering  <meyering@lucent.com>
96572
96573         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
96574         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
96575         rather than group writable.  Patch by Juan F. Codagnone.
96576
96577         * lib/readtokens.c: Remove explicit declarations of xmalloc and
96578         xrealloc, Instead, include "xalloc.h".
96579
96580         * lib/mountlist.c: Include unlocked-io.h after all system headers.
96581         Remove explicit declarations of xmalloc, xrealloc,
96582         and xstrdup.  Instead, include "xalloc.h".
96583
96584         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
96585         unlocked-io.h.
96586         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
96587         Likewise.
96588         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
96589
96590         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
96591         Reported by Padraig Brady.
96592
96593         * lib/mkstemp.c: #undef mkstemp.
96594         Include config.h.
96595         (rpl_mkstemp): Rename from mkstemp.
96596         Protoize.
96597
96598 2001-11-16  Jim Meyering  <meyering@lucent.com>
96599
96600         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
96601         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
96602         determine the amount of total physical memory, use pstat_getstatic.
96603         HPUX-11 doesn't define _SC_PHYS_PAGES.
96604         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
96605         If sysconf couldn't be used to determine the amount of available
96606         physical memory, use both pstat_getstatic and pstat_getdynamic.
96607         Based on a patch from Bob Proulx.
96608
96609 2001-11-10  Jim Meyering  <meyering@lucent.com>
96610
96611         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
96612         (jm_PREREQ): Use it.
96613
96614 2001-11-09  Jim Meyering  <meyering@lucent.com>
96615
96616         * m4/jm-macros.m4: Require autoconf-2.52f.
96617         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
96618         Use these AC_-prefixed names, not the AM_-prefixed ones.
96619
96620         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
96621
96622 2001-11-05  Jim Meyering  <meyering@lucent.com>
96623
96624         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
96625
96626 2001-11-04  Jim Meyering  <meyering@lucent.com>
96627
96628         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
96629         $DEFS.
96630
96631 2001-11-03  Jim Meyering  <meyering@lucent.com>
96632
96633         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
96634         of AC_DEFUN.
96635
96636         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
96637         know the name of the variable in the macro definition.
96638
96639 2001-11-03  Jim Meyering  <meyering@lucent.com>
96640
96641         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
96642         in argmatch_to_argument call.
96643
96644         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
96645         argument.
96646
96647         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
96648         e.g., a fault due to an attempt to free a NULL pointer.
96649
96650 2001-11-01  Jim Meyering  <meyering@lucent.com>
96651
96652         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
96653         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
96654
96655 2001-11-01  Jim Meyering  <meyering@lucent.com>
96656
96657         * lib/dirfd.c, lib/dirfd.h: New files.
96658         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
96659
96660         * lib/hash.c (hash_print) [TESTING]: Clean up.
96661
96662 2001-10-22  Paul Eggert  <eggert@twinsun.com>
96663
96664         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
96665         to avoid a warning if -Wall.
96666
96667 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
96668
96669         * README: New file
96670         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
96671         (per RMS's instructions, this is now the canonical source)
96672         * lgpl/, gpl/: New directories.
96673
96674 2001-10-21  Paul Eggert  <eggert@twinsun.com>
96675
96676         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
96677
96678 2001-10-21  Jim Meyering  <meyering@lucent.com>
96679
96680         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
96681         this code would end up calling gettext even in packages built
96682         with --disable-nls.
96683         * lib/getopt.c (_): Likewise.
96684         * lib/regex.c (_): Likewise.
96685
96686 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96687
96688         * m4/error.m4 (jm_PREREQ_ERROR):
96689         Do not invoke AC_CHECK_FUNCS with strerror_r, as
96690         AC_FUNC_STRERROR_R does that.
96691         Check for strerror declaration.
96692
96693         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
96694         are supposed to have them these days.
96695         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
96696         Merge changes from latest Autoconf CVS.
96697         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
96698         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
96699         POSIX decided to standardize on the int flavor of strerror_r.
96700
96701 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96702
96703         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
96704         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
96705         Use strerror_r that is only a macro, even if it is not a function.
96706         (strerror): Check for HAVE_DECL_STRERROR before declaring.
96707         (private_strerror): Use prototypes, not old-style function definition.
96708         (print_errno_message): New function.
96709         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
96710         char*-flavored one.
96711         (error_tail, error, error_at_line): Use it.
96712
96713 2001-10-11  Jim Meyering  <meyering@lucent.com>
96714
96715         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
96716         and quote_n (1, ... to avoid clobbering a buffer.
96717
96718 2001-10-05  Jim Meyering  <meyering@lucent.com>
96719
96720         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
96721         hash-pjw.h.
96722         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
96723         * lib/hash-pjw.h: New file.
96724
96725 2001-09-30  Jim Meyering  <meyering@lucent.com>
96726
96727         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
96728         `struct fsstat' has the `f_fstypename' member.
96729         Use that to define FS_TYPE, which is now used to make
96730         the getfsstat link test tighter.
96731
96732 2001-09-30  Jim Meyering  <meyering@lucent.com>
96733
96734         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
96735         Include <sys/ucred.h>, for Apple Darwin.
96736         Include sys/mount.h and sys/fs_types.h only if available.
96737         (FS_TYPE): Define.
96738         (read_filesystem_list): Use FS_TYPE.
96739
96740 2001-09-29  Paul Eggert  <eggert@twinsun.com>
96741
96742         * lib/exclude.c (excluded_filename): 0 -> false, since it's
96743         a boolean context.
96744
96745 2001-09-29  Jim Meyering  <meyering@lucent.com>
96746
96747         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96748         [one-argument getmntent function]): Include stdio.h before mntent.h.
96749         SunOS 4.1.x needs it for the declaration of `FILE'.
96750         Patch by Volker Borchert.
96751
96752         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96753         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
96754         sys/fs_types.h, and make the link-test for getfsstat guard #include
96755         directives with appropriate #if HAVE_*_H tests so that we can
96756         detect getfsstat on Apple Darwin1.3.7 systems.
96757         Reported by Nelson Beebe.
96758         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
96759
96760 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96761
96762         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96763         #defines strtoimax.  Also treat the other strto* functions
96764         like strtoimax.
96765
96766         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96767         Check for strtoul and strtoumax,
96768         as those declarations are made even in the signed case.
96769         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
96770         Likewise, for strtol and strtoimax.
96771
96772 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96773
96774         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96775         #defines strtoimax.  Also treat the other strto* functions
96776         like strtoimax.
96777
96778         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
96779         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
96780         (strtoimax, strtoumax): Do not declare if already defined as a macro.
96781
96782 2001-09-26  Jim Meyering  <meyering@lucent.com>
96783
96784         Most macros in unlocked-io.h had the wrong number of arguments.
96785         * lib/gen-uio: New script.
96786         (USE_UNLOCKED_IO): Define to 1 if not already defined.
96787         * lib/unlocked-io.hin: Remove file.
96788         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
96789         rather than trying to embed it here.
96790         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
96791         Reported by Padraig Brady.
96792
96793 2001-09-25  Volker Borchert  <bt@teknon.de>
96794
96795         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
96796         `result'.
96797
96798 2001-09-24  Jim Meyering  <meyering@lucent.com>
96799
96800         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
96801
96802 2001-09-23  Jim Meyering  <meyering@lucent.com>
96803
96804         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
96805         instead of the mere test for existence of mntent.h.  The latter
96806         would get a false-positive on AIX 3.4 systems.
96807         In the outer getmntent if-block, don't die if neither of the getmntent
96808         tests succeeds.  Instead, just fall through and continue with the
96809         remaining tests.
96810
96811 2001-09-23  Jim Meyering  <meyering@lucent.com>
96812
96813         * lib/mountlist.c: Remove useless parentheses in #if directives.
96814         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
96815         the deprecated MOUNTED symbol is no longer defined in mntent.h.
96816
96817 2001-09-22  Jim Meyering  <meyering@lucent.com>
96818
96819         * m4/gettext.m4: New file.  From gettext.
96820         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
96821         * m4/progtest.m4: Likewise
96822         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
96823         * m4/glibc21.m4: Likewise.
96824
96825         * m4/libintl.m4: Remove.  No longer used.
96826
96827 2001-09-22  Jim Meyering  <meyering@lucent.com>
96828
96829         * lib/localcharset.c: Update from latest gettext.
96830         * lib/config.charset: Likewise.
96831
96832 2001-09-20  Jim Meyering  <meyering@lucent.com>
96833
96834         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
96835         strtoimax.
96836         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
96837         strtoumax.
96838
96839 2001-09-20  Jim Meyering  <meyering@lucent.com>
96840
96841         * lib/xstrtol.c (strtoimax): Guard declaration with
96842         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
96843         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
96844         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
96845         (strtoumax): Likewise, for completeness (it wasn't necessary).
96846
96847 2001-09-17  Paul Eggert  <eggert@twinsun.com>
96848
96849         * lib/strtoimax.c (HAVE_LONG_LONG):
96850         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
96851         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
96852         to work around bug in IBM C compiler.
96853
96854 2001-09-17  Jim Meyering  <meyering@lucent.com>
96855
96856         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
96857         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
96858         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
96859         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
96860         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
96861         whenever the right hand side need not be expanded by the shell.
96862
96863 2001-09-16  Paul Eggert  <eggert@twinsun.com>
96864
96865         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
96866         library.  It's not correct, as some older glibcs are buggy.
96867         fnmatch wasn't fixed until glibc 2.2.
96868
96869         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
96870         special shell magic here.
96871
96872 2001-09-16  Jim Meyering  <meyering@lucent.com>
96873
96874         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
96875         * m4/jm-macros.m4: Require it.
96876
96877 2001-09-16  Jim Meyering  <meyering@lucent.com>
96878
96879         * lib/mkdir.c: New file.
96880
96881 2001-09-15  Jim Meyering  <meyering@lucent.com>
96882
96883         * m4/jm-macros.m4: Check for help2man.
96884
96885 2001-09-11  Jim Meyering  <meyering@lucent.com>
96886
96887         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
96888         The body, by Paul Eggert, was moved here from configure.in.
96889         * m4/jm-macros.m4: Require UTILS_HOST_OS.
96890
96891 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96892
96893         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
96894         (jm_PREREQ): Use it.
96895
96896 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96897
96898         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
96899         Use ssize_t, not int, to store result of readlink.
96900         Check for ssize_t overflow as well as size_t overflow,
96901         as POSIX says the result of readlink is implementation-defined
96902         when ssize_t overflows.
96903         Remove unnecessary cast to char*.
96904         Use free+malloc instead of realloc, as the storage doesn't need
96905         to be preserved and it's clearer and can be more efficient that way.
96906         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
96907         * lib/xreadlink.h (xreadlink): Update prototype.
96908
96909 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96910
96911         * lib/xgetcwd.c: Revert some of the previous change; intead,
96912         fix the HAVE_GETCWD_NULL code to behave more like the
96913         !HAVE_GETCWD_NULL code used to.
96914
96915         Include "xalloc.h".
96916         (xgetcwd): Do not return NULL when memory is exhausted; instead,
96917         invoke xalloc_die.
96918
96919 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96920
96921         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
96922         sys/param.h, as pathmax.h includes them.
96923
96924 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96925
96926         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
96927         (jm_PREREQ_XGETCWD): New macro.
96928
96929         * m4/getcwd.m4: New file.
96930
96931 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96932
96933         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
96934         like the HAVE_GETCWD_NULL code.
96935         Include pathmax.h if not HAVE_GETCWD.
96936         Do not include xalloc.h.
96937         (INITIAL_BUFFER_SIZE): New symbol.
96938         Do not use xmalloc / xrealloc, since the caller is responsible for
96939         handling errors.  Preserve errno around `free' during failure.
96940         Do not overrun buffer when using getwd.
96941
96942 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96943
96944         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
96945         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
96946         getcwd (NULL, 0).
96947
96948 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96949
96950         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
96951         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
96952         spotted by Jim Meyering.
96953
96954 2001-09-03  Jim Meyering  <meyering@lucent.com>
96955
96956         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
96957         failure.
96958
96959 2001-09-02  Jim Meyering  <meyering@lucent.com>
96960
96961         * lib/error.c: Update from GNU libc.
96962
96963 2001-09-01  Jim Meyering  <meyering@lucent.com>
96964
96965         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
96966         Used by df.
96967
96968 2001-09-01  Jim Meyering  <meyering@lucent.com>
96969
96970         * lib/xreadlink.c: New file.
96971         * lib/xreadlink.h: New file.
96972         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
96973         xreadlink.h.
96974
96975         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
96976         doesn't conflict with sparc Solaris 7's definition in
96977         /usr/include/sys/int_types.h.
96978
96979         * lib/exclude.c: Use `""', not `<>' to #include non-system header
96980         files.
96981         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
96982         and strncasecmp as r-values.  Unixware didn't have declarations.
96983
96984 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96985
96986         * lib/xstrtol.h: Add copyright notice.
96987         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
96988         LONGINT_INVALID_SUFFIX_CHAR.
96989
96990 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96991
96992         * lib/xstrtol.c (strtoimax): New decl.
96993
96994 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96995
96996         * lib/xgetcwd.c: Don't include pathmax.h.
96997         Include stdlib.h and unistd.h if available.
96998         Include xalloc.h.
96999         (xmalloc, xstrdup, free): Remove decls.
97000         (xgetcwd): Don't assume sizes fit in unsigned.
97001         Check for overflow when computing sizes.
97002         Simplify reallocation code.
97003
97004 2001-08-31  Paul Eggert  <eggert@twinsun.com>
97005
97006         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
97007         a directory's st_size can have an arbitrary value, so the old
97008         usage could waste an arbitrary amount of memory.  All uses
97009         changed.
97010         * lib/savedir.h: Update prototype.
97011
97012 2001-08-31  Paul Eggert  <eggert@twinsun.com>
97013
97014         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
97015
97016         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
97017         old strtoimax.c.
97018
97019         Also, make the following further changes to make this file's
97020         configuration more similar to that of strtol.c:
97021         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
97022         (strtoumax, uintmax_t, strtoull, strtol): Remove.
97023         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
97024         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
97025         changed to signed values.
97026
97027         And make the following changes as well:
97028         Fix copyright notice, as 1999 was missing.
97029         (verify): New macro.
97030         (strtoimax): Check sizes at compile-time, not run-time.
97031         Prefer strtol to strtoll if both work.
97032         (main): Remove; it was not that useful and was a pain to maintain.
97033
97034         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
97035
97036 2001-08-31  Jim Meyering  <meyering@lucent.com>
97037
97038         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
97039         Use an initial, malloc'd, buffer of length 128 rather than
97040         a statically allocated one of length 1024.
97041
97042 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97043
97044         Simplify code, partly by assuming autoconf 2.52 semantics.
97045
97046         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
97047
97048         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
97049         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
97050         All uses removed.
97051         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
97052         Move AC_REQUIRE to next-to-top level, to avoid confusion.
97053         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
97054         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
97055         jm_AC_HEADER_INTTYPES_H.
97056         * m4/jm-macros.m4 (jm_MACROS): Likewise.
97057
97058         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
97059
97060         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
97061         Quote first arg of AC_DEFUN.
97062         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
97063         since they are needed to parse the include file even if we need
97064         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
97065         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
97066         but with opposite signedness.
97067
97068 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97069
97070         Merge 'exclude' changes from tar 1.13.22.
97071         This fixes one or two unlikely storage allocation overflow bugs,
97072         but doesn't change user-visible behavior otherwise.
97073
97074 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97075
97076         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
97077         (jm_PREREQ_EXCLUDE): New macro.
97078
97079 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97080
97081         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
97082         tm to be declared.
97083
97084 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97085
97086         * lib/hash.c: Remove '2001' from copyright notice.
97087
97088 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97089
97090         * lib/full-write.h: New file.
97091         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
97092         * lib/full-write.c: Correct credits, as cccp.c no longer
97093         exists and anyway it was so heavily changed from the old cccp
97094         code as to be unrecognizable.  Include full-write.h.
97095         (full_write): Return size_t, with short writes meaning failure.
97096         All callers changed.  This fixes a bug with large buffers
97097         on 64-bit hosts.
97098         * lib/utime.c: Include full-write.h.
97099
97100 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97101
97102         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
97103         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
97104         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
97105         Include if available.
97106         (<xalloc.h>): Include
97107         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
97108         (verify): New macro.  Use it to verify that EXCLUDE macros do not
97109         collide with FNM macros.
97110         (struct patopts): New struct.
97111         (struct exclude): Use it, as exclude patterns now come with options.
97112         (new_exclude): Support above changes.
97113         (new_exclude, add_exclude_file):
97114         Initial size must now be a power of two to simplify overflow checking.
97115         (free_exclude, fnmatch_no_wildcards): New function.
97116         (excluded_filename): No longer requires options arg, as the options
97117         are determined by add_exclude.  Now returns bool, not int.
97118         (excluded_filename, add_exclude):
97119         Add support for the fancy new exclusion options.
97120         (add_exclude, add_exclude_file): Now takes int options arg.
97121         Check for arithmetic overflow when computing sizes.
97122         (add_exclude_file): xrealloc might modify errno, so don't
97123         realloc until after errno might be used.
97124
97125         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
97126         New macros.
97127         (free_exclude): New decl.
97128         (add_exclude, add_exclude_file): Now takes int options arg.
97129         (excluded_filename): No longer requires options arg, as the options
97130         are determined by add_exclude.  Now returns bool, not int.
97131
97132 2001-08-30  Paul Eggert  <eggert@twinsun.com>
97133
97134         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
97135
97136 2001-08-27  Jim Meyering  <meyering@lucent.com>
97137
97138         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
97139
97140         * lib/version-etc.c (N_): Remove definition.
97141         Revert most of last change.
97142         Instead, simply don't mark the `Copyright...' string for translation.
97143         Based on advice from Paul Eggert.
97144
97145         * lib/strtoxmax.c: Tweak comment.
97146
97147 2001-08-26  Jim Meyering  <meyering@lucent.com>
97148
97149         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
97150
97151         * m4/xstrtoimax.m4: New file.
97152         * m4/xstrtoumax.m4: Add comments explaining why we
97153         AC_REPLACE_FUNCS(strtol).
97154
97155 2001-08-26  Jim Meyering  <meyering@lucent.com>
97156
97157         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
97158         of copyright with `%s' so translators don't get an untranslated
97159         message in 2002.
97160         (COPYRIGHT_YEAR): Define.
97161         (version_etc): Use fprintf rather than fputs.
97162         Suggestion from Ulrich Drepper.
97163
97164         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
97165
97166         * lib/strtoll.c: New file, from GNU libc.
97167         * lib/xstrtoimax.c: New file.
97168
97169         * lib/xstrtol.h: Add xstrtoimax.
97170         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
97171         * lib/strtoimax.c: New file.  Likewise, but first define
97172         STRTOUXMAX_SIGNED.
97173
97174         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
97175         ...
97176         * lib/strtoxmax.c: ... then renamed to this.
97177
97178 2001-08-18  Paul Eggert  <eggert@twinsun.com>
97179
97180         * m4/inttypes.m4: Add AC_PREREQ(2.13).
97181         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
97182         (jm_AC_TYPE_INTMAX_T): New macro.
97183         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
97184
97185         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
97186
97187         * m4/longlong.m4: Renamed from ulonglong.m4.
97188         * m4/inttypes.m4: Renamed from inttypes_h.m4.
97189         * m4/uintmax_t.m4: Removed.
97190
97191 2001-08-13  Paul Eggert  <eggert@twinsun.com>
97192
97193         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
97194         Port to Solaris 8, where 'sed' requires a space after the 'r'
97195         command, and where sh dislikes "$/".  Clean up the spacing a bit.
97196         Redirect output to $tmp just once.
97197
97198 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
97199
97200         * lib/addext.c (<errno.h>): Include.
97201         (errno): Declare if not defined.
97202         (addext): Work correctly when pathconf returns -1 and leaves
97203         errno alone because there is no limit.  Also, work even if
97204         pathconf returns a value greater than SIZE_MAX.
97205
97206 2001-08-12  Jim Meyering  <meyering@lucent.com>
97207
97208         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
97209         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
97210         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
97211         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
97212         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
97213         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
97214         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
97215         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
97216         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
97217         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
97218         utime.m4, utimes.m4, xstrtoumax.m4:
97219         Quote the first argument in each use of AC_DEFUN.
97220
97221 2001-08-12  Jim Meyering  <meyering@lucent.com>
97222
97223         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
97224         Simply `return getcwd (NULL, 0);'.
97225         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
97226         Use 1300 as initial value for length, not PATH_MAX.
97227
97228         * lib/pathmax.h: Clean up cpp syntax.
97229
97230 2001-08-12  Jim Meyering  <meyering@lucent.com>
97231
97232         * lib/gettimeofday.c: New file.
97233         * lib/gtod.h: New file.
97234         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
97235
97236 2001-08-05  Jim Meyering  <meyering@lucent.com>
97237
97238         * m4/jm-macros.m4: Require autoconf-2.52.
97239
97240 2001-08-04  Jim Meyering  <meyering@lucent.com>
97241
97242         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
97243         stmt, to get in sync with glibc.
97244
97245 2001-08-03  Paul Eggert  <eggert@twinsun.com>
97246
97247         The following changes are from gettext 0.10.39 as maintained by
97248         Bruno Haible.
97249
97250         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
97251         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
97252         with inverted sense.  All uses changed.
97253
97254         * lib/mbswidth.c: Don't include <limits.h>.
97255         Include <stdlib.h> and <string.h> unconditionally.
97256         (iswcntrl, mbsinit, ISCNTRL): New macros.
97257         (mbsnwidth): Use K&R style function declarations.
97258         Don't bother checking for MB_LEN_MAX == 1, since the compiler
97259         can optimize it when MB_CUR_MAX == 1.
97260         The width of control characters is zero, not 1.
97261
97262 2001-08-03  Paul Eggert  <eggert@twinsun.com>
97263
97264         The following changes are from gettext 0.10.39 as maintained by
97265         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
97266
97267         * m4/codeset.m4: Upgrade to serial AM1.
97268         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
97269         all uses changed.  Quote first arg of AC_DEFUN.
97270         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
97271
97272         * m4/iconv.m4: Upgrade to serial AM2.
97273         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
97274         Add --with-libconv-prefix.
97275         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
97276         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
97277         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
97278         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
97279         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
97280
97281         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
97282         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
97283         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
97284         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
97285         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
97286         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
97287         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
97288         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
97289         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
97290
97291         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
97292         string.h any more.
97293
97294         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
97295         not the default value.
97296
97297         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
97298         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
97299         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
97300         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
97301         Also check for iswcntrl, used for wcwidth fallback.
97302         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
97303         to Autoconf 2.13.
97304
97305 2001-08-03  Jim Meyering  <meyering@lucent.com>
97306
97307         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
97308         as it was in the original.  Reported by Paul Eggert.
97309
97310 2001-07-16  Jim Meyering  <meyering@lucent.com>
97311
97312         * m4/gettimeofday.m4: New file.
97313         Prompted by a report from Bernhard Baehr.
97314
97315 2001-07-15  Jim Meyering  <meyering@lucent.com>
97316
97317         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
97318         stuff. Now it's in ../Makefile.cfg.
97319
97320 2001-07-15  Jim Meyering  <meyering@lucent.com>
97321
97322         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
97323         (BUILT_SOURCES): Add unlocked-io.h.
97324         (io_functions): Define.
97325         (unlocked-io.h): New rule.
97326         (DISTCLEANFILES): Add unlocked-io.h.
97327         (all-local): Depend on unlocked-io.h, to ensure it is created.
97328
97329         * lib/unlocked-io.hin: New file
97330
97331         * lib/regex.c: Update from glibc.
97332
97333 2001-07-05  Jim Meyering  <meyering@lucent.com>
97334
97335         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
97336         recommendation.
97337         (libfetish_a_SOURCES): Put all .h files here instead.
97338         Remove a thus-exposed (better checks in automake) duplicate and
97339         two unnecessary .h files.
97340
97341 2001-07-04  Jim Meyering  <meyering@lucent.com>
97342
97343         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
97344         that generates jm-glibc-io.m4 so that it doesn't trigger any make
97345         distcheck failure.
97346
97347 2001-07-02  Jim Meyering  <meyering@lucent.com>
97348
97349         The following changes were prompted by suggestions from Bruno Haible.
97350
97351         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
97352         is now generated.
97353         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
97354         definition of EXTRA_DIST.
97355         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
97356         ensure that the generated file is created/updated whenever the list
97357         of $(unlocked_functions) is changed.
97358         (jm-glibc-io.m4): New rule.
97359         (unlocked-io.h): New rule -- currently unused.
97360
97361 2001-06-24  Jim Meyering  <meyering@lucent.com>
97362
97363         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
97364         unmatched right bracket, rather than kludging it with an extra,
97365         falsely-matching quote in a comment.  Patch by Akim Demaille.
97366
97367 2001-06-11  Jim Meyering  <meyering@lucent.com>
97368
97369         * lib/regex.c: Update from GNU libc.
97370
97371 2001-05-27  Jim Meyering  <meyering@lucent.com>
97372
97373         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
97374         Check for ut_type in struct utmp.
97375
97376 2001-05-27  Jim Meyering  <meyering@lucent.com>
97377
97378         * lib/readutmp.h (UT_TYPE): Define.
97379
97380 2001-05-24  Jim Meyering  <meyering@lucent.com>
97381
97382         * lib/argmatch.c: Include "quote.h".
97383         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
97384         quote function.  Reported by Göran Uddeborg.
97385
97386 2001-05-22  Jim Meyering  <meyering@lucent.com>
97387
97388         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
97389         now that we use the package-supplied version unconditionally.
97390         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
97391
97392 2001-05-21  Jim Meyering  <meyering@lucent.com>
97393
97394         * m4/regex.m4: Change a couple backticks to single quotes to avoid
97395         shell syntax errors.
97396
97397 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
97398
97399         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
97400
97401 2001-05-20  Paul Eggert  <eggert@twinsun.com>
97402
97403         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
97404         Don't bother to check library strftime, since
97405         we'll be using our own my_strftime function anyway.
97406         Define my_strftime instead of strftime.
97407
97408 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
97409
97410         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
97411         which is not yet declared.
97412
97413 2001-05-15  Jim Meyering  <meyering@lucent.com>
97414
97415         * m4/regex.m4: Use proper quoting so brackets appear in the test
97416         program.
97417         Reported by, and with help from, Bruno Haible.
97418
97419 2001-05-13  Jim Meyering  <meyering@lucent.com>
97420
97421         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
97422         undefined.
97423
97424 2001-05-11  Paul Eggert  <eggert@twinsun.com>
97425
97426         dirname code cleanup.  base_name now behaves more compatibly
97427         with POSIX basename when given file names that have trailing
97428         slashes, and similarly for dir_name.  Add new primitives
97429         base_len and dir_len.  Put the directory-name-related decls
97430         into dirname.h.
97431
97432         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
97433         * lib/backupfile.c (base_name): Likewise.
97434         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
97435         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
97436         * lib/makepath.c (strip_trailing_slashes): Likewise.
97437         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
97438         ISSLASH): Likewise.
97439         * lib/rename.c (strip_trailing_slashes): Likewise.
97440         * lib/same.c (base_name): Likewise.
97441         * lib/stripslash.c (ISSLASH): Likewise.
97442
97443         * lib/addext.c: Include <dirname.h> after size_t is defined.
97444         * lib/backupfile.c: Likewise.
97445
97446         * lib/addext.c (addext): Use base_len to trim redundant
97447         trailing slashes instead of doing it ourselves.
97448         But do not trim the last slash if it is not redundant.
97449
97450         * lib/backupfile.c (find_backup_file_name,
97451         max_backup_version): Use base_len instead of rolling it ourselves.
97452         Handle the case of "" and (on DOS) "C:" correctly.
97453
97454         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
97455         needed. Include <string.h>, <dirname.h>.
97456         (base_name): Allow file names ending in slashes, other than names
97457         that are all slashes.  In this case, return the basename followed
97458         by the slashes.  This is more general, and can be used in places
97459         where the original base_name purposely had an assertion failure.
97460         (base_len): New function.
97461
97462         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
97463         Do not include <assert.h>; no longer needed.
97464         Include xalloc.h.
97465         (memrchr): Remove decl.
97466         (dir_name_r): Remove.
97467         (dir_len): Renamed from dirlen.  All callers changed.
97468         Rewrite in terms of base_name, for simplicity and consistency.
97469         (dir_name): Never return NULL.  All callers changed.
97470         Do not include <stdlib.h> in test program; no longer needed.
97471         return 0; is fine for test program.
97472
97473         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
97474         New macros.
97475         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
97476
97477         * lib/path-concat.c (path_concat): Use base_len to compute
97478         base length, not strlen; this means we cannot rely on memcpy
97479         to null-terminate.
97480
97481         * lib/same.c (STREQ): Remove.
97482         (same_name): Handle the case where the basename ends in trailing '/'.
97483
97484         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
97485         a slash was stripped.  Do not strip the last slash after a
97486         file system prefix.
97487
97488 2001-05-11  Paul Eggert  <eggert@twinsun.com>
97489
97490         * lib/Makefile.am (libfetish_a_SOURCES):
97491         Add strftime.c, since we now compile it on all hosts.
97492
97493         * lib/strftime.c (my_strftime):
97494         Define to nstrftime if emacs, but only if my_strftime is not defined.
97495         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
97496         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
97497         Add one more extra argument: a nanoseconds value.
97498         All uses changed.
97499         (ns): New macro.
97500         (my_strftime function): Add %N format.
97501         (emacs_strftimeu): Renamed from emacs_strftime,
97502         with extra ut argument.
97503
97504 2001-05-09  Paul Eggert  <eggert@twinsun.com>
97505
97506         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
97507
97508 2001-04-21  Jim Meyering  <meyering@lucent.com>
97509
97510         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
97511         doesn't interfere.
97512
97513 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
97514
97515         * m4/ftruncate.m4: Check for chsize.
97516         Link with ftruncate.o unconditionally if ftruncate is missing.
97517         This was required when cross-compiling to i586-mingw32msvc.
97518
97519 2001-04-08  Jim Meyering  <meyering@lucent.com>
97520
97521         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
97522         recomputed; that's necessary when the offset spans a DST transition.
97523         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
97524
97525 2001-04-02  Jim Meyering  <meyering@lucent.com>
97526
97527         * lib/regex.h, regex.c: Update from GNU libc.
97528
97529 2001-03-24  Jim Meyering  <meyering@lucent.com>
97530
97531         * m4/jm-macros.m4: Require autoconf-2.49d.
97532
97533 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
97534
97535         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
97536
97537 2001-03-19  Paul Eggert  <eggert@twinsun.com>
97538
97539         * lib/version-etc.c (version_etc_copyright): Update to 2001.
97540
97541 2001-03-17  Jim Meyering  <meyering@lucent.com>
97542
97543         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
97544         now that the version in autoconf is equivalent.
97545         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
97546
97547         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
97548         Suggestion from Akim Demaille.
97549
97550         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
97551         (jm_PREREQ_TEMPNAME): New function.
97552
97553 2001-03-16  Paul Eggert  <eggert@twinsun.com>
97554
97555         * lib/tempname.c (uint64_t): Define to uintmax_t if
97556         not defined, and if UINT64_MAX is not defined.
97557         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
97558         Reported by John David Anglin.
97559
97560 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
97561
97562         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
97563         resolve alias if codeset is empty.
97564         * lib/config.charset (BeOS): Use wildcard syntax.
97565
97566 2001-03-13  Jim Meyering  <meyering@lucent.com>
97567
97568         * lib/path-concat.c (path_concat)
97569         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
97570         concatenating e.g., `C:' and `foo'.
97571         From Bruno Haible.
97572
97573 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97574
97575         * lib/localcharset.c (locale_charset): Don't use
97576         setlocale(LC_CTYPE,NULL). Don't return NULL.
97577         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
97578
97579 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97580
97581         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
97582         support for DOS/DJGPP.
97583
97584 2001-03-01  Paul Eggert  <eggert@twinsun.com>
97585
97586         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
97587         lacks mkstemp.  Compile our own tempname.c if we compile our own
97588         mkstemp.c, as mkstemp relies on tempname.
97589
97590 2001-03-01  Jim Meyering  <meyering@lucent.com>
97591
97592         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
97593         AH_VERBATIM really does output its argument verbatim.
97594
97595 2001-02-28  Paul Eggert  <eggert@twinsun.com>
97596
97597         * lib/Makefile.am (libfetish_a_SOURCES):
97598         Add dup-safer.c, fopen-safer.c.
97599         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
97600
97601         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
97602         * lib/unistd-safer.h: New files.
97603
97604 2001-02-25  Paul Eggert  <eggert@twinsun.com>
97605
97606         The mkstemp replacement is taken from glibc 2.2.2, with some
97607         portability fixes for use outside glibc, as follows:
97608
97609         * lib/tempname.c (struct_stat64): New macro.
97610         (direxists, __gen_tempname): Use it.
97611         This avoids a portability problem with Solaris 8.
97612
97613         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
97614         (<stddef.h>, <stdint.h>, <string.h>):
97615         Include only if STDC_HEADERS || _LIBC.
97616         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
97617         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
97618         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
97619         (__set_errno): Define this macro if <errno.h> doesn't.
97620         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
97621         Define these macros if <stdio.h> doesn't.
97622         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
97623         Define these macros if <sys/stat.h>
97624         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
97625         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
97626         __xstat64): Define if not _LIBC.
97627         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
97628         (__gen_tempname): Invoke gettimeofday only if
97629         HAVE_GETTIMEOFDAY || _LIBC;
97630         otherwise, fall back on plain "time".
97631         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
97632
97633         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
97634
97635         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
97636
97637 2001-02-18  Paul Eggert  <eggert@twinsun.com>
97638
97639         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
97640
97641 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97642
97643         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
97644         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
97645         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
97646         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
97647
97648 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97649
97650         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
97651         Remove workaround macros for hosts that have mbrtowc but not
97652         mbstate_t, as we now insist on proper declarations for both
97653         before using mbrtowc.
97654
97655 2001-02-17  Jim Meyering  <meyering@lucent.com>
97656
97657         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
97658         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
97659         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
97660         UnixWare 7.1.1.
97661
97662         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
97663         rather than AC_CACHE_VAL.
97664
97665 2001-02-17  Jim Meyering  <meyering@lucent.com>
97666
97667         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
97668         around included file name.
97669
97670         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
97671
97672         * lib/strftime.c: Update from GNU libc (the only changes were to
97673         comments).
97674
97675 2001-02-17  Jim Meyering  <meyering@lucent.com>
97676
97677         * lib/regex.c: Update from libc.
97678
97679 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
97680
97681         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
97682         clash.
97683
97684 2001-02-16  Paul Eggert  <eggert@twinsun.com>
97685
97686         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
97687         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
97688         Reported by Mark Hounschell via Paul Eggert.
97689
97690 2001-02-07  Jim Meyering  <meyering@lucent.com>
97691
97692         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
97693
97694 2001-02-05  Jim Meyering  <meyering@lucent.com>
97695
97696         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
97697         it includes the patch required for `large file' support with at least
97698         HP-UX's 10.20 /bin/cc.
97699
97700 2001-02-03  Jim Meyering  <meyering@lucent.com>
97701
97702         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
97703         AS_IF, now that it works once again (mysteriously).
97704         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97705
97706 2001-01-30  Jim Meyering  <meyering@lucent.com>
97707
97708         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
97709         * m4/chown.m4: Rename conftestchown to conftest.chown.
97710         * m4/rename.m4: s/conftestdir/conftest.d1/ and
97711         s/conftestdir2/conftest.d2/.
97712         * m4/utimes.m4: s/conftestdata/conftest.data/
97713         Inspired by Pavel Roskin's change in autoconf.
97714
97715 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
97716
97717         * lib/config.charset: Update for FreeBSD 4.2.
97718
97719 2001-01-27  Jim Meyering  <meyering@lucent.com>
97720
97721         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
97722         a use of AS_IF.
97723         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97724
97725 2001-01-26  Jim Meyering  <meyering@lucent.com>
97726
97727         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
97728         quotearg.c includes it.
97729
97730 2001-01-26  Jim Meyering  <meyering@lucent.com>
97731
97732         * lib/quotearg.c: Include stddef.h.
97733         * lib/quote.c: Include stddef.h.
97734         Reported by Axel Kittenberger.
97735
97736         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
97737         line in double quotes so that it evokes a better diagnostic.
97738         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
97739         Reported by Axel Kittenberger.
97740
97741 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
97742
97743         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
97744         as if it was a `charset'.
97745
97746 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97747
97748         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
97749         has const.
97750
97751 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97752
97753         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
97754         to avoid a warning.  Add back 'const' to inptr.
97755
97756 2001-01-20  Jim Meyering  <meyering@lucent.com>
97757
97758         Be sure that headers are checked before used in code compiled
97759         for the type checks.
97760         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
97761         In place of that, invoke jm_CHECK_ALL_TYPES.
97762         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
97763         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
97764         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
97765         The check for ssize_t was mistakenly run before the test for unistd.h.
97766
97767         The configure-time check for stdbool.h was missing.
97768         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
97769         (jm_PREREQ_HASH): New function.
97770
97771 2001-01-17  Jim Meyering  <meyering@lucent.com>
97772
97773         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
97774         for autoconf-2.49c.
97775         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
97776
97777 2001-01-16  Jim Meyering  <meyering@lucent.com>
97778
97779         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
97780         From Bruno Haible.
97781
97782 2001-01-14  Jim Meyering  <meyering@lucent.com>
97783
97784         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
97785         foo and bar.  Create conftestdir/ in the script, not in the C code.
97786         Remove directories in the script, not in the C code.
97787         Remove conftestdir{,2} before trying to create the directory.
97788         Make the entire configure script fail if the mkdir fails.
97789
97790 2001-01-14  Jim Meyering  <meyering@lucent.com>
97791
97792         * lib/rename.c: New file.  From Volker Borchert.
97793         Include stdlib.h, string.h or strings.h, and xalloc.h.
97794         Use strip_trailing_slashes rather than open-coding it.
97795
97796 2001-01-03  Paul Eggert  <eggert@twinsun.com>
97797
97798         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
97799
97800 2001-01-03  Jim Meyering  <meyering@lucent.com>
97801
97802         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
97803         of local `inptr' to avoid warning with some system declarations of
97804         iconv.
97805
97806 2001-01-02  Volker Borchert  <bt@teknon.de>
97807
97808         * m4/rename.m4: New file.
97809         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
97810
97811 2001-01-01  Jim Meyering  <meyering@lucent.com>
97812
97813         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
97814         even on systems with utmpx.h.  It's necessary for the declaration of
97815         utmp's ut_user member.  Reported by Andreas Jaeger.
97816
97817         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
97818         available. They are required for the declarations of getgrgid and
97819         getpwuid resp.
97820         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
97821         Reported by Andreas Jaeger.
97822
97823 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
97824
97825         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
97826         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
97827         so `make install' also works in VPATH builds.
97828
97829 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
97830
97831         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
97832         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
97833         can be used in subdirectories.
97834
97835 2000-12-29  Paul Eggert  <eggert@twinsun.com>
97836
97837         * lib/modechange.c: Do not assume that mode_t uses the
97838         traditional octal encoding.  E.g. "chmod 1 FOO" should set
97839         the other-execute bit of FOO even if S_IXOTH != 1.
97840
97841         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
97842         WOTH, XOTH, ALLM): New macros.
97843         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
97844          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
97845         Use them.
97846         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
97847         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
97848         (mode_compile):
97849         No need to use uintmax_t; unsigned long is long enough.
97850         Don't bother to get suffix since we don't use it.
97851
97852 2000-12-26  Jim Meyering  <meyering@lucent.com>
97853
97854         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
97855         better with autoheader.
97856
97857 2000-12-24  Jim Meyering  <meyering@lucent.com>
97858
97859         * lib/hash.c (is_prime): Return explicit boolean values.
97860         (hash_get_first): Return NULL to appease Irix5.6's 89.
97861         Reported by Nelson Beebe.
97862
97863 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
97864
97865         * lib/localcharset.c (locale_charset): Add support for Win32.
97866
97867 2000-12-18  Paul Eggert  <eggert@twinsun.com>
97868
97869         * lib/physmem.h, lib/physmem.c: New files.
97870
97871         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
97872         (noinst_HEADERS): Add physmem.h.
97873
97874         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
97875         't' for compatibility with Solaris 8 sort.
97876
97877 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
97878
97879         * lib/config.charset: Add support for BeOS.
97880
97881 2000-12-17  Jim Meyering  <meyering@lucent.com>
97882
97883         * m4/dos.m4 (jm_AC_DOS): New file and macro.
97884         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
97885
97886 2000-12-16  Jim Meyering  <meyering@lucent.com>
97887
97888         This bug had a serious impact on chown: `chown N:M FILE' (for integer
97889         N and M) would have treated it like `chown N:N FILE'.
97890
97891         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
97892
97893 2000-12-16  Jim Meyering  <meyering@lucent.com>
97894
97895         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
97896         SHELLS_FILE to a file name that's useful on djgpp systems.
97897         Include stdlib.h.
97898         (ADDITIONAL_DEFAULT_SHELLS): Define.
97899         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
97900         Based mostly on a patch from Prashant TR.
97901
97902 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
97903
97904         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
97905         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
97906         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
97907
97908 2000-12-08  Andreas Schwab  <schwab@suse.de>
97909
97910         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
97911         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
97912
97913 2000-12-07  Jim Meyering  <meyering@lucent.com>
97914
97915         * lib/stripslash.c (ISSLASH): Define.
97916         (strip_trailing_slashes): Use ISSLASH rather than comparing against
97917         `/'.
97918         From Prashant TR.
97919
97920         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
97921         (dir_name_r): Declare this function as static.
97922         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
97923         manifest itself on a name containing a mix of slashes and
97924         backslashes.
97925         Make this function work with names starting with a DOS-style
97926         drive letter and colon prefix.
97927         (dir_name): Append `.' if necessary.
97928         Based mostly on patches from Prashant TR and Eli Zaretskii.
97929
97930         * lib/dirname.h (dir_name_r): Remove prototype.
97931
97932 2000-12-06  Paul Eggert  <eggert@twinsun.com>
97933
97934         * m4/off_t-format.m4: Remove this file.
97935         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
97936
97937 2000-12-06  Jim Meyering  <meyering@lucent.com>
97938
97939         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
97940         replacement strtoull, we may well need the replacement strtoul, too.
97941         Check for declarations of strtoul and strtoull.
97942         Check for strtol.  Mainly as a cue to cause automake to include
97943         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
97944         Check for limits.h -- strtol.c needs it.
97945
97946 2000-12-05  Jim Meyering  <meyering@lucent.com>
97947
97948         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
97949
97950 2000-12-04  Jim Meyering  <meyering@lucent.com>
97951
97952         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
97953         Also include memory.h, stdlib.h, unistd.h if appropriate.
97954         Reported by Andreas Jaeger (conflicting declaration of malloc).
97955
97956 2000-12-02  Jim Meyering  <meyering@lucent.com>
97957
97958         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
97959         * m4/jm-macros.m4 (jm_MACROS): require it.
97960
97961 2000-12-02  Jim Meyering  <meyering@lucent.com>
97962
97963         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
97964
97965 2000-12-01  Paul Eggert  <eggert@twinsun.com>
97966
97967         * lib/memrchr.c: Include <config.h> before any system include file.
97968
97969 2000-11-30  Jim Meyering  <meyering@lucent.com>
97970
97971         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
97972
97973 2000-11-30  Jim Meyering  <meyering@lucent.com>
97974
97975         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
97976
97977 2000-11-29  Paul Eggert  <eggert@twinsun.com>
97978
97979         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
97980
97981 2000-11-26  Jim Meyering  <meyering@lucent.com>
97982
97983         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
97984
97985 2000-11-22  Paul Eggert  <eggert@twinsun.com>
97986
97987         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
97988         size of (size_t) -1; it's not portable.
97989
97990 2000-11-17  Jim Meyering  <meyering@lucent.com>
97991
97992         * lib/strstr.c: Update from GNU libc.
97993
97994 2000-11-17  Akim Demaille  <akim@epita.fr>
97995
97996         * lib/obstack.h: Formatting changes.
97997         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
97998         prevent type checking.
97999         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
98000         cast the value to (void *): assigning a `foo *' to a `void *'
98001         variable is valid.
98002         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
98003
98004 2000-11-16  Jim Meyering  <meyering@lucent.com>
98005
98006         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
98007
98008 2000-11-11  Jim Meyering  <meyering@lucent.com>
98009
98010         * lib/error.c: Add a couple #includes, merging from GNU libc version.
98011
98012 2000-11-10  Jim Meyering  <meyering@lucent.com>
98013
98014         * lib/obstack.h: Update from GNU libc.
98015         * lib/obstack.c: Likewise.
98016
98017 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
98018
98019         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
98020
98021 2000-11-06  Paul Eggert  <eggert@twinsun.com>
98022
98023         * lib/getusershell.c (setusershell): Use rewind rather than
98024         fseek/fseeko, to avoid configuration hassles with fseeko.
98025         Don't bother opening SHELLS_FILE if shellstream is NULL;
98026         it's not necessary.
98027
98028 2000-11-05  Jim Meyering  <meyering@lucent.com>
98029
98030         * lib/makepath.h (make_dir): Declare.
98031         * lib/makepath.c (make_dir): Remove `static' attribute.
98032         Tweak a comment.
98033
98034 2000-11-04  Jim Meyering  <meyering@lucent.com>
98035
98036         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
98037
98038 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
98039
98040         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
98041         last one in a bucket, advance to the next bucket.
98042
98043 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
98044
98045         * lib/fnmatch.c: Do not comment out all the code if we are using
98046         the GNU C library, because in some cases we are replacing buggy
98047         code in the GNU C library itself.
98048
98049 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
98050
98051         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
98052         (regex_compile): Catch bogus \(\1\).
98053
98054 2000-10-30  Paul Eggert  <eggert@twinsun.com>
98055
98056         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
98057         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
98058         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
98059
98060 2000-10-30  Paul Eggert  <eggert@twinsun.com>
98061
98062         * lib/error.h, getline.h, modechange.h:
98063         Remove "2000" from Copyright line, as the file hasn't been
98064         changed this year other than in the copyright notice.
98065
98066         * lib/xalloc.h: Add "2000" to Copyright line, as this file
98067         was changed this year.
98068
98069 2000-10-29  Jim Meyering  <meyering@lucent.com>
98070
98071         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
98072         renaming.
98073         * m4/ls-mntd-fs.m4: Likewise
98074
98075 2000-10-29  Jim Meyering  <meyering@lucent.com>
98076
98077         * lib/xstat.in: Fix grammar in comment.
98078
98079 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
98080
98081         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
98082         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
98083         doesn't define __restrict_arr.
98084
98085 2000-10-28  Jim Meyering  <meyering@lucent.com>
98086
98087         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
98088         (jm_PREREQ_MEMCHR): New function.
98089
98090 2000-10-28  Jim Meyering  <meyering@lucent.com>
98091
98092         * lib/memchr.c: Update from libc.
98093         Adjust for portability:
98094         [HAVE_STDLIB_H]: Include stdlib.h.
98095         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
98096         Undef __memchr, too.
98097         [!weak_alias]: Define __memchr to memchr.
98098
98099         * lib/regex.c: Update from libc.
98100         * lib/regex.h: Likewise.
98101         * lib/getopt1.c: Likewise.
98102         * lib/memcmp.c: Likewise.
98103
98104         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
98105         Avoid using fseek, when possible -- it's broken by design.
98106         Patch by Ulrich Drepper.
98107
98108 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
98109
98110         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
98111         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
98112         Giving in to popular pressure to shut up the compiler with casts.
98113
98114 2000-10-26  Jim Meyering  <meyering@lucent.com>
98115
98116         * lib/strftime.c: Update from libc.
98117
98118 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
98119
98120         * regex.c: More `unsigned char' -> `re_char' changes.
98121         Also change several `int' into `re_wchar_t'.
98122         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
98123         (PUSH_FAILURE_POINTER): Don't cast any more.
98124         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
98125         We want GCC to complain, since this piece of code makes
98126         re_match non-reentrant, which *should* be fixed.
98127         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
98128         (EXTEND_BUFFER): Use RETALLOC.
98129         (SET_LIST_BIT): Don't cast.
98130         (re_wchar_t): New type.
98131         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
98132         that those two functions will always properly return.
98133         (IMMEDIATE_QUIT_CHECK): Cast to void.
98134         (analyse_first): Use recursion rather than an explicit stack.
98135         (re_compile_fastmap): Can't fail anymore.
98136         (re_search_2): Don't check re_compile_fastmap for failure.
98137         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
98138         Now also sets the new value (passed in a new argument).
98139         (re_match_2_internal): Use it.
98140         Also, use a new var `reg' of type size_t when looping through regs
98141         rather than reuse the inappropriate `mcnt'.
98142
98143 2000-10-25  Jim Meyering  <meyering@lucent.com>
98144
98145         * lib/obstack.c: Update from libc.
98146
98147 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
98148
98149         * regex.c (regex_compile): Change the way of handling a range from
98150         a char less than 256 to a char not less than 256.
98151
98152 2000-10-24  Andrew Innes  <andrewi@gnu.org>
98153
98154         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
98155         NT-Emacs only.
98156         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
98157         so that re_search functions only quit when callers expect them to.
98158
98159 2000-10-23  Jim Meyering  <meyering@lucent.com>
98160
98161         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
98162         wrong.  That set_locale call must not have any side effects.
98163         From Paul Eggert.
98164
98165 2000-10-22  Jim Meyering  <meyering@lucent.com>
98166
98167         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
98168         [CYCLIC]: Remove now-unused definition.
98169
98170         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
98171         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
98172         Suggestion from Ulrich Drepper.
98173
98174 2000-10-21  Jim Meyering  <meyering@lucent.com>
98175
98176         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
98177         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
98178         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
98179
98180 2000-10-21  Jim Meyering  <meyering@lucent.com>
98181
98182         * lib/dirname.c (memrchr): Declare if necessary.
98183         (dir_name): Remove the restriction that there be no
98184         trailing slashes.  Now, this code skips past them, effectively
98185         ignoring them.
98186         [TEST_DIRNAME] (main): New unit tests.
98187
98188         * lib/memrchr.c: New file from GNU libc.
98189         Undef __memrchr, too.
98190         [!weak_alias]: Define __memrchr to memrchr.
98191         Guard weak_alias use with `#ifdef weak_alias'.
98192
98193 2000-10-21  Jim Meyering  <meyering@lucent.com>
98194
98195         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
98196         (dir_name): Use dir_name_r.
98197         * lib/dirname.h (dir_name_r): Declare it.
98198
98199 2000-10-17  Jim Meyering  <meyering@lucent.com>
98200
98201         * lib/quote.h (PARAMS): Define and use.
98202         Reported by Akim Demaille.
98203
98204         * lib/getopt.c: Update from libc.
98205
98206 2000-10-16  Jim Meyering  <meyering@lucent.com>
98207
98208         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
98209         setlocale.
98210         From Jan Fedak.
98211
98212 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
98213
98214         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
98215
98216 2000-09-25  Jim Meyering  <meyering@lucent.com>
98217
98218         * lib/md5.h (rol): Define (from GnuPG).
98219
98220         * lib/sha.c: Give credit (GnuPG) where due.
98221         (M): Use rol rather than open-coding it.
98222         Add a FIXME comment.
98223
98224 2000-09-21  Jim Meyering  <meyering@lucent.com>
98225
98226         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
98227         Reported by Michael Stone.
98228
98229 2000-09-20  Jim Meyering  <meyering@lucent.com>
98230
98231         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
98232         (noinst_HEADERS): Add sha.h.
98233         Based on code from Scott G. Miller and from GnuPG.
98234
98235 2000-09-18  Jim Meyering  <meyering@lucent.com>
98236
98237         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
98238         LIBS. Otherwise, everyone ends up linking with -lelf for some
98239         configurations.
98240         Reported by Mike Stone.
98241
98242 2000-09-15  Jim Meyering  <meyering@lucent.com>
98243
98244         * lib/regex.c: Update from libc.
98245
98246 2000-09-10  Jim Meyering  <meyering@lucent.com>
98247
98248         * lib/getopt.c (_getopt_internal): Update from glibc.
98249
98250 2000-09-09  Jim Meyering  <meyering@lucent.com>
98251
98252         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
98253         think it should be used as a general replacement for isascii.
98254         * lib/fnmatch.c: Likewise.
98255         * lib/mbswidth.c: Likewise
98256         * lib/regex.c: Likewise.
98257
98258         Don't use atoi.
98259         * lib/userspec.c: Include sys/param.h and limits.h.
98260         Include xstrtol.h.
98261         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
98262         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
98263         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
98264         UID, GID.  Check range.
98265
98266 2000-09-06  Jim Meyering  <meyering@lucent.com>
98267
98268         * lib/getopt.c (_getopt_internal): Update from glibc.
98269
98270 2000-08-30  Jim Meyering  <meyering@lucent.com>
98271
98272         * lib/strftime.c: Merge in changes from GNU libc.
98273
98274 2000-08-26  Jim Meyering  <meyering@lucent.com>
98275
98276         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
98277         * m4/fpending.m4: New file.
98278
98279 2000-08-26  Jim Meyering  <meyering@lucent.com>
98280
98281         * lib/closeout.c: Include "__fpending.h".
98282         (close_stdout_status): Return right away if there's nothing to flush.
98283
98284         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
98285         * lib/__fpending.c: New file.
98286         * lib/__fpending.h: New file.
98287
98288 2000-08-20  Jim Meyering  <meyering@lucent.com>
98289
98290         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
98291         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
98292         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
98293
98294 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
98295
98296         Improve fileutils installation on systems where running
98297         programs (like install) can't be unlinked.
98298         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
98299         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
98300
98301 2000-08-07  Paul Eggert  <eggert@twinsun.com>
98302
98303         Standardize on "memory exhausted" instead of "Memory exhausted"
98304         or "virtual memory exhausted".
98305         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
98306         "virtual memory exhausted".
98307         * lib/same.c (same_name): Invoke xalloc_die instead of printing
98308         our own message.
98309         * lib/userspec.c (parse_user_spec): Likewise.
98310         * lib/bumpalloc.h: comment fix
98311         * lib/same.c, userspec.c: Include xalloc.h.
98312
98313         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
98314         not char *const and pointing to a constant array.
98315         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
98316         (xrealloc): Comment fix.
98317
98318         * lib/userspec.c (parse_user_spec):
98319         Don't translate a message until just before returning,
98320         to avoid unnecessary translation.
98321
98322 2000-08-07  Jim Meyering  <meyering@lucent.com>
98323
98324         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
98325         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
98326         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
98327         getgroups.c, gethostname.c, getopt.h, group-member.c,
98328         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
98329         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
98330         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
98331         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
98332         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
98333         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
98334         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
98335         yesno.c: Back out Copyright date changes for each file with no change
98336         this year.  This eases coordination with other programs using the same
98337         source code modules.  From Paul Eggert.
98338
98339 2000-08-06  Paul Eggert  <eggert@twinsun.com>
98340
98341         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
98342         not char, for compatibility with glibc 2.1.3 strftime.c.
98343
98344 2000-08-03  Greg McGary  <greg@mcgary.org>
98345
98346         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
98347         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
98348         (EXTEND_BUFFER): Use them.
98349
98350 2000-08-01  Jim Meyering  <meyering@lucent.com>
98351
98352         * lib/dirname.c (ISSLASH): Define.
98353         (BACKSLASH_IS_PATH_SEPARATOR): Define.
98354         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
98355         both `\' and `/' may be use as path separators.
98356         Based on a patch from Prashant TR.
98357
98358 2000-07-31  Paul Eggert  <eggert@twinsun.com>
98359
98360         * lib/quotearg.c (quotearg_n_options): Don't make the initial
98361         slot vector a constant, since it might get modified.
98362
98363 2000-07-31  Jim Meyering  <meyering@lucent.com>
98364
98365         * lib/xmalloc.c: Use `virtual memory exhausted', not
98366         `Memory exhausted'.
98367         * lib/obstack.c (print_and_abort): Likewise.
98368
98369 2000-07-30  Paul Eggert  <eggert@twinsun.com>
98370
98371         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
98372         buffer, so that the caller can always quote one small
98373         component of a "memory exhausted" message in slot 0.
98374         From a suggestion by Jim Meyering.
98375
98376 2000-07-30  Jim Meyering  <meyering@lucent.com>
98377
98378         * lib/makepath.c (make_path): Quote the other instance, too.
98379
98380         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
98381         (STATIC_BUF_SIZE): Define.
98382         (quotearg_n_options): Use only statically allocated storage when
98383         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
98384         than STATIC_BUF_SIZE.
98385
98386 2000-07-29  Jim Meyering  <meyering@lucent.com>
98387
98388         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
98389         * lib/dirname.c (dir_name): Likewise.
98390
98391         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
98392         `/'.
98393
98394         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
98395         (dir_name): Assert that there are no trailing slashes.
98396
98397 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
98398
98399         * lib/mbswidth.h (mbswidth): Add a flags argument.
98400         (mbswidth): New declaration.
98401         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
98402         * lib/mbswidth.c (mbswidth): Add a flags argument.
98403         (mbsnwidth): New function.
98404
98405 2000-07-24  Jim Meyering  <meyering@lucent.com>
98406
98407         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
98408
98409 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98410
98411         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
98412
98413 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98414
98415         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
98416         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
98417         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
98418         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
98419         invoke multibyte primitives.
98420
98421 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98422
98423         * lib/quotearg.c:
98424         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
98425         so that mbstate_t is always defined.
98426
98427         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
98428         be 1 in at least one GCC installation, and this configuration
98429         error is likely to be common.  Ignoring MB_LEN_MAX hurts
98430         performance on hosts that have mbrtowc but have only unibyte
98431         locales, but I assume these hosts are rare.
98432
98433 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98434
98435         * lib/mbswidth.c (_XOPEN_SOURCE):
98436         Don't define; this causes problems on Solaris 7.
98437         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
98438
98439 2000-07-23  Jim Meyering  <meyering@lucent.com>
98440
98441         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
98442         too: getgrgid, getpwuid, getuid.
98443
98444 2000-07-23  Jim Meyering  <meyering@lucent.com>
98445
98446         * lib/basename.c (base_name): Add an assertion.
98447
98448 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
98449
98450         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
98451         shadow its mbsinit function.
98452
98453 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
98454
98455         * lib/mbswidth.h: New file.
98456         * lib/mbswidth.c: New file.
98457         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
98458         (noinst_HEADERS): Add mbswidth.h.
98459
98460 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
98461
98462         * lib/config.charset: Add support for FreeBSD. Improve support for
98463         HP-UX and IRIX 6.
98464
98465 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
98466
98467         * m4/mbswidth.m4: New file.
98468         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
98469
98470 2000-07-15  Jim Meyering  <meyering@lucent.com>
98471
98472         * lib/makepath.c: Include quote.h.
98473         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
98474         corresponding argument in a `quote (...)' call.
98475         Give better diagnostics.
98476
98477         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
98478         (noinst_HEADERS): Add quote.h.
98479
98480         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
98481         from tar's src/misc.c.
98482         * lib/quote.h: New file.  Prototypes for same.
98483
98484 2000-07-14  Paul Eggert  <eggert@twinsun.com>
98485
98486         From a suggestion by Bruno Haible.
98487         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
98488         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
98489         to decide whether to define the BeOS workaround macro;
98490         this adjusts to the change to AC_MBSTATE_T.
98491
98492 2000-07-14  Jim Meyering  <meyering@lucent.com>
98493
98494         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
98495         jm_AC_TYPE_UINTMAX_T.
98496
98497 2000-07-13  Paul Eggert  <eggert@twinsun.com>
98498
98499         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
98500
98501         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
98502         quotearg_buffer_restyled): Add support for
98503         clocale_quoting_style.  Undo previous change to
98504         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
98505         and "{RIGHT QUOTATION MARK}" msgids.
98506
98507 2000-07-10  Paul Eggert  <eggert@twinsun.com>
98508
98509         From a suggestion by Bruno Haible.
98510         * m4/mbstate_t.m4 (AC_MBSTATE_T):
98511         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
98512         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
98513         and mbstate_t, to a single-part test that simply defines mbstate_t.
98514         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
98515         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
98516
98517 2000-07-10  Jim Meyering  <meyering@lucent.com>
98518
98519         * m4/strerror_r.m4: Mirror the correction made in autoconf.
98520
98521         * m4/gnu-source.m4: Output to confdefs.h directly.
98522         Suggestion from Akim Demaille.
98523
98524 2000-07-09  Paul Eggert  <eggert@twinsun.com>
98525
98526         The old behavior of quoting `like this' doesn't look good with
98527         newer, ISO-style fonts.  See:
98528         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
98529
98530         Instead, quote "like this" by default.  Let the translator
98531         tailor the locale-specific quoting behavior by providing
98532         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
98533
98534         * lib/quotearg.c (N_): New macro.
98535         (gettext_default): New function.
98536         (quotearg_buffer_restyled): Use
98537         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
98538         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
98539
98540 2000-07-09  Jim Meyering  <meyering@lucent.com>
98541
98542         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
98543         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
98544
98545         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
98546         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
98547
98548 2000-07-09  Jim Meyering  <meyering@lucent.com>
98549
98550         * lib/Most files: Update copyright dates to include 2000.
98551
98552 2000-07-08  Jim Meyering  <meyering@lucent.com>
98553
98554         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
98555         if not defined.
98556         (xgethostname): Remove now-unnecessary #ifdef.
98557         Move declaration of `err' into loop where it's used.
98558
98559 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98560         and Bruno Haible  <haible@clisp.cons.org>
98561
98562         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
98563         only if the test for an object-type mbstate_t fails.  This
98564         prevents us from mistakenly reporting that mbstate_t is a
98565         system object type after we "#define mbstate_t int" to work
98566         around its lack.
98567
98568 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98569         and Bruno Haible  <haible@clisp.cons.org>
98570
98571         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
98572
98573 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98574
98575         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
98576         to strerror_r.
98577         Include <ctype.h> for use of isalpha.
98578
98579 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98580
98581         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
98582         by allocating a larger buffer. Test the gethostname return value for
98583         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
98584         returns an error and ENAMETOOLONG isn't defined.
98585
98586 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98587
98588         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
98589         dimension.
98590
98591 2000-07-04  Jim Meyering  <meyering@lucent.com>
98592
98593         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
98594         of the deprecated AC_CHECKING.
98595
98596 2000-07-04  Jim Meyering  <meyering@lucent.com>
98597
98598         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
98599         Reported by Bruno Haible.
98600
98601 2000-07-04  Jim Meyering  <meyering@lucent.com>
98602
98603         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
98604         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
98605         lacks mbrtowc.
98606
98607 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98608
98609         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
98610         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
98611
98612 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98613         and Bruno Haible  <haible@clisp.cons.org>
98614
98615         * lib/quotearg.c (mbrtowc):
98616         Assign to *pwc, and return 1 only if result is nonzero.
98617         (iswprint): Use ISPRINT when substituting our own mbrtowc.
98618
98619 2000-07-03  Jim Meyering  <meyering@lucent.com>
98620
98621         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
98622
98623 2000-07-03  Jim Meyering  <meyering@lucent.com>
98624
98625         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
98626         This is necessary to get a definition of e.g., UTMP_FILE on
98627         HP-UX 10.20.
98628         From Bob Proulx.
98629
98630 2000-07-02  Jim Meyering  <meyering@lucent.com>
98631
98632         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
98633
98634         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
98635         AC_LIBOBJ(function_name).
98636         * m4/chown.m4: Likewise.
98637         * m4/fnmatch.m4: Likewise.
98638         * m4/ftruncate.m4: Likewise.
98639         * m4/getgroups.m4: Likewise.
98640         * m4/getline.m4: Likewise.
98641         * m4/group-member.m4: Likewise.
98642         * m4/jm-macros.m4: Likewise.
98643         * m4/lstat.m4: Likewise.
98644         * m4/malloc.m4: Likewise.
98645         * m4/memcmp.m4: Likewise.
98646         * m4/nanosleep.m4: Likewise.
98647         * m4/putenv.m4: Likewise.
98648         * m4/realloc.m4: Likewise.
98649         * m4/regex.m4: Likewise.
98650         * m4/stat.m4: Likewise.
98651         * m4/strftime.m4: Likewise.
98652
98653 2000-07-02  Jim Meyering  <meyering@lucent.com>
98654
98655         * lib/quotearg.c (mbstate_t): Don't define here.
98656
98657 2000-07-02  Jim Meyering  <meyering@lucent.com>
98658
98659         * lib/nanosleep.c (SIGCONT): Define if not already defined.
98660
98661 2000-07-01  Jim Meyering  <meyering@lucent.com>
98662
98663         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
98664
98665 2000-07-01  Jim Meyering  <meyering@lucent.com>
98666
98667         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
98668         problem.
98669
98670 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98671
98672         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
98673         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
98674
98675 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98676
98677         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
98678         per change in ../m4/ls-mntd-fs.m4.
98679         (read_filesystem_list): Ignore symbolic links.
98680
98681 2000-06-29  Jim Meyering  <meyering@lucent.com>
98682
98683         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
98684         for declaration of strcmp.
98685
98686         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
98687
98688         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
98689         Avoid warning by casting result to `char *' to remove `const'.
98690
98691 2000-06-28  Jim Meyering  <meyering@lucent.com>
98692
98693         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
98694         included by quotearg.c, for which we perform this test.  From
98695         Bruno Haible.
98696
98697 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98698
98699         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
98700         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
98701         <utmpx.h> exists, put readutmp.o into LIBOBJS.
98702
98703 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98704
98705         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
98706
98707 2000-06-26  Paul Eggert  <eggert@twinsun.com>
98708
98709         savedir now sets errno on failure and invokes xmalloc to get memory.
98710         Fix a couple of other minor bugs while we're at it.
98711
98712         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
98713         (NAMLEN): Remove macro.
98714         (malloc, realloc): Remove decls.
98715         (stpcpy): Likewise.
98716         ("xalloc.h"): Include.
98717         (NAME_SIZE_DEFAULT): New macro.
98718         (savedir): Use xmalloc / xrealloc to allocate memory.
98719         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
98720         Skip "" directory entries.
98721         Use strlen to calculate directory entry length, since the old method
98722         is rarely used these days and isn't worth supporting.
98723         Don't use a pointer after freeing it.
98724         Check for integer overflow when calculating allocation size.
98725         Use memcpy to copy entries, instead of stpcpy.
98726         Set errno properly when returning NULL.
98727         Check for readdir error.
98728
98729 2000-06-26  Jim Meyering  <meyering@lucent.com>
98730
98731         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
98732
98733 2000-06-25  Jim Meyering  <meyering@lucent.com>
98734
98735         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
98736         Linux header bug when _XOPEN_SOURCE is defined to 500.
98737
98738 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98739
98740         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
98741         deficiency.
98742
98743 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98744
98745         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
98746         Include xalloc.h.
98747         Don't include <stdlib.h>.  Don't declare malloc, realloc.
98748
98749 2000-06-24  Jim Meyering  <meyering@lucent.com>
98750
98751         * m4/strerror_r.m4: Revive this file -- to try out an experimental
98752         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
98753         for which strerror does return char*, but which lacks a conveniently
98754         accessible declaration of the function.  If the compile-test says
98755         strerror_r doesn't work, then resort to a `run'-test that works on
98756         BeOS and segfaults on DEC Unix.
98757
98758 2000-06-24  Jim Meyering  <meyering@lucent.com>
98759
98760         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
98761
98762 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98763
98764         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
98765         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
98766
98767 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98768
98769         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
98770         (mbrtowc, mbstate_t): Define substitutes if
98771         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
98772         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
98773         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
98774
98775 2000-06-23  Jim Meyering  <meyering@lucent.com>
98776
98777         * m4/afs.m4: Add missing AC_MSG_RESULT.
98778         Reported by Bruno Haible.
98779
98780         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
98781         Suggestion from Bruno Haible.
98782
98783 2000-06-23  Jim Meyering  <meyering@lucent.com>
98784
98785         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
98786
98787 2000-06-21  Jim Meyering  <meyering@lucent.com>
98788
98789         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
98790
98791 2000-06-21  Jim Meyering  <meyering@lucent.com>
98792
98793         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
98794         (noinst_HEADERS): Add getstr.h.
98795
98796         * lib/getline.c (getstr): Move into a separate file.
98797         * lib/getstr.c (getstr): New file, extracted from getline.c, with
98798         the following changes: new parameter, delim2; both delim[12]
98799         parameters have type `int', not `char'.  The latter would lose
98800         with 8-bit delimiters.
98801         * lib/getstr.h: New file.
98802
98803 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98804
98805         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
98806         than 1024, return a memory chunk of least possible size, instead
98807         of size PATH_MAX + 2. In the loop, increment the size proportionally.
98808         Use free/xmalloc instead of xrealloc to avoid copying for very long
98809         paths.
98810
98811 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98812
98813         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
98814         the empty string.
98815
98816 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98817
98818         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
98819         address, not strdup.  Include <stdlib.h> and don't declare free().
98820
98821 2000-06-19  Jim Meyering  <meyering@lucent.com>
98822
98823         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
98824
98825 2000-06-18  Jim Meyering  <meyering@lucent.com>
98826
98827         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
98828
98829         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
98830         `checking whether...' message to be consistent with that of the
98831         lstat test.
98832
98833 2000-06-18  Jim Meyering  <meyering@lucent.com>
98834
98835         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
98836         Besides, these days every porting target provides a mkdir function.
98837
98838         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
98839         needed. (this snippet comes from src/system.h).
98840
98841 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
98842
98843         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
98844
98845 2000-06-15  Paul Eggert  <eggert@twinsun.com>
98846
98847         * lib/human.c (adjust_value): New function.
98848         (human_readable_inexact): Apply rounding style even when
98849         printing approximate values.
98850
98851 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98852
98853         * lib/human.c (human_readable_inexact): Allow an input block
98854         size that is not a multiple of the output block size, and vice versa.
98855         Reported by Piergiorgio Sartor.
98856
98857 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98858
98859         * lib/getdate.y (get_date): Apply relative times after time
98860         zone indicator, not before.  Reported by Todd A. Jacobs.
98861
98862 2000-06-13  Jim Meyering  <meyering@lucent.com>
98863
98864         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
98865
98866         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
98867
98868 2000-06-12  Paul Eggert  <eggert@twinsun.com>
98869
98870         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
98871
98872 2000-06-12  Jim Meyering  <meyering@lucent.com>
98873
98874         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
98875         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
98876         optional argument.
98877         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
98878         the optional argument, `lib'.
98879
98880 2000-06-08  Jim Meyering  <meyering@lucent.com>
98881
98882         * m4/largefile.m4: Remove file (now that it's part of autoconf).
98883
98884 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98885
98886         Rewrite largefile configuration so that we don't need to run
98887         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
98888         AC_CANONICAL_HOST in configure.in -- jmm]
98889
98890         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
98891         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
98892         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
98893         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
98894         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
98895         All uses changed.
98896         Instead of inspecting the output of getconf, try to compile the
98897         test program without and with the macro definition.
98898         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
98899         for getconf.  Instead, check for the needed flags by compiling
98900         test programs.
98901
98902 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98903
98904         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
98905
98906 2000-06-04  Jim Meyering  <meyering@lucent.com>
98907
98908         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
98909         SunOS 4.1.4 for which gid_t is an unsigned type.
98910
98911 2000-06-03  Jim Meyering  <meyering@lucent.com>
98912
98913         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
98914         now that autoconf requires that.
98915
98916         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
98917         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
98918         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
98919
98920 2000-06-03  Jim Meyering  <meyering@lucent.com>
98921
98922         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
98923
98924 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98925
98926         * m4/glibc21.m4: New file.
98927         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
98928
98929 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98930
98931         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
98932         newer, don't install charset.alias.
98933         * lib/config.charset: Change the Linux/glibc rules so they become empty
98934         on glibc-2.1 or newer.
98935
98936 2000-06-02  Jim Meyering  <meyering@lucent.com>
98937
98938         * lib/mountlist.c: Back out last change.  Instead, do this...
98939         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
98940         me_dummy member using the same `ignore'-testing code.
98941         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
98942         fs_type strings.
98943         From Mark D. Roth.
98944
98945 2000-05-29  Jim Meyering  <meyering@lucent.com>
98946
98947         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
98948         mounts with the `ignore' attribute.  Based on a patch from
98949         Mark D. Roth.
98950
98951 2000-05-28  Jim Meyering  <meyering@lucent.com>
98952
98953         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
98954         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98955         * m4/stat.m4: Likewise.
98956         * m4/lstat.m4: Likewise.
98957         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
98958
98959         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
98960         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
98961
98962 2000-05-26  Jim Meyering  <meyering@lucent.com>
98963
98964         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
98965
98966 2000-05-24  Jim Meyering  <meyering@lucent.com>
98967
98968         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
98969         autoconf requires that.
98970         * m4/lib-check.m4: Likewise.
98971         * m4/jm-macros.m4: Likewise.
98972         * m4/strftime.m4: Likewise.
98973
98974         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
98975         AC_CHECK_DECLS, now that autoconf requires that.
98976
98977 2000-05-22  Jim Meyering  <meyering@lucent.com>
98978
98979         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98980         * m4/lstat.m4: Likewise.
98981
98982 2000-05-22  Jim Meyering  <meyering@lucent.com>
98983
98984         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
98985
98986 2000-05-20  Jim Meyering  <meyering@lucent.com>
98987
98988         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
98989         (jm_PREREQ): Use it.
98990
98991 2000-05-18  Jim Meyering  <meyering@lucent.com>
98992
98993         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
98994         back, too, since it may have been modified by allocate_entry.
98995         (hash_delete): Rewrite to use neither the assignment operator
98996         nor the comma operator in an if-expression.
98997
98998 2000-05-15  Paul Eggert  <eggert@twinsun.com>
98999
99000         * lib/closeout.c:
99001         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
99002         Remove; no longer needed.
99003         "quotearg.h": Add include.
99004         (file_name): Do not bother to explicitly initialize to NULL; it's less
99005         efficient on some hosts.
99006         (close_stdout_status): Remove test as to whether stdout was already
99007         closed; it breaks for the case "echo x | sort >&-".
99008         Quote file name colons.
99009         Do not assume that _("write error") lacks format strings.
99010
99011 2000-05-15  Jim Meyering  <meyering@lucent.com>
99012
99013         * lib/version-etc.c (version_etc_copyright): Update the copyright
99014         string used in all --version output.
99015
99016 2000-05-14  Jim Meyering  <meyering@lucent.com>
99017
99018         * lib/closeout.c (close_stdout_set_file_name): New function.
99019         (close_stdout_status): Use new file-scoped global.
99020         Return right away if fstat says the stdout file descriptor is invalid.
99021         * lib/closeout.h (close_stdout_set_file_name): Declare.
99022
99023 2000-05-10  Jim Meyering  <meyering@lucent.com>
99024
99025         * lib/closeout.c [default_exit_status]: New file-scoped variable.
99026         (close_stdout_set_status): New function.
99027         * lib/closeout.h (close_stdout_set_status): Declare.
99028
99029 2000-05-09  Jim Meyering  <meyering@lucent.com>
99030
99031         * m4/gettext.m4: Rename this...
99032         * m4/libintl.m4: ...to this.
99033
99034 2000-05-08  Jim Meyering  <meyering@lucent.com>
99035
99036         * lib/long-options.c: Don't include closeout.h.
99037         (parse_long_options): Don't call close_stdout for --version.
99038
99039 2000-05-06  Paul Eggert  <eggert@twinsun.com>
99040
99041         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
99042         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
99043         2.1.3 bug.  This avoids a clash when files like regex.c define
99044         _GNU_SOURCE.
99045
99046 2000-05-06  Jim Meyering  <meyering@lucent.com>
99047
99048         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
99049         (AC_REPLACE_FUNCS): Add strnlen.
99050
99051         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
99052         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
99053
99054         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
99055         AC_SEARCH_LIBS call for nanosleep.
99056         (LIB_NANOSLEEP): Set and AC_SUBST.
99057
99058 2000-05-06  Jim Meyering  <meyering@lucent.com>
99059
99060         * lib/strnlen.c: Undefine __strnlen and strnlen.
99061         [!weak_alias]: Define __strnlen to strnlen.
99062
99063         * lib/atexit.c: New file, from libiberty.
99064
99065 2000-05-06  Jim Meyering  <meyering@lucent.com>
99066
99067         * lib/closeout.c (close_stdout_status): Also check for errors on the
99068         stderr stream.
99069
99070 2000-05-05  Jim Meyering  <meyering@lucent.com>
99071
99072         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
99073         AC_SEARCH_LIBS call for clock_gettime.
99074         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
99075
99076         * m4/search-libs.m4: Update from autoconf.
99077
99078         su doesn't work on Solaris 2.6.
99079         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
99080         <shadow.h>.  Reported by Dragos Harabor.
99081
99082 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
99083
99084         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
99085         memcpy instead of xmalloc, xrealloc, path_concat.
99086         (locale_charset): Treat empty environment variables as absent.
99087         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
99088
99089 2000-05-04  Jim Meyering  <meyering@lucent.com>
99090
99091         * lib/getopt.c: Update from glibc.
99092         * lib/obstack.c: Likewise.
99093         * lib/obstack.h: Likewise.
99094         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
99095         file
99096
99097         * lib/regex.h: Likewise.
99098         * lib/strndup.c: Likewise.
99099         * lib/strnlen.c: New file, from glibc.
99100
99101 2000-05-03  Jim Meyering  <meyering@lucent.com>
99102
99103         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
99104
99105 2000-05-02  Paul Eggert  <eggert@twinsun.com>
99106
99107         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
99108         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
99109         compile-time test, rather than inspecting host and OS, to
99110         decide whether to define _LARGEFILE_SOURCE.
99111
99112 2000-05-01  Jim Meyering  <meyering@lucent.com>
99113
99114         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
99115
99116         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
99117         Based on a patch from Bruno Haible.
99118
99119 2000-05-01  Jim Meyering  <meyering@lucent.com>
99120
99121         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
99122
99123 2000-04-29  Jim Meyering  <meyering@lucent.com>
99124
99125         * lib/path-concat.c: Declare strdup only if it's not defined.
99126         * lib/canon-host.c: Likewise.
99127
99128 2000-04-28  Jim Meyering  <meyering@lucent.com>
99129
99130         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
99131         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
99132         is included first, then limits.h is included by locale.h by libintl.h.
99133         From John David Anglin.
99134
99135 2000-04-25  Jim Meyering  <meyering@lucent.com>
99136
99137         * lib/makepath.c (S_IRWXUGO): Define.
99138         (make_path): Always perform explicit chmod if MODE specifies any
99139         of the `special' permission bits.  Prompted by a bug report against
99140         install from Mate Wierdl and Joost van Baal.
99141
99142 2000-04-18  Jim Meyering  <meyering@lucent.com>
99143
99144         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
99145         (jm_PREREQ): Use it.
99146
99147 2000-04-18  Jim Meyering  <meyering@lucent.com>
99148
99149         * lib/README: New file.
99150
99151         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
99152         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
99153
99154 2000-04-17  Jim Meyering  <meyering@lucent.com>
99155
99156         Get it right :-)
99157         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
99158         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
99159         Suggestion from Akim Demaille.
99160
99161 2000-04-17  Jim Meyering  <meyering@lucent.com>
99162
99163         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
99164         the definition of it to rpl_strftime also defined-away the system's
99165         declaration.
99166
99167 2000-04-15  Jim Meyering  <meyering@lucent.com>
99168
99169         Use `C' to denote so-called `contiguous' files, the same way
99170         that tar does.
99171         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
99172         (ftypelet): Use S_ISCTG.
99173         From Michael Deutschmann.
99174
99175 2000-04-14  Jim Meyering  <meyering@lucent.com>
99176
99177         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
99178         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
99179         clobbered.
99180
99181 2000-04-14  Jim Meyering  <meyering@lucent.com>
99182
99183         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
99184
99185 2000-04-13  Jim Meyering  <meyering@lucent.com>
99186
99187         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
99188         AH_VERBATIM to insert required #ifndef into config.h.in.
99189         Suggestion from Akim Demaille.
99190
99191 2000-04-12  Jim Meyering  <meyering@lucent.com>
99192
99193         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
99194         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
99195         Christian Krackowizer.
99196
99197         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
99198         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
99199         (AC_SYS_LARGEFILE): Require.
99200         (AM_C_PROTOTYPES): Require.
99201
99202 2000-04-08  Jim Meyering  <meyering@lucent.com>
99203
99204         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
99205         names don't conflict.  Reported by Eli Zaretskii.
99206
99207 2000-04-07  Jim Meyering  <meyering@lucent.com>
99208
99209         * lib/putenv.c: Move inclusion of errno.h so it follows that of
99210         sys/types.h, to work around system header problems on AIX 3.2.5.
99211         From Bruno Haible.
99212
99213 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
99214
99215         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
99216         bug.  Deal with the different error behavior of Irix iconv.
99217
99218 2000-04-05  Paul Eggert  <eggert@twinsun.com>
99219
99220         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
99221         IRIX if the installer said otherwise.
99222
99223 2000-04-05  Jim Meyering  <meyering@lucent.com>
99224
99225         Portability tweaks required for ultrix4.3.
99226         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
99227         (jm_CHECK_DECLS): Add getutent to the list of functions.
99228         (_jm_DECL_HEADERS): Add utmpx.h.
99229         From John David Anglin.
99230
99231         * m4/strftime.m4: Back out the 2000-04-02 change.
99232         Instead of that change, simply undefine putenv in the test program.
99233
99234 2000-04-05  Jim Meyering  <meyering@lucent.com>
99235
99236         Portability tweaks required for ultrix4.3.
99237         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
99238         getutent.
99239         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
99240         * lib/canon-host.c: Declare strdup.
99241         * lib/path-concat.c: Likewise.
99242         From John David Anglin.
99243
99244 2000-04-04  Jim Meyering  <meyering@lucent.com>
99245
99246         Be more DOS 8.3-friendly.
99247         * lib/ref-add.sin: Renamed from ref-add.sed.in.
99248         * lib/ref-del.sin: Renamed from ref-del.sed.in.
99249         * lib/Makefile.am: Reflect renaming.
99250         Reported by Eli Zaretskii.
99251
99252         Use a temporary file name that won't clash with `charset.alias'
99253         in the DOS 8.3 name space.
99254         * lib/Makefile.am (charset_tmp): Define.
99255         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
99256         (uninstall-local): Likewise.
99257         Reported by Eli Zaretskii.
99258
99259 2000-04-03  Jim Meyering  <meyering@lucent.com>
99260
99261         * m4/gettext.m4: Fix typo in comment.
99262
99263         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
99264         textutils/configure.in).  Suggestion from Paul Eggert.
99265         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
99266
99267 2000-04-02  Paul Eggert  <eggert@twinsun.com>
99268
99269         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
99270         variable in the shell rather than using putenv, which isn't
99271         portable.  This avoids the configure-time inter-test dependency
99272         on the potentially-renamed putenv function.
99273
99274 2000-03-30  Paul Eggert  <eggert@twinsun.com>
99275
99276         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
99277         before checking struct stat.st_blksize, so that
99278         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
99279
99280 2000-03-29  Paul Eggert  <eggert@twinsun.com>
99281
99282         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
99283         since strftime.c uses HAVE_STRFTIME to decide whether to use
99284         the underlying strftime.
99285
99286 2000-03-29  Paul Eggert  <eggert@twinsun.com>
99287
99288         * lib/time/strftime.c (my_strftime): Make sure we call the system
99289         strftime, not ourselves, when invoking the underlying strftime.
99290
99291 2000-03-24  Jim Meyering  <meyering@lucent.com>
99292
99293         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
99294         (charset_alias): Define.
99295         (install-exec-local): Factor out common code.
99296         (uninstall-local): Split lines longer than 80.
99297         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
99298         (SUFFIXES): Define.
99299         (.sed.in.sed): New rule.  Don't redirect directly to $@.
99300         (CLEANFILES): Add ref-add.sed and ref-del.sed.
99301
99302 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
99303
99304         * lib/config.charset: Output a line containing "Packages using this
99305         file".
99306         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
99307         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
99308         ref-del.sed): New rules.
99309
99310 2000-03-17  Jim Meyering  <meyering@lucent.com>
99311
99312         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
99313         Otherwise, include <strings.h>
99314
99315 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
99316
99317         * lib/unicodeio.c (utf8_wctomb): New function.
99318         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
99319         format instead of in UCS-4 with platform dependent endianness.
99320
99321 2000-03-10  Jim Meyering  <meyering@lucent.com>
99322
99323         * m4/lib-check.m4: Look for getspnam in -lgen, too.
99324         From Marco Franzen.
99325
99326 2000-03-07  Paul Eggert  <eggert@twinsun.com>
99327
99328         * lib/savedir.c (savedir): Work even if directory size is
99329         negative; this can happen with some screwy NFS configurations.
99330
99331 2000-03-06  Jim Meyering  <meyering@lucent.com>
99332
99333         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
99334         if it's NULL (because we ran out of memory).  From Bruno Haible.
99335
99336 2000-03-05  Jim Meyering  <meyering@lucent.com>
99337
99338         * lib/localcharset.c ("path-concat.h"): Include.
99339         (get_charset_aliases): Use path_concat instead of ANSI string
99340         concatenation.
99341
99342         * lib/unicodeio.h (PARAMS): Define.
99343         Use it to guard prototype.
99344
99345 2000-03-04  Jim Meyering  <meyering@lucent.com>
99346
99347         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
99348         for lib/localcharset.c.
99349
99350 2000-03-04  Jim Meyering  <meyering@lucent.com>
99351
99352         * lib/Makefile.am (install-exec-local): Create $(libdir) before
99353         installing into it.
99354         (uninstall-local): Uncomment this rule so `make distcheck' works
99355         once again.
99356
99357         * lib/unicodeio.c (<errno.h>): Include it.
99358         (errno): Declare if not defined.
99359
99360         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
99361
99362         * lib/config.charset: New version, incorporating remarks from a linux
99363         i18n mailing list.  From Bruno Haible.
99364
99365 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
99366
99367         * m4/codeset.m4: New file.
99368         * m4/iconv.m4: New file.
99369         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
99370
99371 2000-03-03  Jim Meyering  <meyering@lucent.com>
99372
99373         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
99374
99375 2000-03-02  Jim Meyering  <meyering@lucent.com>
99376
99377         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
99378         the messages come out on separate lines.
99379
99380         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
99381         rather than jm_CHECK_DECLARATIONS.
99382         * m4/decl.m4: Remove now-unused file.
99383
99384         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
99385         geteuid.
99386
99387 2000-03-02  Jim Meyering  <meyering@lucent.com>
99388
99389         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
99390
99391 2000-03-01  Jim Meyering  <meyering@lucent.com>
99392
99393         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
99394         * lib/unicodeio.c: Likewise.
99395
99396 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
99397
99398         * lib/config.charset: New file.
99399         * lib/localcharset.c: New file.
99400         * lib/unicodeio.h, lib/unicodeio.c: New files.
99401         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
99402         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
99403         (noinst_HEADERS): Add unicodeio.h.
99404         (all-local, install-exec-local, charset.alias): New targets.
99405
99406 2000-02-28  Paul Eggert  <eggert@twinsun.com>
99407
99408         * lib/quotearg.c (ALERT_CHAR): New macro.
99409         (quotearg_buffer_restyled): Use it.
99410
99411 2000-02-27  Jim Meyering  <meyering@lucent.com>
99412
99413         * m4/check-decl.m4: Add getenv to the list.
99414
99415 2000-02-27  Jim Meyering  <meyering@lucent.com>
99416
99417         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
99418         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
99419
99420         * lib/backupfile.c: Guard inclusion of stdlib.h with
99421         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
99422         Declare malloc if needed.
99423
99424         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
99425         `#ifndef HAVE_DECL..'
99426         now that autoconf always defines the HAVE_DECL_ symbols.
99427         * lib/human.c: Likewise.
99428         * lib/same.c: Likewise.
99429         * lib/strtoumax.c: Likewise.
99430
99431         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
99432         declaration check was not run.
99433         * lib/hash.c: Likewise.
99434         * lib/human.c: Likewise.
99435         * lib/same.c: Likewise.
99436         * lib/strtoumax.c: Likewise.
99437
99438         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
99439         `.', then first look up the entire `.'-containing string as a login
99440         name.
99441
99442 2000-02-23  Jim Meyering  <meyering@lucent.com>
99443
99444         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
99445         in place of my hack.
99446
99447 2000-02-18  Paul Eggert  <eggert@twinsun.com>
99448
99449         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
99450         (textint): New typedef.
99451         (parser_control): Member year changed from int to textint.
99452         All uses changed.
99453         (YYSTYPE): Removed; replaced by %union with int and textint members.
99454         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
99455         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
99456         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
99457         (tSNUMBER, tUNUMBER): Now of type <textintval>.
99458         (date, number, to_year): Use width of number in digits, not its value,
99459         to determine whether it's a 2-digit year, or a 2-digit time.
99460         (yylex): Store number of digits of numeric tokens.
99461         Reported by John Kendall.
99462
99463         (parser_control): Changed from struct parser_control to typedef (for
99464         consistency).  All uses changed.
99465
99466         (tID): Removed; not used.
99467         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
99468
99469 2000-02-14  Paul Eggert  <eggert@twinsun.com>
99470
99471         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
99472         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
99473
99474 2000-02-12  Jim Meyering  <meyering@lucent.com>
99475
99476         * lib/userspec.c (ISDIGIT): Define it.
99477         (isdigit): Remove definition.
99478         (is_number): Use ISDIGIT, not isdigit.
99479         <libintl.h>: Include.
99480         (_ and N_): Define.
99481         (parse_user_spec): Mark translatable strings.
99482
99483 2000-02-10  Jim Meyering  <meyering@lucent.com>
99484
99485         With these changes, nanosleep.[ch] are finally enough like the other
99486         lib/* replacement files to compile on a few more losing systems.
99487
99488         * lib/nanosleep.h: Don't include config.h.
99489         Remove prototype from declaration of nanosleep.
99490         (PARAMS): Remove now-unneeded definition.
99491         * lib/nanosleep.c: #undef nanosleep.
99492         (rpl_nanosleep): Rename from nanosleep.
99493
99494 2000-02-10  Jim Meyering  <meyering@lucent.com>
99495
99496         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
99497         gnu_nanosleep to rpl_nanosleep.
99498
99499 2000-02-09  Jim Meyering  <meyering@lucent.com>
99500
99501         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
99502         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
99503
99504 2000-02-08  Akim Demaille  <akim@epita.fr>
99505
99506         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
99507         `[' and `]' and remove uses of `changequote'.
99508         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
99509         (AC_SYS_LARGEFILE): Likewise.
99510         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
99511         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
99512         of changequote.
99513         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
99514         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
99515         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
99516         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
99517
99518 2000-02-05  Jim Meyering  <meyering@lucent.com>
99519
99520         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
99521         Remove explicit use of AC_HEADER_TIME.  It is required by
99522         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
99523         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
99524         in autoconf whereby the expansion of the latter ended up preceding
99525         the expansion of its prerequisite, AC_HEADER_TIME.
99526         Reported by Volker Borchert.
99527
99528 2000-02-03  Jim Meyering  <meyering@lucent.com>
99529
99530         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
99531
99532 2000-02-03  Jim Meyering  <meyering@lucent.com>
99533
99534         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
99535         rather than with `#if HAVE_UTMPNAME'.
99536
99537 2000-02-02  Jim Meyering  <meyering@lucent.com>
99538
99539         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
99540         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
99541         Reported by Eli Zaretskii.
99542
99543 2000-02-01  Jim Meyering  <meyering@lucent.com>
99544
99545         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
99546
99547 2000-01-31  Jim Meyering  <meyering@lucent.com>
99548
99549         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
99550         functions.  Add the time.h and sys/time.h headers along with the
99551         AC_REQUIRE'ment of AC_HEADER_TIME.
99552
99553 2000-01-31  Jim Meyering  <meyering@lucent.com>
99554
99555         * lib/nanosleep.h (nanosleep): Guard declaration with
99556         `#if ! HAVE_DECL_NANOSLEEP'.
99557         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
99558         the declaration in that vendor's sys/timers.h.
99559         Reported by Christian Krackowizer.
99560
99561         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
99562         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
99563         (ISPRINT): Likewise.
99564         Reported by Tom Tromey.
99565
99566 2000-01-30  Jim Meyering  <meyering@lucent.com>
99567
99568         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
99569
99570         * m4/prereq.m4 (utmp_includes): Define.
99571         Check for ut_user and ut_name members in both struct utmpx
99572         and struct utmp.
99573
99574 2000-01-30  Jim Meyering  <meyering@lucent.com>
99575
99576         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
99577         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
99578         header files where only utmpx.ut_user is declared.
99579
99580         * lib/readutmp.h (UT_USER): Define.
99581
99582 2000-01-29  Jim Meyering  <meyering@lucent.com>
99583
99584         * m4/lib-check.m4: New file containing library-related checks from
99585         fileutils and sh-utils (textutils had none).
99586
99587 2000-01-28  Jim Meyering  <meyering@lucent.com>
99588
99589         * m4/perl.m4: Change format of warning message to look more like that
99590         from the missing script.  Suggestion from François Pinard.
99591
99592 2000-01-25  Jim Meyering  <meyering@lucent.com>
99593
99594         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
99595         well as time.h in the compile check.
99596         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
99597         Fix typo in cross-compiling case: s/yes/no/.
99598
99599 2000-01-23  Jim Meyering  <meyering@lucent.com>
99600
99601         * m4/jm-macros.m4: Move df-related tests here from
99602         fileutils/configure.in
99603
99604         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
99605         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
99606
99607         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
99608         s/space/ac_fsusage_space/.
99609         (jm_FILE_SYSTEM_USAGE): Take two parameters.
99610
99611         * m4/ftruncate.m4: New file (derived from part of
99612         fileutils/configure.in).
99613         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
99614         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
99615
99616         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
99617         AC_SUBST these here, rather than just in sh-util/configure.in, so
99618         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
99619         all the same.
99620         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
99621         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
99622         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
99623         (AC_SUBST(POW_LIBM)): Likewise.
99624         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
99625
99626 2000-01-23  Jim Meyering  <meyering@lucent.com>
99627
99628         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
99629         obstack.c.
99630
99631 2000-01-22  Jim Meyering  <meyering@lucent.com>
99632
99633         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
99634
99635         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
99636
99637         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
99638         configure.in
99639         (AC_CHECK_HEADERS): Likewise for sh-utils.
99640         (AC_CHECK_HEADERS): Likewise for textutils.
99641         Merge the three lists of headers.
99642
99643         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
99644         from fileutils' configure.in.
99645
99646         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
99647         code. Moved tests into their own function (_jm_DECL_HEADERS) in
99648         check-decl.m4.
99649
99650         * m4/check-decl.m4: Use #if rather than #ifdef.
99651         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
99652         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
99653         (_jm_DECL_HEADERS): Define new function.
99654         (jm_CHECK_DECLARATIONS): Require it.
99655
99656 2000-01-22  Jim Meyering  <meyering@lucent.com>
99657
99658         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
99659         [! HAVE_DECL_STRTOULL]: Declare strtoull.
99660         Required for some AIX systems.  Reported by Christian Krackowizer.
99661         [TESTING] (main): New function.
99662
99663         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
99664         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
99665         letters.
99666
99667         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
99668         iswprint.
99669
99670         * lib/strverscmp.c (ISDIGIT): Define.
99671         (strverscmp): Use ISDIGIT, not isdigit.
99672
99673 2000-01-19  Jim Meyering  <meyering@lucent.com>
99674
99675         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
99676         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
99677         defines `struct timespec' in <sys/time.h>
99678
99679         * m4/c-bs-a.m4: Remove uses of changequote altogether.
99680         Thanks to Akim for explaining.
99681
99682 2000-01-17  Paul Eggert  <eggert@twinsun.com>
99683
99684         * lib/nanosleep.c (nanosleep):
99685         Don't use SA_INTERRUPT to decide whether to call sigaction, as
99686         POSIX.1 doesn't require SA_INTERRUPT and some systems
99687         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
99688         it's been part of POSIX.1 since day 1 (in 1988).
99689
99690 2000-01-17  Jim Meyering  <meyering@lucent.com>
99691
99692         * lib/interlock: Remove unused file.  Reported by François Pinard.
99693
99694 2000-01-16  Paul Eggert  <eggert@twinsun.com>
99695
99696         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
99697         alert, backslash, formfeed, and vertical tab unnecessarily in
99698         shell quoting style.
99699
99700 2000-01-16  Jim Meyering  <meyering@lucent.com>
99701
99702         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
99703         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
99704         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
99705         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
99706
99707 2000-01-16  Jim Meyering  <meyering@lucent.com>
99708
99709         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
99710         because the latter didn't work.
99711
99712 2000-01-15  Jim Meyering  <meyering@lucent.com>
99713
99714         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
99715         (AC_REPLACE_FUNCS): Add memcpy and memset.
99716         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
99717         Add strpbrk.
99718         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
99719
99720 2000-01-12  Jim Meyering  <meyering@lucent.com>
99721
99722         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
99723         (jm_PREREQ): Use it.
99724         (jm_PREREQ_READUTMP): New macro.
99725         (jm_PREREQ): Use it.
99726
99727 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99728
99729         Quote multibyte characters correctly.
99730         * m4/c-bs-a.m4: New file.
99731         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
99732         (jm_PREREQ): Use it.
99733
99734 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99735
99736         * m4/uintmax_t.m4: Port to autoconf 2.13.
99737
99738 2000-01-08  Jim Meyering  <meyering@ascend.com>
99739
99740         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
99741         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
99742
99743 2000-01-04  Jim Meyering  <meyering@ascend.com>
99744
99745         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
99746         jm_STRUCT_DIRENT_D_TYPE.
99747         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
99748         jm_STRUCT_DIRENT_D_INO.
99749         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
99750         jm_STRUCT_UTIMBUF.
99751         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
99752         renamings.
99753         * m4/utime.m4: Likewise.
99754
99755         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
99756         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
99757
99758 2000-01-03  Paul Eggert  <eggert@twinsun.com>
99759
99760         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
99761         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
99762
99763 2000-01-02  Jim Meyering  <meyering@ascend.com>
99764
99765         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
99766         remember if this is necessary.
99767
99768 1999-12-26  Jim Meyering  <meyering@ascend.com>
99769
99770         * m4/jm-macros.m4: Use it here.
99771         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
99772
99773 1999-12-23  Jim Meyering  <meyering@ascend.com>
99774
99775         * m4/jm-macros.m4: Check for clock_gettime (moved from
99776         fileutils/configure.in)
99777         Check for gettimeofday.
99778
99779 1999-12-20  Jim Meyering  <meyering@ascend.com>
99780
99781         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
99782         autoconf-2.14a-1999-12-20.
99783
99784 1999-12-19  Jim Meyering  <meyering@ascend.com>
99785
99786         * m4/lstat-slash.m4: New file.
99787         * m4/jm-macros.m4: Use the new macro:
99788         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
99789
99790 1999-12-07  Jim Meyering  <meyering@ascend.com>
99791
99792         * m4/perl.m4: Require that File::Compare be available, too.
99793         Too many systems seem to lack it.
99794
99795         * m4/strftime.m4: Add checks for most of the cpp macros tested in
99796         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
99797
99798 1999-11-18  Paul Eggert  <eggert@twinsun.com>
99799
99800         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
99801         problem with the QNX 4.25 shell, which doesn't propagate exit
99802         status of failed commands inside shell assignments.
99803
99804 1999-11-17  Jim Meyering  <meyering@ascend.com>
99805
99806         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
99807
99808 1999-11-07  Jim Meyering  <meyering@ascend.com>
99809
99810         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
99811
99812 1999-11-06  Jim Meyering  <meyering@ascend.com>
99813
99814         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
99815         * m4/jm-macros.m4 (jm_MACROS): Use it here.
99816
99817 1999-11-05  Jim Meyering  <meyering@ascend.com>
99818
99819         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
99820         configure.in of textutils, fileutils, and sh-utils into this one
99821         (shared between those packages) file.
99822         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
99823         AC_STRUCT_ST_BLKSIZE.
99824
99825 1999-11-03  Jim Meyering  <meyering@ascend.com>
99826
99827         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
99828         of AC_CHECK_TYPE checks includes unistd.h.
99829         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
99830         Suggestion from Akim Demaille.
99831
99832 1999-10-30  Jim Meyering  <meyering@ascend.com>
99833
99834         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
99835         m4-quoted string.
99836         * m4/ls-mntd-fs.m4: Likewise.
99837         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
99838         * m4/jm-winsz1.m4: Likewise.
99839
99840         * m4/const.m4: Remove file, since the fix made it into the experimental
99841         version of autoconf.
99842         * m4/mktime.m4: Likewise.
99843
99844         * m4/check-type.m4: Remove file, now that the latest version of
99845         AC_CHECK_TYPE takes a third arg to specify additional #includes.
99846
99847         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
99848         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
99849         AC_CHECK_TYPE.
99850
99851 1999-10-04  Jim Meyering  <meyering@ascend.com>
99852
99853         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
99854
99855 1999-09-22  Paul Eggert  <eggert@twinsun.com>
99856
99857         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
99858         2.95.1 bug with HP-UX 10.20.
99859
99860 1999-09-17  Jim Meyering  <meyering@ascend.com>
99861
99862         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
99863         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
99864         due to missing strdup (against sh-utils-2.0).
99865
99866 1999-08-29  Jim Meyering  <meyering@ascend.com>
99867
99868         * m4/jm-macros.m4: Require jm_BISON.
99869         * m4/bison.m4: New file.
99870
99871 1999-08-17  Paul Eggert  <eggert@twinsun.com>
99872
99873         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
99874         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
99875
99876 1999-08-05  Jim Meyering  <meyering@ascend.com>
99877
99878         * m4/getline.m4: Rename test file from conftestdata to conftest.data
99879         to avoid conflicts with `conftest' on 8+3 filesystems.
99880         Suggestion from Eli Zaretskii.
99881
99882 1999-08-04  Jim Meyering  <meyering@ascend.com>
99883
99884         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
99885         fileutils and sh-utils (textutils's getline test was inadequate).
99886         (AM_FUNC_GETLINE): Run this test.
99887         (AC_CHECK_FUNCS): Check for getdelim.
99888         Reported by Bob Proulx.
99889
99890 1999-08-02  Jim Meyering  <meyering@ascend.com>
99891
99892         * m4/jm-macros.m4: Add a comment.
99893
99894 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99895
99896         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
99897         <inttypes.h> defines strtoumax as a macro (and not as a
99898         function).
99899
99900 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99901
99902         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
99903         that we can shift, multiply and divide unsigned long long
99904         values; Ultrix cc can't do it.
99905
99906 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99907
99908         * m4/mktime.m4: New file, which is a preview of what should appear
99909         in the next public autoconf release.
99910
99911 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99912
99913         * m4/lfs.m4: Remove this file.
99914         * m4/largefile.m4: New file.  It contains the old contents of
99915         lfs.m4, except that all names with prefix AC_LFS have been
99916         changed to use the prefix AC_SYS_LARGEFILE instead, to be
99917         compatible with future autoconf versions.  Also, some minor m4
99918         quoting problems have been fixed.
99919
99920 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99921
99922         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
99923         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
99924         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
99925         and simplify the shell code.
99926
99927 1999-08-01  Jim Meyering  <meyering@ascend.com>
99928
99929         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
99930         m4.
99931
99932 1999-07-20  Jim Meyering  <meyering@ascend.com>
99933
99934         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
99935
99936 1999-07-15  Jim Meyering  <meyering@ascend.com>
99937
99938         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
99939
99940 1999-05-22  Jim Meyering  <meyering@ascend.com>
99941
99942         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
99943
99944 1999-05-20  Jim Meyering  <meyering@ascend.com>
99945
99946         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
99947         Add a colon after each `then' in case $4 is empty.
99948
99949 1999-05-16  Jim Meyering  <meyering@ascend.com>
99950
99951         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
99952
99953 1999-05-10  Jim Meyering  <meyering@ascend.com>
99954
99955         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
99956
99957         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
99958         AC_FUNC_MKTIME.
99959
99960 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
99961
99962         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
99963
99964 1999-05-04  Paul Eggert  <eggert@twinsun.com>
99965
99966         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
99967         not CPPFLAGS, so that linking works correctly in IRIX.
99968
99969 1999-04-30  Paul Eggert  <eggert@twinsun.com>
99970
99971         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
99972
99973 1999-04-20  Paul Eggert  <eggert@twinsun.com>
99974
99975         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
99976         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
99977         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
99978         jm_AC_TYPE_UNSIGNED_LONG_LONG.
99979         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
99980
99981         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
99982
99983 1999-04-20  Jim Meyering  <meyering@ascend.com>
99984
99985         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
99986         AC_REPLACE xstroull if necessary.  From Paul Eggert.
99987         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
99988
99989 1999-04-18  Jim Meyering  <meyering@ascend.com>
99990
99991         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
99992         * m4/jm-macros.m4: Use it.
99993
99994 1999-04-06  Jim Meyering  <meyering@ascend.com>
99995
99996         * m4/strftime.m4: Remove test for %f.
99997
99998 1999-03-29  Jim Meyering  <meyering@ascend.com>
99999
100000         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
100001         superset of the AC_TYPE_* checks in the textutils, fileutils,
100002         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
100003         AC_TYPE_PID_T.
100004
100005 1999-03-28  Jim Meyering  <meyering@ascend.com>
100006
100007         * m4/jm-macros.m4: Define GNU_PACKAGE here.
100008         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
100009         replaced e.g., in the *.sh files of the sh-utils.
100010
100011 1999-03-20  Jim Meyering  <meyering@ascend.com>
100012
100013         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
100014         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
100015         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
100016
100017 1999-03-19  Jim Meyering  <meyering@ascend.com>
100018
100019         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
100020
100021 1999-03-12  Jim Meyering  <meyering@ascend.com>
100022
100023         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
100024
100025 1999-03-07  Jim Meyering  <meyering@ascend.com>
100026
100027         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
100028         declared.
100029
100030 1999-02-17  Jim Meyering  <meyering@ascend.com>
100031
100032         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
100033         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
100034
100035 1999-02-07  Jim Meyering  <meyering@ascend.com>
100036
100037         * m4/group-member.m4: New file -- extracted from sh-utils'
100038         configure.in.
100039
100040         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
100041         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
100042
100043 1999-02-06  Jim Meyering  <meyering@ascend.com>
100044
100045         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
100046         * m4/fnmatch.m4: Likewise.
100047         * m4/getgroups.m4: Likewise.
100048         * m4/lstat.m4: Likewise.
100049         * m4/malloc.m4: Likewise.
100050         * m4/putenv.m4: Likewise.
100051         * m4/realloc.m4: Likewise.
100052         * m4/regex.m4: Likewise.
100053         * m4/stat.m4: Likewise.
100054         * m4/strftime.m4: Likewise.
100055         Suggestion from Alain Magloire.
100056
100057         * m4/chown.m4: Use `.$ac_objext', not `.o'.
100058         * m4/fnmatch.m4: Likewise.
100059         * m4/getgroups.m4: Likewise.
100060         * m4/getline.m4: Likewise.
100061         * m4/lstat.m4: Likewise.
100062         * m4/malloc.m4: Likewise.
100063         * m4/memcmp.m4: Likewise.
100064         * m4/putenv.m4: Likewise.
100065         * m4/realloc.m4: Likewise.
100066         * m4/regex.m4: Likewise.
100067         * m4/stat.m4: Likewise.
100068         * m4/strftime.m4: Likewise.
100069         Suggestion from Alain Magloire.
100070
100071         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
100072         an argument.
100073
100074         * m4/regex.m4: Add a run-time Test for proper operation of
100075         re_compile_pattern.
100076
100077 1999-01-31  Jim Meyering  <meyering@ascend.com>
100078
100079         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
100080
100081 1999-01-30  Jim Meyering  <meyering@ascend.com>
100082
100083         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
100084
100085         * m4/jm-mktime.m4: Make this a wrapper around the official
100086         AM_FUNC_MKTIME rather than my private copy, now that the official one
100087         is up to date.
100088         * m4/mktime.m4: Remove file.
100089
100090         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
100091         * m4/uptime.m4: Likewise.
100092         * m4/uintmax_t.m4: Likewise.
100093
100094 1999-01-28  Jim Meyering  <meyering@ascend.com>
100095
100096         * m4/jm-macros.m4: Use jm_AFS.
100097         * m4/afs.m4: New file (from fileutils' configure.in).
100098
100099         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
100100         * m4/chown.m4: Likewise.
100101         * m4/d-ino.m4: Likewise.
100102         * m4/d-type.m4: Likewise.
100103         * m4/fnmatch.m4: Likewise.
100104         * m4/getgroups.m4: Likewise.
100105         * m4/gettext.m4: Likewise.
100106         * m4/jm-mktime.m4: Likewise.
100107         * m4/jm-winsz2.m4: Likewise.
100108         * m4/lcmessage.m4: Likewise.
100109         * m4/ls-mntd-fs.m4: Likewise.
100110         * m4/malloc.m4: Likewise.
100111         * m4/memcmp.m4: Likewise.
100112         * m4/putenv.m4: Likewise.
100113         * m4/realloc.m4: Likewise.
100114         * m4/st_mtim.m4: Likewise.
100115         * m4/strftime.m4: Likewise.
100116
100117 1999-01-16  Jim Meyering  <meyering@ascend.com>
100118
100119         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
100120         (ARGMATCH_DIE_DECL): Define.
100121
100122 1999-01-12  Jim Meyering  <meyering@ascend.com>
100123
100124         * m4/Makefile.am.in: Rewrite to avoid using fmt.
100125         Reported by Lars Hecking.
100126
100127 1999-01-10  Jim Meyering  <meyering@ascend.com>
100128
100129         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
100130         gross kludge.
100131         * m4/inttypes_h.m4: Likewise.
100132         * m4/lstat.m4: Likewise.
100133         * m4/malloc.m4: Likewise.
100134         * m4/readdir.m4: Likewise.
100135         * m4/realloc.m4: Likewise.
100136         * m4/st_dm_mode.m4: Likewise.
100137         * m4/stat.m4: Likewise.
100138         * m4/utimbuf.m4: Likewise.
100139         * m4/utimes.m4: Likewise.
100140
100141         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
100142         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
100143         comments in config.h.in are meaningful.
100144
100145         * m4/jm-macros.m4: Require autoconf-2.13 here.
100146
100147         * m4/regex.m4: By default, don't use the included regex.c on systems
100148         with glibc 2.  Suggestion from Uli Drepper.
100149
100150 1999-01-02  Jim Meyering  <meyering@ascend.com>
100151
100152         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
100153
100154 1998-12-18  Jim Meyering  <meyering@ascend.com>
100155
100156         * m4/Makefile.am.in (Makefile.am): Simplify rule.
100157         Based on a suggestion from Lars Hecking.
100158
100159 1998-11-16  Paul Eggert  <eggert@twinsun.com>
100160
100161         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
100162
100163 1998-11-16  Jim Meyering  <meyering@ascend.com>
100164
100165         * m4/lfs.m4: Double-quote the `uname...` expression.
100166
100167 1998-11-14  Jim Meyering  <meyering@ascend.com>
100168
100169         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
100170         * m4/stat.m4: Likewise.
100171
100172 1998-11-03  Jim Meyering  <meyering@ascend.com>
100173
100174         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
100175         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
100176
100177 1998-10-18  Jim Meyering  <meyering@ascend.com>
100178
100179         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
100180
100181 1998-10-17  Jim Meyering  <meyering@ascend.com>
100182
100183         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
100184         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
100185         calls for those previously hard-coded headers.  Instead, take a new
100186         parameter.
100187         (jm_CHECK_DECLARATIONS): Reflect interface change.
100188         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
100189         (jm_CHECK_DECL_LOCALTIME_R): New macro.
100190
100191         * m4/mktime.m4: Test for spring-forward gap before long-running test.
100192
100193 1998-10-14  Jim Meyering  <meyering@ascend.com>
100194
100195         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
100196         instead of "TZ=America/Vancouver".  From Paul Eggert.
100197
100198 1998-10-11  Jim Meyering  <meyering@ascend.com>
100199
100200         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
100201         This adds a test for a recently added compatibility fix for mktime.c.
100202         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
100203
100204 1998-09-27  Jim Meyering  <meyering@ascend.com>
100205
100206         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
100207
100208         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
100209         ../configure.in, including a change from Gordon Matzigkeit to allow
100210         cross-compiling for the Hurd.
100211
100212         * m4/glibc.m4: New file/macro to test for the GNU C Library
100213         versions 1 and 2.  From Gordon Matzigkeit.
100214         Indent.
100215
100216 1998-09-21  Jim Meyering  <meyering@ascend.com>
100217
100218         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
100219
100220 1998-08-18  Paul Eggert  <eggert@twinsun.com>
100221
100222         Port nanosecond-resolution times to UnixWare 2.1.2 and
100223         pedantic Solaris 2.6.
100224
100225         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
100226         AC_STRUCT_ST_MTIM.
100227         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
100228         Generate name of ns member, instead of just 1 or undef.
100229         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
100230
100231 1998-08-15  Jim Meyering  <meyering@ascend.com>
100232
100233         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
100234         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
100235         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
100236         instead of jm_TYPE_SSIZE_T.
100237
100238 1998-08-12  Jim Meyering  <meyering@ascend.com>
100239
100240         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
100241
100242 1998-08-02  Jim Meyering  <meyering@ascend.com>
100243
100244         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
100245         in acconfig.h manually.
100246
100247 1998-07-31  Paul Eggert  <eggert@twinsun.com>
100248
100249         * m4/st_mtim.m4: New file.
100250
100251 1998-07-28  Jim Meyering  <meyering@ascend.com>
100252
100253         * m4/utimes.m4: Undef stat.
100254
100255 1998-07-25  Jim Meyering  <meyering@ascend.com>
100256
100257         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
100258         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
100259
100260 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
100261
100262         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
100263         uid and gid actually remain unchanged.
100264
100265 1998-07-07  Jim Meyering  <meyering@ascend.com>
100266
100267         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
100268
100269 1998-07-04  Jim Meyering  <meyering@ascend.com>
100270
100271         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
100272         to prove that this macro can be used in packages without regex.c.
100273
100274 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
100275
100276         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
100277         is to be used.
100278
100279 1998-07-03  Jim Meyering  <meyering@ascend.com>
100280
100281         * m4/gettext.m4: Add -lintl if it's found to be necessary.
100282
100283         * m4/gettext.m4: New file -- from gettext-0.10.35.
100284         * m4/lcmessage.m4: Likewise.
100285         * m4/progtest.m4: Likewise.
100286
100287         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
100288         * m4/jm-macros.m4: Require the new macro.
100289
100290 1998-06-29  Jim Meyering  <meyering@ascend.com>
100291
100292         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
100293         for the definition of NGROUPS (used in a system header included
100294         by sys/mount.h).
100295
100296 1998-06-28  Jim Meyering  <meyering@ascend.com>
100297
100298         * m4/ls-mntd-fs.m4: New file.
100299         * m4/fstypename.m4: New file.
100300
100301         * m4/jm-macros.m4: Require the new macro.
100302         * m4/jm-glibc-io.m4: New file.
100303
100304 1998-05-19  Jim Meyering  <meyering@ascend.com>
100305
100306         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
100307         * m4/lchown.m4: New file.
100308
100309         * m4/Makefile.am.in: New file.
100310         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
100311
100312 1998-05-14  Jim Meyering  <meyering@ascend.com>
100313
100314         * m4/Makefile.am (EXTRA_DIST): Add them.
100315         * m4/jm-macros.m4: New file.
100316         * m4/utimbuf.m4: New file.
100317
100318 1998-05-12  Jim Meyering  <meyering@ascend.com>
100319
100320         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
100321
100322 1998-05-11  Jim Meyering  <meyering@ascend.com>
100323
100324         * m4/isc-posix.m4: New file.
100325
100326 1998-05-10  Jim Meyering  <meyering@ascend.com>
100327
100328         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
100329
100330 1998-05-09  Jim Meyering  <meyering@ascend.com>
100331
100332         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
100333         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
100334         with automake.
100335
100336         * m4/ssize_t.m4: New file.
100337         * m4/mktime.m4: Remove file -- the new automake has this now.
100338
100339 1998-04-26  Jim Meyering  <meyering@ascend.com>
100340
100341         * m4/assert.m4: New file.
100342         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
100343
100344 1998-04-05  Jim Meyering  <meyering@ascend.com>
100345
100346         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
100347         (jm_PREREQ): Use it here.
100348
100349 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
100350
100351         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
100352         in acconfig.h.
100353
100354 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
100355
100356         * m4/prereq.m4: New file.
100357         * m4/error.m4: New file.
100358         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
100359
100360 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
100361
100362         * m4/getline.m4: Don't set am_cv_func_working_getline before the
100363         cache-check for the same variable -- that defeated the purpose of
100364         the test; the test program was never run.  This was a problem only
100365         on systems with losing getline functions -- HP-UX 10.20 is one.
100366         Reported by Bjorn Helgaas.
100367
100368 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
100369
100370         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
100371
100372 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
100373
100374         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
100375
100376         * m4/const.m4: New file.  Use an initializer in this declaration
100377         typedef int charset[2]; const charset x;
100378         Reported by Bob Glickstein.
100379
100380 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
100381
100382         * m4/chown.m4: Fix reversed types on -1 args to chown.
100383         From Kaveh Ghazi.
100384
100385 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
100386
100387         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
100388         Add lseek and memchr.
100389
100390         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
100391         T.E.Dickey <dickey@clark.net> said that some older preprocessors
100392         have a 20-character limit on names.
100393
100394 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
100395
100396         * m4/inttypes_h.m4: New file.
100397         * m4/uintmax_t.m4: New file.
100398         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
100399
100400
100401         -----
100402
100403         Local Variables:
100404         coding: utf-8
100405         End:
100406
100407         Copyright (C) 1997-2013 Free Software Foundation, Inc.
100408
100409         Copying and distribution of this file, with or without
100410         modification, are permitted provided the copyright notice
100411         and this notice are preserved.